主页 > 知识库 > php 根据URL下载远程图片、压缩包、pdf等文件到本地

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

热门标签:高德地图标注家 广州防封卡外呼系统多少钱一个月 怎么向销售公司推销外呼系统 外呼系统拨打暂时无法接通 广东地市地图标注 长春人工外呼系统服务商 仁和怎么申请400开头的电话 江西手机自动外呼防封系统是什么 哪里办理400电话

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实现下载远程图片保存到本地的方法
  • PHP下载远程图片的几种方法总结
  • php获取远程图片并下载保存到本地的方法分析
  • php正则匹配文章中的远程图片地址并下载图片至本地
  • PHP实现的下载远程图片自定义函数分享
  • php中通过正则表达式下载内容中的远程图片的函数代码
  • 使用ThinkPHP自带的Http类下载远程图片到本地的实现代码

标签:惠州 黔东 厦门 梅河口 湘西 文山 濮阳 海北

巨人网络通讯声明:本文标题《php 根据URL下载远程图片、压缩包、pdf等文件到本地》,本文关键词  php,根据,URL,下载,远程,图片,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《php 根据URL下载远程图片、压缩包、pdf等文件到本地》相关的同类信息!
  • 本页收集关于php 根据URL下载远程图片、压缩包、pdf等文件到本地的相关信息资讯供网民参考!
  • 推荐文章