簡體   English   中英

服務器端,在發送文件方面取得進展

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM