《PHP學(xué)習(xí):php使用curl實(shí)現(xiàn)ftp文件下載功能》要點(diǎn):
本文介紹了PHP學(xué)習(xí):php使用curl實(shí)現(xiàn)ftp文件下載功能,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
本文實(shí)例為大家分享了php實(shí)現(xiàn)ftp文件下載功能,供大家參考,具體內(nèi)容如下PHP實(shí)戰(zhàn)
不知道為什么用正常的ftp_get函數(shù)下載文件速度特別慢,但是用ftp的客戶端下載很快,所以換了curl的下載方式,速度正常PHP實(shí)戰(zhàn)
function file_upload($ftpIp,$ftpUser,$ftpPwd,$path,$fileSavePath){ $curlobj = curl_init();//初始化 //傳入ftp的目標(biāo)文件,如'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);//超時(shí)時(shí)間 //通過這個(gè)函數(shù)設(shè)置ftp的用戶名和密碼,沒設(shè)置就不需要! 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了這個(gè)文件,所以要?jiǎng)h除 return false; } }
測(cè)試下載小文件是正常的,但是如果網(wǎng)速很慢,下載大文件時(shí)候,會(huì)報(bào)一個(gè)ftp timeout的錯(cuò)誤,目前還在不知道是哪里配置問題,還是什么問題.PHP實(shí)戰(zhàn)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持維易PHP.PHP實(shí)戰(zhàn)
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/799.html