繁体   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