1. 程式人生 > 其它 >php使用curl實現ftp檔案下載功能

php使用curl實現ftp檔案下載功能

php用正常的ftp_get函式下載檔案速度特別慢,但是用ftp的客戶端下載很快,所以換了curl的下載方式,速度正常

function file_upload($ftpIp,$ftpUser,$ftpPwd,$path,$fileSavePath){
  $curlobj = curl_init();//初始化
  //傳入ftp的目標檔案,如'ftp://192.168.3.1/test/1.jpg'
  curl_setopt($curlobj,CURLOPT_URL,"ftp://".$ftpIp."/".$path);
  curl_setopt($curlobj,CURLOPT_HEADER,0);//不輸出header
curl_setopt($curlobj,CURLOPT_RETURNTRANSFER,0); //time out after 300s curl_setopt($curlobj,CURLOPT_TIMEOUT,2000);//超時時間 //通過這個函式設定ftp的使用者名稱和密碼,沒設定就不需要! curl_setopt($curlobj,CURLOPT_USERPWD,$ftpUser.':'.$ftpPwd); $outfile = fopen($fileSavePath,'w+'); //儲存到本地檔案的檔名 curl_setopt($curlobj,CURLOPT_FILE,$outfile
); $rtn = curl_exec($curlobj); if(curl_errno($curlobj)){ writeLog('Curl error: ' . curl_error($curlobj)); } fclose($outfile); curl_close($curlobj); if($rtn == 1){ return true; }else{ unlink($fileSavePath);//如果下載失敗,但是本地open了這個檔案,所以要刪除 return false; } }

感謝:傑晶網路

http://www.imxmx.com/Item/1/142628.html