打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
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、下载压缩文件,这个只可以下载压缩php教程文件

// 下载压缩包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("下载成功!");}

}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用PHP下载文件
文件上传
PHP文件或目录权限检查函数
Asp.net MVC处理文件的上传下载
电子取证中如何查找加密压缩文件?——以linux为视角
解决了WordPress文件上传问题: 一是可上载的文件类型有限制; 二是文件大小限制在2M以内; 三是汉字文件名的文件上载出错
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服