【问题标题】:PHP How to get tmp file size during UploadPHP如何在上传期间获取tmp文件大小
【发布时间】:2012-03-29 18:38:10
【问题描述】:

我想实现 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 />

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

【问题讨论】:

标签: php upload progress-bar filesize temp


【解决方案1】:

您可以尝试这样的方法来查看是否有错误,如果没有错误则获取文件大小。

<?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 />";
}
?>

这对你有什么好处?

【讨论】:

  • 欢迎来到 Stack Overflow @Tim Juravich!
  • 我不需要文件大小,但需要 tmp 文件大小。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    • 2011-05-10
    • 2021-11-12
    • 2011-11-21
    相关资源
    最近更新 更多