php读取远程的txt文件
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 ( "下载成功!" ); } |
总结
以上所述是小编给大家介绍的php 根据URL下载远程图片、压缩包、pdf等文件到本地,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
原文链接:https://www.cnblogs.com/zxf100/archive/2019/07/26/11250101.html