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=檔名.副檔名"

--

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 dizzy03 的頭像
    dizzy03

    碎碎念

    dizzy03 發表在 痞客邦 留言(0) 人氣()