本人两天前写了一个单个图片上传的博客,现在写一个多文件上传的
先写一个添加图片的界面,比较简陋,但是这里有三种不同的方式
第一种:
<form action="doAction3.php" method="post" enctype="multipart/form-data">
<input type="file" name="myFile1" /><br>
<input type="file" name="myFile2"/><br>
<input type="file" name="myFile3"/><br>
<input type="submit" value="上传"/>
</form>
第二种:
<form action="doAction3.php" method="post" enctype="multipart/form-data">
<input type="file" name="myFile[]" /><br>
<input type="file" name="myFile[]"/><br>
<input type="file" name="myFile[]"/><br>
<input type="submit" value="上传"/>
</form>
第三种
<form action="doAction3.php" method="post" enctype="multipart/form-data">
<input type="file" name="myFile[]" multiple="multiple" /><br>
<input type="submit" value="上传"/>
</form>
第一种说白了就是多个单文件上传,再次不再多加描述,不懂的可以去看我上一集写的博客
单文件上传
主要说第二种和第三种
第二种,是点击一次,选择一个文件,图中只有三行input代码,所以只能一次性上传3张图片
第三种,是点击一次,可以选择多张图片,选择完成,点击提交之前会显示选择了几个文件
第二种和第三种,点击上传之后我们在后端接受到的都是一个一样的三维数组,如图所示,我们先打印出来看看这个三维数组
[myFile] => Array
(
[name] => Array
(
[0] => 上海建桥学院 Shanghai Jian Qiao University.jpg
[1] => 54c5b4120001f20808000902.jpg
[2] => 52e3677900013d6a05020261.jpg
)
[type] => Array
(
[0] => image/jpeg
[1] => image/jpeg
[2] => image/jpeg
)
[tmp_name] => Array
(
[0] => C:\wamp\tmp\php4945.tmp
[1] => C:\wamp\tmp\php4B78.tmp
[2] => C:\wamp\tmp\php4BE6.tmp
)
[error] => Array
(
[0] => 0
[1] => 0
[2] => 0
)
[size] => Array
(
[0] => 876196
[1] => 159952
[2] => 28190
)
)
我们可以看到,这是把单个文件中的各个属性归了类,重新组成了一个数组,因此我们要把这个数组转换多个单文件数组: