0

基本上,我想做的是在客户端下载文件时检查我的网络服务器向客户端发送了多少文件。这甚至可能吗?apache 是否提供任何可以帮助我完成任务的模块/扩展?

我使用 linux 发行版、apache2 和 php5。问候。

4

2 回答 2

0

如果文件具有正确的“内容长度”标头集,浏览器将提供此功能。你为什么要在你的页面中实现这个?

于 2009-11-24T10:43:05.587 回答
0

解决了。

我只需用 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,以便向客户端发送有效的标头和文件内容。

希望它可以帮助某人。

于 2009-11-27T13:18:01.900 回答