我目前有一個帶有單個文件上傳輸入的表單。
原來的形式輸入我已經試過
<input type="file" name="userFile[]" />
and
<input type="file" name="userFile1" />
我也有一個鏈接使用
產生更多的輸入字段如果已經試過的方法:
一)
counter = 1;
function addInput(){
counter ++;
$('#divName').append('<input type="file" name="userFile[]" ' />);
}
b)
var counter = 1;
function addInput(){
counter++;
$('#divName').append('<input type="file" name="userFile'+counter+'" ' />);
}
我不認爲這個問題是JS相關的,但可能是我認爲的服務器。
的問題是,當我終於按提交按鈕,然後通過文件到服務器,並嘗試訪問所有$_FILES['userFile']['name']
/['size']
/['error']
等價值,只有最初的原始形式上傳值可以呼應/印刷。我嘗試上傳大文件進行測試我知道所有文件都已上傳,但一旦它到達服務器端,只能訪問一個文件。
任何人都可以給我一點關於可能會發生什麼? 我希望我解釋這個權利,如果你需要澄清,問我任何問題。
更多信息
經過一些測試,它看起來像jQuery可能是問題,畢竟。 在上述複製字段的方法中,只有第一個原始輸入在文件上傳時才被識別。
但是,如果我創建三個原始輸入字段並將其正常上載到它們,則$_FILES
數組中的所有文件都應該被識別。
那麼爲什麼jQuery生成的字段不在表單中發佈?
你有沒有通過檢查[手冊頁](http://www.php.net/manual/en/features.file-upload.multiple.php)?在特定的關於'max_file_uploads'的說明? – lonesomeday 2010-10-23 17:12:14
我是否理解正確,您嘗試遍歷'$ _FILES ['userFile'] ['name']'數組?嘗試迭代'$ _FILES ['userFile']來代替。 – NOtherDev 2010-10-23 17:16:48
即使我只print_r整個$ _FILES數組,它只會給我第一個上傳的文件,如下所示:Array([userFile] => Array([name] => Array([0] => IMG_0003(2).JPG) [array] [] => Array([0] => image/jpeg)[tmp_name] => Array([0] => C:\ server \ tmp \ php924.tmp)[error] => Array([0] = > 0)[size] => Array([0] => 1777374))) – Ryan 2010-10-23 17:27:12