2013-01-22 19 views
2

我已經使用下面的表格將多個圖像上傳到我的服務器。如何循環瀏覽HTML5多文件上傳?

<form name="addimageForm" id="addimageForm" method="post" action="" enctype="multipart/form-data">    
    Gallery Image: 
    <input name="image_name[]" type="file" id="image_name" multiple="true"> 
    <input type="submit" name="addCatImage"/> 
</form> 

但我很困惑我應該如何循環,以便我可以在我的數據庫中插入多個圖像。我使用下面的代碼,當我運行它時,即使當我選擇一個圖像時,我的表格中也插入了4行。我想它是插入所有的數組字段(名稱,大小,tmp_name)。我如何解決這個問題?

foreach ($_FILES[image_name] as $file) { 
    $access->uploadSubCatImages(); 
} 

回答

0

$ _FILES是多維的。使用您使用的語法,文件名將可在

$_FILES['image_name']['name'][0] # for the first one 
$_FILES['image_name']['name'][1] # for the second one 

等等。 以下是供參考的鏈接Uploading Multiple Files

0

首先,索引到$ _FILES陣列是。雖然PHP會'吃'它,只是拋出E_NOTICE,但你不應該這樣做。改爲使用'image_name'。 (注意引號)

此外,陣列結構可能與您已經展示的不同。下面將循環槽的filen埃姆斯例如:

foreach ($_FILES['image_name']['name'] as $filename) { 
    // do work here 
} 

請參閱文檔上$_FILES,尤其是this文檔頁面。

+2

僅供參考,未加引號的標識符被PHP解釋爲字符串,帶有E_NOTICE。 – Rygu

+0

謝謝我不知道這 – hek2mgl

+2

@Rygu更具體地說,它們被認爲是未定義的常量,並且PHP通過將常量名解釋爲它的值來處理錯誤。這可能會在未來版本中發生變化,所以您不應該依賴於此。 – AgentConundrum