中国领先的工业平台

返回贤集网 返回微头条
贤集网技术微头条APP获取

php使用curl实现ftp文件获取功能

 山东大明消毒科技有限公司

下载贤集网APP入驻自媒体

本文实例为大家分享了php实现ftp文件获取功能,供大家参考,具体内容如下

不知道为什么用正常的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;

}

}

复制代码

测试获取小文件是正常的,但是如果网速很慢,获取大文件时候,会报一个ftp timeout的错误,目前还在不知道是哪里配置问题,还是什么问题。

以上就是本文的全部内容,希望对大家的学习有所帮助


最新回复

还没有人回复哦,抢沙发吧~

发布回复

为您推荐

热门交流