1
我有以下的PHP腳本,下載輸出文件,以最終用戶:如何在PHP腳本文件下載期間在Web瀏覽器中啓用下載進度條?
session_write_close();
ob_end_clean();
set_time_limit(0);
if($file = fopen($path, 'rb'))
{
header("Cache-Control: no-cache");
header("Pragma: no-cache");
header("Accept-Ranges: bytes");
header("Content-length: ".(string)(filesize($path)));
header("Content-Disposition: attachment; filename=\"".basename($path)."\"");
header("Content-type: application/octet-stream");
header("Content-Transfer-Encoding: binary");
header("Connection: close");
fpassthru($file);
fclose($file);
}
用戶可以下載該文件就好了,但是當一個大的文件被下載的Web瀏覽器不用剩餘下載文件的百分比顯示進度條。它只顯示當前下載的MB數量。
所以我很好奇,我應該在標題中更改什麼以啓用此下載過程?
PS。下面是截圖:
謝謝,但它並沒有改變它。我也試過'Accept-encoding:gzip;放氣;'。 – c00000fd 2015-02-10 23:42:15
你認爲它的gzip相關嗎?看看請求,你能看到壓縮是否被使用?可以嘗試在Web服務器上關閉以進行測試。有問題的Web服務器是什麼? – ficuscr 2015-02-10 23:48:23
服務器是「Apache/Linux 3.12.35.1418868052」。我如何知道它是否使用gzip?還有什麼是通過PHP轉儲標題的方式? – c00000fd 2015-02-11 00:00:46