php下载pdf并保存图片大小,php根据URL下载图片、压缩包、pdf等远程文件到本地
碼農公社? 210.net.cn??210= 1024??10月24日一個重要的節日--碼農(程序員)節
1、此法可下載圖片、壓縮包、pdf,理論上所有類型的文件都可以下載到本地。^_^
//參數說明,$url:遠程路徑,$rename:名稱,$ext:文件后綴
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/碼農公社(210.net.cn).rar';
$file_name?=?iconv("utf-8","gbk//IGNORE",$file_name);?//?windows下必須開轉碼,不然直接文件不存
$file_path?=?$_SERVER['DOCUMENT_ROOT']?.?$file_name;
//?比如windows下這里我的是?"D:/web/public/uploads/rar/碼農公社(210.net.cn).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下载pdf并保存图片大小,php根据URL下载图片、压缩包、pdf等远程文件到本地的全部內容,希望文章能夠幫你解決所遇到的問題。