您好,登錄后才能下訂單哦!
這篇文章主要講解了“php怎么根據(jù)URL下載遠(yuǎn)程圖片、壓縮包、pdf等文件到本地”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“php怎么根據(jù)URL下載遠(yuǎn)程圖片、壓縮包、pdf等文件到本地”吧!
1、此方法可以下載圖片、壓縮包、pdf(親測(cè)),應(yīng)該所有類(lèi)型的文件都可以下載到本地,可以試一下
//遠(yuǎn)程路徑,名稱(chēng),文件后綴 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); // 使用中文文件名需要轉(zhuǎn)碼 $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、下載壓縮文件,這個(gè)只可以下載壓縮文件
// 下載壓縮包 function downRar($file_path) { $file_name = '/uploads/rar/2009323162920-維C銀翹片說(shuō)明書(shū).rar'; $file_name = iconv("utf-8","gbk//IGNORE",$file_name); // 特別注意!特別注意!特別注意這里,windows下必須開(kāi)轉(zhuǎn)碼,不然直接文件不存 $file_path = $_SERVER['DOCUMENT_ROOT'] . $file_name;// 比如windows下這里我的是 "D:/web/public/uploads/rar/2009323162920-維C銀翹片說(shuō)明書(shū).rar" //判斷如果文件存在,則跳轉(zhuǎn)到下載路徑 if (!file_exists($file_path)) { die("文件不存在!"); } $fp = fopen($file_path, "r+") or die('打開(kāi)文件錯(cuò)誤'); //下載文件必須要將文件先打開(kāi)。寫(xiě)入內(nèi)存 $file_size = filesize($file_path); //返回的文件流 Header("Content-type:application/octet-stream"); //按照字節(jié)格式返回 Header("Accept-Ranges:bytes"); //返回文件大小 Header("Accept-Length:" . $file_size); //彈出客戶(hù)端對(duì)話(huà)框,對(duì)應(yīng)的文件名 Header("Content-Disposition:attachment;filename=" . substr($file_name, strrpos($file_name, '/') + 1)); //防止服務(wù)器瞬間壓力增大,分段讀取 $buffer = 1024; while (!feof($fp)) { $file_data = fread($fp, $buffer); echo $file_data; } fclose($fp); die("下載成功!"); }
感謝各位的閱讀,以上就是“php怎么根據(jù)URL下載遠(yuǎn)程圖片、壓縮包、pdf等文件到本地”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)php怎么根據(jù)URL下載遠(yuǎn)程圖片、壓縮包、pdf等文件到本地這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。