2013-03-19 75 views
3

HTML:

     <input type="file" value="choose file" name="file[]" multiple="multiple"/><br/> 
         <input type="submit" class="submit" value="confirm" /> 
         <input type="hidden" name="uploadFiles" /> 

</form> 

PHP:

if (isset($_POST['uploadFiles'])) { 
    $fileCount = count($_FILES["file"]["name"]); 
    for ($i = 0 ; $i < $fileCount ; $i++) { 
     checking...... 
     move_uploaded_file($_FILES["file"]["tmp_name"][$i],$fileName); 
    } 
} 

目前我使用上面的方法來上傳文件,我發現了,jQuery UI提供進度條功能,但我必須提供上傳狀態。因此,我可以選擇什麼方式來獲得狀態?

+2

http://www.php.net/manual/en/session.upload-progress.php – deceze 2013-03-19 09:50:35

+0

感謝您的幫助 – user782104 2013-03-19 09:51:55

+0

爲什麼你沒有使用jQuery插件? http://blueimp.github.com/jQuery-File-Upload/ – 2013-03-19 09:52:13

回答

2

我的建議是下載一個已經建好的ajax文件上傳腳本並研究一下,因爲它們相當複雜,無法粘貼爲答覆。

我只是看看我的腳本,它似乎是在JS方面,而不是在PHP方面的進展。

如果你已經升級到PHP 5.4,你可以使用

http://www.php.net/manual/en/session.upload-progress.php

+0

感謝您提供PHP解決方案,對不起,我在實現中很困惑,這是否意味着我需要做的是使用while循環並執行ini_get,例如1秒,並獲得處理/總數%並傳遞給jquery ui進度條? – user782104 2013-03-19 10:01:20

1

如果你有PHP 5.4,你可以使用這種方法。 檢查PHP網站上的信息:http://php.net/manual/en/session.upload-progress.php

如果你不是在PHP 5.4,同樣的事情可以用APC 檢查做了這一點:http://www.ibm.com/developerworks/library/os-php-v525/index.html

然而,很多jQuery插件使用嵌入式閃存,這他們可以從中檢索信息。 如上所述:Uploadify

+0

感謝您提供PHP解決方案,對不起,我在實現中感到困惑,是不是意味着我需要做的是使用while循環並執行ini_get,比如說1秒,並獲取處理過的/ total%並傳遞給jquery ui進度條? – user782104 2013-03-19 10:02:18

+0

您需要定義JavaScript中的排序超時(setTimeout)並定期檢查進度,直到知道結束。 – 2013-03-19 10:03:41

+0

這意味着使用ajax來調用checking.php並且php將執行ini並將進程字節格式化爲%? – user782104 2013-03-19 10:08:57

相關問題