[英]Server-side, get progress on sending file
基本上,我想要做的是檢查客戶端下載文件時,我的網絡服務器已發送給客戶端的文件數量。 這有可能嗎? apache是否提供任何可以幫助我完成任務的模塊/擴展?
我使用的是Linux發行版,apache2和php5。 問候。
如果文件設置了正確的“ Content-length”標頭,則瀏覽器將提供此功能。 為什么要在頁面中實現此功能?
解決了。
我只是使用要發送給客戶端的PHP打開文件。
$fh = fopen($filePath, 'r');
然后我通過寫來計算文件大小的60%
$fileSize = filesize($filePath);
$sizeFirst = floor(($fileSize / 100) * 60);
現在,$ sizeFirst變量以數字值包含文件的前60%的長度。 要計算剩余的40%,我使用:
$sizeLast = $fileSize - $sizeFirst;
現在,我可以寫出前60%的內容,執行我的操作,然后寫出其余的40%。
$dataFirst = fread($fh, $sizeFirst);
echo($dataDirst);
// Do my action here.
$dataSecond = fread($fh, $sizeSecond);
echo($dataSecond);
exit();
我需要設置header(); 在寫出此內容之前,必須設置Content-length,Content-type和Content-Disposition,以便向客戶端發送有效的標頭和文件內容。
希望它可以幫助某人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.