当前位置:首页 > PHP教程 > PHP高级教程

php使用curl实现ftp文件下载功能

本文实例为大家分享了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的错误,目前还在不知道是哪里配置问题,还是什么问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持硕编程。



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐