[請益] 檔案下載給長度,只有Firefox不行

看板PHP作者 (Chienwen)時間17年前 (2009/02/05 17:02), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
我要讓使用者下載檔案,於是我這樣寫: <?php $size=filesize($filename); header("Content-Length: {$size} bytes"); header("Content-type: application/octet-stream; charset=big5"); header("Accept-Ranges: bytes"); header("Content-Disposition: attachment; filename=\"{$filename}\""); header("Pragma: no-cache"); header("Expires: 0"); readfile($filename); ?> 這樣做的話在 IE 、Opera、 Chrome、Safari 都沒有問題 可是在 Firefox 2或3 卻有點小問題 下載時沒有顯示檔案大小,總是會等好久才會顯示下載完畢 我猜想似乎就是因為Firefox不知道檔案大小,所以總是要等到timeout才能判斷下載結束 可是我明明就有送 Content-Length 呀?而且其他瀏覽器都ok 請問是哪裡有寫錯? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.31.158

02/05 18:04, , 1F
Content-Length應該不用單位 把bytes去掉試試看
02/05 18:04, 1F

02/05 23:00, , 2F
去除 "bytes" 之後就正常了! 謝謝樓上大大
02/05 23:00, 2F

02/13 22:05, , 3F
你試看看你的filename=tex .txt看這樣下載正不正常
02/13 22:05, 3F

02/13 23:30, , 4F
這個問題也是在firefox下會可能發生,你可以試看看!
02/13 23:30, 4F
文章代碼(AID): #19YgiH-- (PHP)
文章代碼(AID): #19YgiH-- (PHP)