PHP的下載功能怎麼實現,網上教程一堆。以下是我親測可用的。但有兩個需要注意的地方
注意
1.windows系統目錄結構的斜槓“\”,Linux系統的斜槓爲”/”,是相反的。我的代碼在windows中寫好後,部署到Linux上時,無法執行。最後發現導致問題的原因是這個。(後來經過測試,發現window中正反斜槓都可以)。
2.getcwd();方法。這個方法可以得到當前目錄。
// echo getcwd();
$file_url = "./Public/File/haha.apk";
if(!isset($file_url)||trim($file_url)==''){
echo '500';
}
if(!file_exists($file_url)){ //檢查文件是否存在
echo '404';
}
$file_name=basename($file_url);
$file_type=explode('.',$file_url);
$file_type=$file_type[count($file_type)-1];
$file_name=trim($new_name=='')?$file_name:urlencode($new_name);
$file_type=fopen($file_url,'r'); //打開文件
//輸入文件標籤
header("Content-type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: ".filesize($file_url));
header("Content-Disposition: attachment; filename=".$file_name);
//輸出文件內容
echo fread($file_type,filesize($file_url));
fclose($file_type);