gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章php 根据URL下载远程图片、压缩包、pdf等文件到本地由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

1、此方法可以下载图片、压缩包、pdf(亲测),应该所有类型的文件都可以下载到本地,可以试一下 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
//远程路径,名称,文件后缀
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、下载压缩文件,这个只可以下载压缩文件 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// 下载压缩包
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 。

最后此篇关于php 根据URL下载远程图片、压缩包、pdf等文件到本地的文章就讲到这里了,如果你想了解更多关于php 根据URL下载远程图片、压缩包、pdf等文件到本地的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com