这篇文章主要为大家详细介绍了php使用curl实现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的错误,目前还在不知道是哪里配置问题,还是什么问题。

相关推荐:

php curl ftp下载文件,php使用curl实现ftp文件下载功能的方法相关推荐

  1. java ftp下载文件源码_java实现ftp文件下载的源代码

    这几天做的一个项目中用到了ftp文件传输,用java实现了ftp文件的下载. 一.win7下搭建ftp服务器 详见:http://jingyan.baidu.com/article/4b52d7026 ...

  2. php从ftp下载文件到本地,php使用ftp实现文件上传与下载功能

    本文实例为大家分享了php ftp文件上传与下载的具体代码,供大家参考,具体内容如下 ftp文件上传 php自带有ftp操作的函数包,一个比较简单实现的ftp文件上传操作可以通过以下几个步骤来完成: ...

  3. curl -O 下载文件

    curl -O 下载文件 学习了:http://blog.csdn.net/wulong710/article/details/53127606 curl -O http://a.b.c/a.tar ...

  4. cmd命令:在ftp下载文件运行

    cmd /c @echo open FTP地址>>Ex.dat&@echo FTP用户名>>Ex.dat&@echo FTP密码>>Ex.dat&a ...

  5. C#FTP下载文件出现远程服务器返回错误: (500) 语法错误,无法识别命令

    如果下载多个文件的时候,有时候莫名其妙的出现500服务器错误,很有可能是没有设置KeepAlive 属性导致的. 出现应用程序未处理的异常:2015/1/6 11:40:56 异常类型:WebExce ...

  6. 使用FTP下载文件connect.retrieveFileStream(filename) 获取不到InputStream流,返回null的问题

    使用同事的代码做FTP下载文件,InputStream in = connect.retrieveFileStream(fileName);执行这句时InputStream总是获取为空 后来把代码改成 ...

  7. Java实现FTP下载文件到客户端(浏览器)

    目录 一.简介 二.maven依赖 三.配置类 四.工具类 4.1.服务器文件名中文处理 4.2.下载文件名中文处理 五.接口验证 一.简介   我在之前的文章(Java实现文件上传和下载)里讲过非F ...

  8. 【踩坑】Linux java中ftp下载文件,解压文件损坏,以及图片下载打开只显示下载路径的问题

    [踩坑]Linux java中ftp下载文件,解压文件损坏,以及图片下载打开只显示下载路径的问题 一. 问题重现 二. 问题解决思路 1. 确认是不是上传就导致数据出错了 2. 是不是平台问题 三. ...

  9. 从ftp下载文件(word)到本地显示文件损坏或错误

    今天遇到问题从ftp下载文件到本地路径无法查看,发现是文件名称中含有比如空格,问号等非常规字符存在,虽然在本地创建了对应的文件,但是流无法识别一些非常规字符,所以即使下载到本地也显示文件损坏或错误.我 ...

最新文章

  1. 移柯L620模组使用MQTT协议连接移动OneNet云平台(NB-IoT专栏—进阶篇3)
  2. 首届丘成桐女子中学生数学竞赛成绩出炉,成都七中成最大赢家,摘得1金2银1优胜...
  3. vs2012 智能提示消失解决办法
  4. 《笑谈银行IT》—畅谈“银行IT系统”
  5. POJ 1150 The Last Non-zero Digit 《挑战程序设计竞赛》
  6. ubuntu安装linux deepin,如何在Ubuntu中安装Deepin终端 | MOS86
  7. Alexa 网站排名
  8. oracle如何获取自增id,oracle实现自增id
  9. [入门]Ruby on Rails入门教程及开发工具选用
  10. python划分train val test
  11. 微型计算机咋样插网卡,PCI网卡怎么装及插在哪 PCI网卡安装使用图文教程
  12. Freebase SPARQL 查询模板
  13. MEM/MBA英语基础(06)复合句-名词性从句
  14. matlab pca 主元 贡献,主元分析(PCA)原理
  15. 2021/9/12正睿10测Day.3
  16. 索骥馆-走向世界之《用美国小孩的方法学英文动词》扫描版[PDF]
  17. 1602液晶显示摄氏度
  18. [iOS]上传图片和音视频到阿里云
  19. 本地pytorch代码迁移至华为云ModelArts平台训练
  20. uniApp消息推送(极光/阿里云)

热门文章

  1. 企业如何编写有价值的员工手册?
  2. ISI的晶圆级MRAM测试仪
  3. Ceph Calamari 安装(Ubuntu14.04)
  4. 如何用php做商品价格计算表,利用ajax+php实现商品价格计算
  5. google_images——download安装!无错
  6. 疫情之下亚太32万旅游零售岗位被忽视;丹纳赫完成收购GE医疗生命科学业务 | 美通企业日报...
  7. HR怎么通过简历判断程序员是否优秀?
  8. 2015 MVP 社区大课堂开课了, 给App及Web开发者学习最新的Universal Windows 平台知识
  9. python catia 接口_如何使用自己创建的CATIA V5自动化接口与Python?
  10. 前端利用jsencrypt.min.js进行RSA加密(常用在登录密码加密)全局方法封装