如果我們僅使用下載或者js的window.location = '檔案路徑/檔案名稱',且檔案類型為瀏覽器能識別的,那麼瀏覽器將會直接開啟檔案而不是彈出下載框下載檔案,比如'.txt','.conf','.bin'檔案等。當然js的document.execCommand('SaveAs','mycodes.txt')(第二個參數為要儲存為的檔案名稱)也能實現下載,但它相容性不好,firefox下無效。這時如果你的環境支援php語言,那麼你可以用header()來實現檔案下載:
先看簡單一實例:
同目錄下有兩個檔案index.php,test.php與供下載檔案adam.txt:
test.php檔案內容:
$filename = $filename = 'adam.txt';
echo "下載";
?>
index.php檔案內容:
$filename = $_REQUEST['filename'];
header("Content-Type:text/plain");
header('Content-Disposition:attachment;filename='.$filename);
header('Content-Transfer-Encodeing: binary');
readfile($filename);
?>
當你開啟test.php並單擊下載時將實現對adam.txt檔案的下載。
同理,我們也可以實現對.jpg,.zip,.rar,.pdf等檔案實現下載,這時只需把index.php中的header("Content-Type:text/plain")稍做修改,比如下面所示
header("Content-Type:application/zip");//zip或者rar
header("Content-Type:application/pdf");//pdf
header("Content-Type:image/jpeg");//圖片
header("Content-Type:audio/mpeg");
摘自 adamboy
http://www.bkjia.com/PHPjc/478349.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/478349.htmlTechArticle如果我們僅使用a href=檔案路徑/檔案名稱下載/a或者js的window.location = 檔案路徑/檔案名稱,且檔案類型為瀏覽器能識別的,那麼瀏覽器將會直接打...