php使用curl实现ftp文件下载功能
2017-05-16 15:37
1181 查看
本文实例为大家分享了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的错误,目前还在不知道是哪里配置问题,还是什么问题。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- php使用ftp实现文件上传与下载功能
- PHP使用curl请求实现post方式上传图片文件功能示例
- 使用.net FtpWebRequest 实现FTP常用功能 上传 下载 获取文件列表 移动 切换目录 改名
- commons net jar包实现文件ftp上传和下载功能 (commons net ftp 使用1)
- Java代码使用FTPClient实现ftp文件上传下载和删除的功能
- PHP使用header方式实现文件下载功能
- 使用.net FtpWebRequest 实现FTP常用功能 上传 下载 获取文件列表 移动 切换目录 改名 .
- 使用递归方法实现,向FTP服务器上传整个目录结构、从FTP服务器下载整个目录到本地的功能
- 【转】使用FtpClient类实现FTP文件上传下载
- JAVA中使用FTPClient实现文件上传下载
- php 实现文件下载功能
- 使用文件流下载文件功能实现 [原]
- 关于使用DataGrid的ButtonColumn,动态添加DataGrid列,实现不定列n个文件的下载功能
- JAVA中使用FTPClient实现文件上传下载
- 利用Apache的commons-net实现FTP的文件读取、上传、下载、删除和移动功能
- php文件下载功能实现
- JAVA实现FTP服务器文件的上传,下载,删除功能
- 使用CURL实现http文件下载加一个多任务的封装.
- linux下实现ftp匿名用户的上传和下载文件功能
- php实现从ftp服务器上下载文件树到本地电脑的程序