我正在尝试测量脚本在接收脚本中将文件上传到PHP脚本所花费的时间。这是一个简短的例子:
<form action="#" enctype="multipart/form-data" method="post">
Upload:
<input type="file" name="datafile" size="40">
<input type="submit" value="Send">
</form>
<?php
$upload_time = time() - $_SERVER['REQUEST_TIME'];
echo $upload_time . " seconds.";
我提交了4MB,25MB,100MB和1.4GB文件。他们从几分之一秒到几乎一分钟都采取了任何措施,但上面的剧本总是产生0秒。
注意: 我知道这是一个重复的问题,但另一个问题的接受答案对我不起作用(至少,最初): Detect how long it takes for a file to upload (PHP)
我在Ubuntu 10.4上使用PHP 5.3.3和Apache 2.2.16尝试过它。
更新
我发现Apache标头和Ajax解决方案都有效。实际上,duplicate question 上的解决方案也可以。
使这些解决方案有效的关键因素是确保php.ini中的以下值足够高:
memory_limit = 1000M
upload_max_filesize = 1000M
post_max_size = 1000M
我接受Apache标头解决方案,因为它只使用PHP。