2012-03-29 138 views
2

我想實現PHP上傳進度條,我的想法是在每秒鐘後獲得$ _FILES ['file'] ['tmp']的大小。
但是這裏有什麼問題,當一個文件上傳時,在php.ini中設置的臨時目錄中沒有文件,但文件成功上傳,當我嘗試獲取$ _FILES ['file'] ['tmp']的大小時顯示錯誤警告。PHP如何在上傳過程中獲得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 /> 

這意味着我認爲文件不存在。我們如何將這個想法彙集到成功上傳進度條上

+1

Ajax上傳進度條,[檢查示例] – safarov 2012-03-29 18:45:47

回答

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

這是什麼事嗎?

+0

歡迎來到堆棧溢出@ Tim Juravich! – 2012-03-29 18:46:28

+0

我不需要文件大小,但需要tmp文件大小。 – 2012-03-29 18:53:05

0

文件封裝在POST請求中,因此您需要表單之外的內容來上傳文件以及定期監視文件的內容。我建議一些已經提出的解決方案,如ajax上傳進度條或類似