我无法从$ _FILES中检索我的php代码中的多个文件。 这里是输入形式:
<form enctype="multipart/form-data" action="file-upload.php" method="POST">
Upload the several files:<input type="file" multiple="multiple" name="uploaded" id="id_upload" />
<input type="submit" value="Upload" />
</form>
下面是从文件upload.php的PHP代码:
// first let's find out how many files were uploaded..
$numUploadedfiles = count($_FILES['uploaded']);
$num_FILES = count($_FILES);
// BOTH COUNTS ARE 5. I SELECT 7 FILE NAMES FOR UPLOADING THOUGH.
echo "<br>" . "The number of uploaded files is == " . $numUploadedfiles;
echo "<br>" . "Here is the name of _FILES['uploaded']: " . $_FILES['uploaded'];
// THE NAME REPORTED IS 'array' AND THE COUNT IS 5..
echo "<br>" . "The count size of _FILES is == " . $num_FILES;
echo "<br>" . "Here is the name of _FILES => " . $_FILES;
// HERE ALSO, THE NAME REPORTED IS 'array' AND THE COUNT IS 5.
echo "<br>file temp_name " . $i . " is: " . $_FILES['uploaded']['tmp_name'];
echo "<br>file name " . $i . " is: " . $_FILES['uploaded']['name'];
// THE NAME REPORTED HERE IS THE FILENAME OF LAST OF THE 7 FILES I UPLOADED (not sure why.)
echo "<br>" . "Here are the filenames: ";
for($i = 0; $i < $numUploadedfiles; $i++)
{
echo "<br>filename " . $i . " is: " . $_FILES['uploaded'][$i];
}
exit();
当我运行这就是,“for”循环开始时会发生什么,一个错误消息表示$ i索引到数组_FILES ['uploaded'] [$ i]无效。
这是为什么?我需要获得这7个文件名并能够将它们保存在服务器上。我怎么能:
1)获得一个准确的“计数”的文件数量?当我上传7个文件时,上面的代码给出了5的计数
2)如何通过'for'循环中的_FILES数组正确索引? PHP告诉我$ i的值为0,1,2,3 .... 无效。
(PS我使用的输入类型=“文件”多个=“多个”名称=“上传” ID =“id_upload”从我看到在Retrieving file names out of a multi-file upload control with javascript实现多文件上传的示例代码)
看过这个吗?可以帮忙(查看评论):http://verens.com/2009/12/28/multiple-file-uploads-using-html5/ –
是的,这太可怕了!我不知道为什么很难找到有关它是如何工作的信息,以及为什么它非直观地工作。我努力寻找那个信息。无论如何,很高兴你现在能够正常工作。 –