用以下的方式,可以讓大部份瀏覽器 (主要是 IE) 詢問你是否要下載檔案 (而不是直接開啟) 。
<?php
$file_name = "file.name";
$file_path = "/path/to/realfile";
$file_size = filesize($file_path);
header('Pragma: public');
header('Expires: 0');
header('Last-Modified: ' . gmdate('D, d M Y H:i ') . ' GMT');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false);
header('Content-Type: application/octet-stream');
header('Content-Length: ' . $file_size);
header('Content-Disposition: attachment; filename="' . $file_name . '";');
header('Content-Transfer-Encoding: binary');
readfile($file_path);
?>
補充:
•$file_name: 這是給瀏覽器看的檔案名稱,也就是下載視窗會出現的那個檔名;它可以跟實際檔案的名稱不一樣!
•$file_path: 會連到實際檔案的位置,也就是該檔案在伺服器上的真實路徑。
•$file_size: 檔案的大小。
•若php.ini 的 memory_limit 設的太小,會造成網頁一直在讀取, 不會跳出下載視窗的問題。
下方延"伸閱讀-網頁設計三部曲-研究篇(二) "內容中所介紹的"PHP+MySQL快速入門"一書中有詳細介紹各種檔案輸出下載的方法,有興趣的朋友可以參考一下。
參考資料:http://www.jaceju.net/blog/?p=50
延伸閱讀:
(1)網頁設計三部曲-研究篇(二)
(2)剖析 PHP 的 header 問題
2009年12月4日
訂閱:
文章 (Atom)
聖誕跑趴歡樂降★韓版假兩件針織連衣裙$890,新款顯瘦棒球服連帽風衣外套下殺$510,冬新款歐美棉襖棉服連帽短款外套限量↘$530,秋冬新款韓版大碼毛領氣質毛料外套↘$680,快上左耳貓網路購物
您好!如圖太小看不清楚,請 點選此處 看詳細內容 左耳貓蝦皮賣場 https://shopee.tw/hrf5168 左耳貓 露天賣場 http://class.ruten.com.tw/user/index00.php?s=starbox 左耳貓粉...
-
因為網路的 「便利性」 及 「普及性」 使然 ,使得 「網路購物」 成為目前 「當紅炸子雞」 ,然而因為 「宅經濟」 當道,也使得很多人想在網路上賣東西,而這其中不乏 「網路拍賣」 、 「網路開店」 、 「架設購物網站」 ..等方式;而每中方式各有其優缺點,而本篇文章並不針對...
-
您好!如圖太小看不清楚,請 點選此處 看詳細內容 左耳貓蝦皮賣場 https://shopee.tw/hrf5168 左耳貓 露天賣場 http://class.ruten.com.tw/user/index00.php?s=starbox 左耳貓粉...
-
雖然 PHP 有附 PDFlib ,不過使用起來實在有點複雜。 (PHP 說明文件中的範例) FPDF 雖然現在已經停止更新了,但 FPDF 可謂是元老級的 PDF 程式庫,短短的...