我想在php中上传多个文件。我有一个文件输入框,在它旁边我添加了更多的按钮。当用户点击按钮时,新文件上传就会到来。用户应该只能上传五个文件,如果五个文件上传控制将使用添加更多,那么警报将出现,用户不能添加另一个文件上传。现在,如果我选择所有五个文件并打印$_files数组,它将显示第一个和最后一个数组索引的文件名。代码如下:-
Array
(
[txtProductImage] => Array
(
[name] => Array
(
[0] => 14200127851.jpg
[1] =>
[2] =>
[3] =>
[4] => 14200127864.jpg
)
[type] => Array
(
[0] => image/jpeg
[1] =>
[2] =>
[3] =>
[4] => image/jpeg
)
[tmp_name] => Array
(
[0] => C:'xampp'tmp'phpBCCE.tmp
[1] =>
[2] =>
[3] =>
[4] => C:'xampp'tmp'phpBCDF.tmp
)
[error] => Array
(
[0] => 0
[1] => 4
[2] => 4
[3] => 4
[4] => 0
)
[size] => Array
(
[0] => 575185
[1] => 0
[2] => 0
[3] => 0
[4] => 660387
)
)
)
我花了很多时间,但没能弄清楚问题是什么。任何帮助都将不胜感激。提前感谢
你能给我们展示更多的代码吗?你是如何获得文件的?你是如何发布文件的?您检查过数组元素的错误吗?您应该尝试从数组中打印它们,看看有什么错误。这将给你内部的看法和你犯了什么错误。也许是图片太大,或者是打字不正确。
这对我有效。
<?php
echo '<pre>';
ob_start();
var_dump('$_GET',$_GET,'$_POST',$_POST,'$_COOKIE',$_COOKIE,'$_FILES',$_FILES);
echo htmlentities(ob_get_clean()).'</pre>';
?>
<form action="?">
<input type="file" multiple name="files[]" >
<input type="submit" value="Submit">
</form>
编辑:或者如果你想要最大5,这也适用于我:
<input type="file" name="files[]" >
<input type="file" name="files[]" >
<input type="file" name="files[]" >
<input type="file" name="files[]" >
<input type="file" name="files[]" >
检查http://php.net/manual/en/features.file-upload.multiple.php