PHP如何在上传期间获取tmp文件大小
Posted
技术标签:
【中文标题】PHP如何在上传期间获取tmp文件大小【英文标题】:PHP How to get tmp file size during Upload 【发布时间】: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 />
这意味着我认为文件不存在。我们如何将这个想法融合到使用进度条上传成功
【问题讨论】:
Ajax上传进度条,check example 【参考方案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 上传进度条或类似的解决方案
【讨论】:
以上是关于PHP如何在上传期间获取tmp文件大小的主要内容,如果未能解决你的问题,请参考以下文章