php 根据URL下载远程图片、压缩包、pdf等文件到本地


Posted in PHP onJuly 26, 2019

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等文件到本地,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
腾讯QQ php程序员面试题目整理
Jun 08 PHP
分享8个最佳的代码片段在线测试网站
Jun 29 PHP
php中unserialize返回false的解决方法
Sep 22 PHP
php 使用file_get_contents读取大文件的方法
Nov 13 PHP
ecshop后台编辑器替换成ueditor编辑器
Mar 03 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
laravel学习笔记之模型事件的几种用法示例
Aug 15 PHP
PHP实现数组的笛卡尔积运算示例
Dec 15 PHP
什么是PHP7中的孤儿进程与僵尸进程
Apr 14 PHP
PHP判断当前使用的是什么浏览器(推荐)
Oct 27 PHP
PHP中散列密码的安全性分析
Jul 26 #PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
Jul 26 #PHP
YII2.0框架行为(Behavior)深入详解
Jul 26 #PHP
php使用socket调用http和smtp协议实例小结
Jul 26 #PHP
php使用curl模拟多线程实现批处理功能示例
Jul 25 #PHP
yii框架使用分页的方法分析
Jul 25 #PHP
php实现的生成排列算法示例
Jul 25 #PHP
You might like
php 过滤危险html代码
2009/06/29 PHP
phpphp图片采集后按原路径保存图片示例
2014/02/18 PHP
destoon二次开发常用数据库操作
2014/06/21 PHP
codeigniter中view通过循环显示数组数据的方法
2015/03/20 PHP
PHP执行shell脚本运行程序不产生core文件的方法
2016/12/28 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
ExtJS GTGrid 简单用户管理
2009/07/01 Javascript
location.href语句与火狐不兼容的问题
2010/07/04 Javascript
提高javascript效率 一次判断,而不要次次判断
2012/03/30 Javascript
javascript中的if语句使用介绍
2013/11/20 Javascript
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
移动端界面的适配
2017/01/11 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
p5.js入门教程和基本形状绘制
2018/03/15 Javascript
JavaScript的级联函数用法简单示例【链式调用】
2019/03/26 Javascript
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
Python制作数据导入导出工具
2015/07/31 Python
Python if语句知识点用法总结
2018/06/10 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
python pandas读取csv后,获取列标签的方法
2018/11/12 Python
pygame游戏之旅 如何制作游戏障碍
2018/11/20 Python
python中类的属性和方法介绍
2018/11/27 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
Python列表推导式实现代码实例
2020/09/09 Python
Python实现异步IO的示例
2020/11/05 Python
html5 利用canvas实现超级玛丽简单动画
2013/09/06 HTML / CSS
伊莱克斯阿根廷网上商店:Tienda Electrolux
2021/03/08 全球购物
盛大二次面试题
2016/11/18 面试题
高中毕业生自我鉴定范文
2013/09/26 职场文书
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
婚礼新郎父母答谢词
2014/01/16 职场文书
销售口号大全
2014/06/11 职场文书
课外活动实习计划
2015/01/19 职场文书
Python基本的内置数据类型及使用方法
2022/04/13 Python