php读取远程的txt文件(php 根据URL下载远程图片、压缩包、pdf等文件到本地)
类别:编程学习 浏览量:264
时间:2021-11-05 14:52:05 php读取远程的txt文件
php 根据URL下载远程图片、压缩包、pdf等文件到本地1、此方法可以下载图片、压缩包、pdf(亲测),应该所有类型的文件都可以下载到本地,可以试一下
|
//远程路径,名称,文件后缀 function downImgRar( $url , $rename , $ext ){ switch ( $ext ) { case 'jpg' : //下载图片 $file_path = 'uploads/images/' ; break ; case 'png' : //下载图片 $file_path = 'uploads/images/' ; break ; case 'pdf' : //下载PDF $file_path = 'uploads/pdf/' ; break ; case 'rar' : //下载压缩包 $file_path = 'uploads/rar/' ; break ; case 'zip' : //下载压缩包 $file_path = 'uploads/rar/' ; break ; default : $file_path = 'uploads/files/' ; break ; } $ch = curl_init( $url ); curl_setopt( $ch , CURLOPT_HEADER, 0); curl_setopt( $ch , CURLOPT_RETURNTRANSFER, 1); curl_setopt( $ch , CURLOPT_BINARYTRANSFER,1); $rawdata =curl_exec ( $ch ); curl_close ( $ch ); // 使用中文文件名需要转码 $fp = fopen ( $file_path .iconv( 'UTF-8' , 'GBK' , $rename ). "." . $ext , 'w' ); fwrite( $fp , $rawdata ); fclose( $fp ); // 返回路径 return $_SERVER [ 'DOCUMENT_ROOT' ]. $file_path . $rename . "." . $ext ; } |
2、下载压缩文件,这个只可以下载压缩文件
|
// 下载压缩包 function downRar( $file_path ) { $file_name = '/uploads/rar/2009323162920-维C银翘片说明书.rar' ; $file_name = iconv( "utf-8" , "gbk//IGNORE" , $file_name ); // 特别注意!特别注意!特别注意这里,windows下必须开转码,不然直接文件不存 $file_path = $_SERVER [ 'DOCUMENT_ROOT' ] . $file_name ; // 比如windows下这里我的是 "D:/web/public/uploads/rar/2009323162920-维C银翘片说明书.rar" //判断如果文件存在,则跳转到下载路径 if (! file_exists ( $file_path )) { die ( "文件不存在!" ); } $fp = fopen ( $file_path , "r+" ) or die ( '打开文件错误' ); //下载文件必须要将文件先打开。写入内存 $file_size = filesize ( $file_path ); //返回的文件流 Header( "Content-type:application/octet-stream" ); //按照字节格式返回 Header( "Accept-Ranges:bytes" ); //返回文件大小 Header( "Accept-Length:" . $file_size ); //弹出客户端对话框,对应的文件名 Header( "Content-Disposition:attachment;filename=" . substr ( $file_name , strrpos ( $file_name , '/' ) + 1)); //防止服务器瞬间压力增大,分段读取 $buffer = 1024; while (! feof ( $fp )) { $file_data = fread ( $fp , $buffer ); echo $file_data ; } fclose( $fp ); die ( "下载成功!" ); } |
总结
以上所述是小编给大家介绍的php 根据URL下载远程图片、压缩包、pdf等文件到本地,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
原文链接:https://www.cnblogs.com/zxf100/archive/2019/07/26/11250101.html
您可能感兴趣
- url编码及解码(伪静态URL中文乱码问题解决方法)
- 通过接口访问mysql数据库(使用mysql记录从url返回的http GET请求数据操作)
- formdata上传图片参数(data:image data url 文件转为Blob上传后端的方法)
- php符串使用教程学习(PHP实现支持CURL字符串证书传输的方法)
- nginx怎么设置域名访问网页(Nginx服务器如何设置url链接)
- 支付宝接口中notify_url 与 return_url 的区别
- php读取远程的txt文件(php 根据URL下载远程图片、压缩包、pdf等文件到本地)
- phpcurl详解(解决PHP curl或file_get_contents下载图片损坏或无法打开的问题)
- 以双斜杠//开头的URL的含义
- phpcurl缺点(PHP封装cURL工具类与应用示例)
- Request.Url的值有可能会带端口号
- phplaravel快速开发平台(laravel框架实现去掉URL中index.php的方法)
- Server对象的HtmlEncode和UrlEncode
- Server.UrlEncode与HttpUtility.UrlEncode的区别
- 获取当前URL的controller、action
- nginx 根据url限流(浅谈Nginx 中的两种限流方式)
- 览邦G08 Plus SMART WATCH 测评⑱ 全独立这才是智能手表该有的样子(览邦G08PlusSMART)
- 荣耀手表 GS 3 真机亮相 不支持无线充电(荣耀手表GS3)
- 通过体温就能为智能手表充电 原来是用NASA在空间站用的黑科技(通过体温就能为智能手表充电)
- 智能手表兼容Windows和Android 无需充电挑战苹果(智能手表兼容Windows和Android)
- 一天一冲也算表 麦步,一款待机 21 天的智能手表体验评测(一天一冲也算表)
- 魅族智能手表充电座曝光 Type-C 接口,线座分离设计(魅族智能手表充电座曝光)
热门推荐
- mysql报错103(解决Mysql报Invalid default value for“operate_time”错误的问题)
- docker镜像大是否会导致启动慢(docker下载镜像太慢的解决方案)
- dedecms中的有些功能如何修改(dedecms 每个栏目下的文章总数的调用)
- django怎么创建模板文件(django模板加载静态文件的方法步骤)
- jsforeach语句(JS面试题之forEach能否跳出循环详解)
- python读取和写入数据excel(Python向excel中写入数据的方法)
- win7redis安装教程(Docke中安装redis的方法)
- 微信开发接口文档地址
- SQLServer设置客户端使用IP地址登录的图文详解(SQLServer设置客户端使用IP地址登录的图文详解)
- centos6.5 32位安装gitlab(centos7安装部署gitlab服务器的方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9