1、在表单页面动态生成多个文i件提交框,这里注意一下,多个文件提交框的名字要设置为数组,否则只有一个文件会上传。(也可以不同的文件提交框用不同的名字,然后在后端接收的时候,$_FILES["name_vary"],不同的文件用不同的name_vary,也是可以的。)
此时在$_FILES数组构造方式是这样:$_FILES["file"][xxxxfileProperty][xxxcount]; 比如说我要知道第一个文件的error值:$_FILES["userfile"]["error"][0] ,第一个文件客户端名字:$_FILES["userfile"]["name"][0]等等。
2、接收端接收,操作和单个的是一样,只是需要做个循环,有多少个文件做多少次循环,以便所有的文件都能正确发送。
示例代码:
1、upload.html页面,即先是input type=file的文件:
<html>
<head>
<title></title>
</head>
<body>
<form enctype="multipart/form-data" action="do_upload.php" method="POST">
<fieldset>
<legend>图片上传</legend>
第一张图片<input name="userfile[]" type="file"><br>
第二张图片<input name="userfile[]" type="file"><br>
第三张图片<input name="userfile[]" type="file"><br>
第四张图片<input name="userfile[]" type="file"><br>
第五张图片<input name="userfile[]" type="file"><br>
<input type="submit" value="Send File">
</fieldset>
</form>
</body>
</html>
2、do_upload.php页面,即处理多文件上传的页面:
<?php
//全局数组$_FILES
//$_FILES['userfile']['tmp_name']文件在web服务器中临时存储的位置
//$_FILES['userfile']['name']用户系统中的文件名称
//$_FILES['userfile']['size']文件的字节大小
//$_FILES['userfile']['type']文件的MIME类型,text/plain,image/gif
//$_FILES['userfile']['error']与文件上载相关的错误代码
?>
<?php
for ($i=0;$i<count($_FILES['userfile']['tmp_name']);$i++)
{
$upfile=$new_folder."/".$_FILES['userfile']['name'][$i];//此处路径换成你的
if(move_uploaded_file($_FILES['userfile']['tmp_name'][$i],$upfile)){
echo "第".($i+1)."张图片上传成功<br>";
}
else{
echo "第".($i+1)."张图片上传不了<br>";
}
}
?>