php 根据URL下载远程图片、压缩包、pdf等文件到本地
发布:smiling 来源: PHP粉丝网 添加日期:2021-12-08 10:22:01 浏览: 评论:0
这篇文章主要介绍了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("下载成功!");
- }
Tags: php下载远程图片 php压缩包
- 上一篇:PHP大文件分块上传功能实例详解
- 下一篇:php layui实现前端多图上传实例
相关文章
- ·PHP下载远程图片并保存到本地方法总结(2021-07-06)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)