close
轉自 http://oldgrayduck.blogspot.com/2012/03/php.html
--
多數人在下載檔案的頁面直接連結該檔案, 如下寫法 ----
a href="檔名.副檔名"
這在 windows 系統會有一個可能的狀況,當此類型檔案與 windows 預設開啟功能產生關聯時(通常是以副檔名為判斷依據),一點擊這個下載連結時,windows 就會自動啟動此類型檔案的程式並開啟此檔案,例如:
下載的檔案為 demo.txt,而 .txt 檔在 windows 預設的開啟程式為記事本,所以一點擊此連結,windows 便會啟動記事本並開啟 demo.txt,但實際上我們所希望的是真正的下載 demo.txt 並儲存在硬碟內。
要達到此目的, 我們需要另一個專門下載檔案的 PHP 小程式, 假設我們將這個小程式命名為 downloadfile.php, 其程式內容如下 ----
1
2
3
4
5
6
7
8
|
if (isset( $_GET [ 'file' ])) { // $_GET['file'] 即為傳入要下載檔名的引數 header( "Content-type:application" ); header( "Content-Length: " .(string)( filesize ( $_GET [ 'file' ]))); header( "Content-Disposition: attachment; filename=" . $_GET [ 'file' ]); readfile( $_GET [ 'file' ]); } |
另外, 改寫原下載頁面的 html 語法 ----
a href="downloadfile.php?file=檔名.副檔名"
--
全站熱搜
留言列表