当前位置:首页 > 日记 > 正文

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

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.webp'  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的错误,目前还在不知道是哪里配置问题,还是什么问题。

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

相关文章

怎么在excel2013中使用反向选择在e

怎么在excel2013中使用反向选择在e

选择,教程,方法,电脑软件,  在Excel2013的使用中,反向选择时候是非常方便的一个功能,如果合理利用,往往会有奇效。下面小编教你怎么在excel2013中使用反向选择的方法,希望对你有帮助!excel2013中使用反向选择的方法教程在表格后空白的一列表头…

jsp中获得路径的两种方法和获得url

jsp中获得路径的两种方法和获得url

路径,方法,推荐,两种,电脑软件,<%=request.getContextPath()%>是解决相对路径的问题,可返回站点的根路径。<a href="<%=request.getContextPath()%>/XXX.jsp"> //这样获得的是绝对路径<a href="XXX.jsp"> //这样获得的是相对路径<a href…

3389终端服务器超出连接数的解决办

3389终端服务器超出连接数的解决办

连接数,终端,服务器,解决办法,电脑软件,因为使用了3389登录服务器后没有及时注销或者其他情况而泛起再次登陆时提示:终端服务器超出了最大答应连接数。解决这个现像的办法有好多,例如百度上说的,用组策略修改连接数上限,或是用复杂的cmd命令!但…

jquery.masonry瀑布流效果

jquery.masonry瀑布流效果

瀑布流,效果,电脑软件,jquery,masonry,一、分别加载jquery插件与jquery.masonry插件<script src="js/jquery-1.8.1.min.js"></script><script src="js/jquery.masonry.min.js"></script>二、瀑布流局部样式代码.container-fluid { padd…

PHP空值检测函数与方法汇总

PHP空值检测函数与方法汇总

函数,空值,检测,方法,电脑软件,几乎任何入口的HTTP请求我们都会去检测它携带的参数,类似 isset() empty() 的函数一定不少见。以下的测试结果基于 PHP7.16是否定义判断: isset()可以使用 isset() 函数判断一个变量是否定义,数组内某个元素是否…

PS怎么快速设计一款宝蓝色的星空背

PS怎么快速设计一款宝蓝色的星空背

宝蓝,星空,背景,快速,电脑软件,好的背景就有一个很好的衬托主题,这次设计的是一个看上去神秘又浪漫的风格哦。软件名称:Adobe Photoshop 8.0 中文完整绿色破解版软件大小:150.1MB更新时间:2015-11-041、新建一个大小1920 px 1200 px(RGB颜色模…

javascript 玩转Date对象 | 实例讲

javascript 玩转Date对象 | 实例讲

对象,玩转,实例,电脑软件,javascript,前言:最近在做一个日期选择功能,在日期转换的时候经常换到晕,总结一下常用的Date对象的相关用法,方便日后直接查看使用~1. new Date()的使用方法有:不接收任何参数:返回当前时间;接收一个参数x: 返回1970年1月1…

深入理解React中何时使用箭头函数

深入理解React中何时使用箭头函数

函数,箭头,电脑软件,React,前言相信大家当想起箭头函数时,脑海里可能会浮现 棒,酷,简洁,有趣 等形容词,其实,我们存在一些 更充分的理由 使我们在联想起 箭头函数 时不得不想到的,本文详细的给大家介绍了关于React何时使用箭头函数的相关内容,分享…

BootStrap表单时间选择器详解

BootStrap表单时间选择器详解

表单,时间选择器,详解,电脑软件,BootStrap,前言  在大多数项目中 用户界面的时间选择是必不可少的,在项目的用户体验友好度这个大前提下,不让用户自己输入时间就显得格外的重要。而且用户输入时间还会存在格式不固定的问题,加大后台的开发量…

有关JS中的0,null,undefined,[],{}

有关JS中的0,null,undefined,[],{}

关系,电脑软件,null,JS,false,0与一些虚值的比较:0与false0==falsetrue0与'':0==''true 0与[]:0==[]true 0与NaN:0==NaNfalse0与undefined0==undefinedfalse0与null0==nullfalse 0与{}0=={}false''空值与一些值的比较'' == falsetrue…

SeaJS中use函数用法实例分析

SeaJS中use函数用法实例分析

实例分析,函数用法,电脑软件,SeaJS,本文实例讲述了SeaJS中use函数用法。分享给大家供大家参考,具体如下:有了 define 等模块定义规范的实现,我们可以开发出很多模块。但光有一堆模块不管用,我们还得让它们能跑起来。在 SeaJS 里,要启动模块系统…

JS时间控制实现动态效果的实例讲解

JS时间控制实现动态效果的实例讲解

控制,动态,实例,效果,时间,如下所示:<script> BOM //Bowers Object Model 浏览器对象模型 setTimeout()// 延迟执行一次 setInterval()// 间隔执行 var a = 300; window.setTimeout('abc(a)',3000);// 自定义函数赋值 functi…