当前位置: 首页 > 编程笔记 >

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

晏和风
2023-03-14
本文向大家介绍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.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的错误,目前还在不知道是哪里配置问题,还是什么问题。

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

 类似资料:
  • 本文向大家介绍python2.7实现FTP文件下载功能,包括了python2.7实现FTP文件下载功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python实现FTP文件下载功能的具体代码,供大家参考,具体内容如下 代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 问题内容: 我需要使用curl下载远程文件。 这是我的示例代码: 但是它不能处理大文件,因为它首先读取内存。 是否可以将文件直接流式传输到磁盘? 问题答案:

  • 本文向大家介绍SpringMVC实现文件下载功能,包括了SpringMVC实现文件下载功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了SpringMVC文件下载的具体代码,供大家参考,具体内容如下 两个案例   1.为登录用户提供下载服务。   2.阻止仅通过输入网址即可获取下载。 文件下载概览   为了将文件发送给浏览器,我们需要在控制器中完成以下操作: 对请求处理方法使用vo

  • 本文向大家介绍Python使用socket_TCP实现小文件下载功能,包括了Python使用socket_TCP实现小文件下载功能的使用技巧和注意事项,需要的朋友参考一下 服务器 客户端 运行结果(服务器): 运行结果(客户端): 文件结果; 到此这篇关于Python使用socket_TCP实现小文件下载功能的文章就介绍到这了,更多相关Python小文件下载内容请搜索呐喊教程以前的文章或继续浏览下

  • 本文向大家介绍vue使用axios实现excel文件下载的功能,包括了vue使用axios实现excel文件下载的功能的使用技巧和注意事项,需要的朋友参考一下 前端VUE页面上的导出或者下载功能,一般是调用后端的一个接口,由接口生成excel,word这些文件的流信息,返回给vue,然后由vue去构建下载的动作,这边整理了一下,封装了一下,方便以后复用。 封装一个download文件 使用年月日时

  • 我有一个证书文件“cert. p12”和这个证书的密码“yxc123yxc”。有了这个,我可以对网站进行身份验证,下载一个xml文件。 我如何在php中做到这一点?尝试过这样做,但“$响应”是错误的。