[請益] Header 下載的一個問題

看板PHP作者 (夏天到了,冷不起來了說)時間16年前 (2009/12/17 23:51), 編輯推噓1(1011)
留言12則, 5人參與, 最新討論串1/4 (看更多)
之前寫了一個檔案下載的程式 getfile.php 利用Header 下載開啟檔案。 不過最近遇到一個情形是 如果檔案是還沒有被支援的格式(像是沒灌Acrobat Reader遇到.pdf) $filename = "manul.pdf" header("Content-Type:application/pdf"); header("Content-Disposition: inline ; filename={$filename}\n"); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".filesize($filename)); @readfile($filename); 在IE下會變成要如何處理"getfile.php"的下載對話框 Firefox是會出現要如何處理"manul.pdf"的對話框 這裡是要讓browser直接開啟檔案 請問http header的格式 能不能在browser遇到不認識的檔案時 變成下載指定檔案。 ..還是這又是IE下無解的問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.203.39

12/18 00:31, , 1F
你 IE 的版本? 我用 IE 8 來試是 ok 的
12/18 00:31, 1F

12/18 00:32, , 2F
另外,filename={$filename}\n"); 這一段很不解...
12/18 00:32, 2F

12/18 00:40, , 3F
IE6 , 那段不是指定檔名給browser嗎
12/18 00:40, 3F

12/18 07:16, , 4F
你的clinet端有裝開啟pdf的軟體嗎?
12/18 07:16, 4F

12/18 12:40, , 5F
我第四不就有註明在未安裝相關程式的情況下了嗎?
12/18 12:40, 5F

12/18 18:24, , 6F
你在做不可能的要求
12/18 18:24, 6F

12/18 18:35, , 7F
而且你內文矛盾, 他就是因為沒裝軟體不認識才變下載的
12/18 18:35, 7F

12/18 19:03, , 8F
你沒仔細看 filename=$filename 就好了 不用括起來
12/18 19:03, 8F

12/18 19:05, , 9F
推 AndCycle 的話,你的程式最後一定都會跑下載視窗
12/18 19:05, 9F

12/18 19:06, , 10F
這程式不管你是認識的檔案 or 不認識的檔案 都會變下載
12/18 19:06, 10F

12/18 19:46, , 11F
設定 Content-Disposition: attachment; filename=$fn
12/18 19:46, 11F

12/18 19:46, , 12F
這樣試試看?
12/18 19:46, 12F
文章代碼(AID): #1BAbDq3y (PHP)
文章代碼(AID): #1BAbDq3y (PHP)