PHP如何在上载期间获取tmp文件大小

时间:2012-03-29 18:38:11

标签: php upload progress-bar filesize temp

我想实现PHP上传进度条,我的想法是每秒后获得$ _FILES ['file'] ['tmp']的大小。
但是这里有什么问题,当一个文件上传时,在php.ini中设置临时目录中没有文件,但文件成功上传,当我试图获得$ _FILES ['file'] ['tmp']的大小时显示错误警告。

<br />
<b>Warning</b>:  filesize() [<a href='function.filesize'>function.filesize</a>]: stat failed for D:\Program Files\webserver\temp\phpDD05.tmp in <b>D:\Program Files\webserver\www\test\upload\uploading.php</b> on line <b>5</b><br />

这意味着我认为文件不存在。我们如何将这个想法融合到成功上传进度栏

2 个答案:

答案 0 :(得分:0)

您可以尝试这样的操作来查看是否存在错误,然后在没有错误的情况下获取文件大小。

<?php
if ($_FILES["file"]["error"] > 0)
{
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
}
?>

这对你有什么用?

答案 1 :(得分:0)

文件在POST请求中被封装,因此您需要表单以外的内容来上传文件以及定期监视文件的内容。我建议一些已经制定的解决方案,如ajax上传进度条或类似的