php使用curl实现ftp文件下载功能
本文实例为大家分享了php实现ftp文件下载功能,供大家参考,具体内容如下
不知道为什么用正常的ftp_get函数下载文件速度特别慢,但是用ftp的客户端下载很快,所以换了curl的下载方式,速度正常
functionfile_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);
//timeoutafter300s
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('Curlerror:'.curl_error($curlobj));
}
fclose($outfile);
curl_close($curlobj);
if($rtn==1){
returntrue;
}else{
unlink($fileSavePath);//如果下载失败,但是本地open了这个文件,所以要删除
returnfalse;
}
}
测试下载小文件是正常的,但是如果网速很慢,下载大文件时候,会报一个ftptimeout的错误,目前还在不知道是哪里配置问题,还是什么问题。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短