2010-09-10 59 views
0

我正在使用jquery的uploadify插件並將多個文件設置爲true。我如何在服務器端檢索這些文件?我如何獲得服務器端的所有文件

我們需要在文件數組$_FILES['fileInputName']中指定文件輸入名稱。但我只有一個文件輸入呈現在提交多個文件的表單上。我如何檢索它們?

感謝提前:)

+0

它們應該都在$ _FILES []數組中。你可以發佈你的任何代碼嗎?那裏可能有錯字或其他一些錯誤。 – 2010-09-10 14:25:53

回答

3

Uploadify爲每個上傳的文件單獨調用上傳腳本。

據我所知,沒有辦法告訴PHP上傳腳本里面的當前上傳是否是隊列中的最後一個。

您需要在客戶端使用onCompleteonAllComplete回調。在onComplete內部,您可以將每個成功上載添加到數組。在onAllComplete中,您可以發出一個Ajax請求,將上傳的文件列表發送到PHP腳本。

Uploadify docs

+0

不錯。正是我需要的。 – TCM 2010-09-10 14:30:41

+0

你將不得不單獨分配uid到上傳文件,並且還將序列化的表格副本發送到支持的端點,以計算將要發送的文件數量,然後在每個在PHP端完成的文件之後添加一個會話變量,然後用另一個javascript心跳來檢查backedend ..有可能你只需要讓想象力和患者能夠正確地使用它。安全性也是一個很重要的因素 – RobertPitt 2010-09-10 14:33:15

-1

foreach

PHP:

foreach ($_FILE as $key => $value) { 
    echo "_FILE : $key; Valor: $value<br />\n"; 
} 

但如果jQuery插件逐個發送文件,你應該將數據文件保存在用戶會話。

if (!isset($_SESSION['FILES_UPLOAD'])) 
    $_SESSION['FILES_UPLOAD'] = array(); 

foreach ($_FILE as $key => $value) { 
    $_SESSION['FILES_UPLOAD'][$key] =$value; 
} 
+2

無法使用Uploadify工作的具體方式。 – 2010-09-10 14:28:08

+0

重新更新:在會話中存儲文件是一個聰明的想法。然而,它有兩個缺點:1.你永遠無法知道它是否是隊列中的最後一個文件;和2.如果同一用戶在不同的窗口中運行多個上傳,您將遇到混淆。你必須發送一個唯一的密鑰來解決後者 - 在做之前,我真的認爲你最好使用Uploadify的回調函數。 – 2010-09-10 14:34:37

+0

Pecka,在用戶點擊開始之前開始上傳之前,您需要序列化表單並將其發送到後端,現在我們知道預期哪些文件將會到來,因爲每個文件都會進入,您將從會話中刪除,直到您下降到你的最終文件,請閱讀我上面的評論。 – RobertPitt 2010-09-10 14:37:06

相關問題