php使用curl实现ftp文件下载功能实例代码
发布:smiling 来源: PHP粉丝网 添加日期:2018-08-06 11:07:35 浏览: 评论:0
本文实例为大家分享了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'
- <a href="/tags.php/curl_setopt/" target="_blank">curl_setopt</a>($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=<a href="/tags.php/fopen/" target="_blank">fopen</a>($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){
- returntrue;
- }else{
- unlink($fileSavePath);//如果下载失败,但是本地open了这个文件,所以要删除
- returnfalse;
- }
- //phpfensi.com
- }
测试下载小文件是正常的,但是如果网速很慢,下载大文件时候,会报一个ftp timeout的错误,目前还在不知道是哪里配置问题,还是什么问题。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本网站。
Tags: phpcurl ftp文件下载
相关文章
- ·php使用curl如何实现简单模拟提交表单功能的代码实例(2018-08-06)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)