多文件上传
多文件上传是指一次性上传多个文件。多文件上传有两种不同的需求,一种是在页面中,有多处文件上传,另一种是一个上传按钮,需要上传多个文件。其中,第1种方式上传的文件之间没有直接的关联,本质上依然是单文件上传。第2种上传的文件属于同一类文件,示例代码如下。
<form action="表单提交地址" method="post" enctype="multipart/form-data">
个人相册:
<input type="file" name="photo[]" />
<input type="file" name="photo[]" />
<input type="file" name="photo[]" />
<input type="submit" value="上传" />
</form>
在上述代码中,文件上传按钮的name属性采用数组的命名方式,表示上传多个文件。
在PHP处理多文件上传时,使用$_FILES接收上传文件的信息,利用循环处理文件信息,示例代码如下。
$len = count($_FILES['photo']['name']);
for ($i = 0; $i < $len; $i++) {
$file = [
'name' => $_FILES['photo']['name'][$i];
'type' => $_FILES['photo']['type'][$i];
'tmp_name' => $_FILES['photo']['tmp_name'][$i];
'error' => $_FILES['photo']['error'][$i];
'size' => $_FILES['photo']['size'][$i];
];
}
在上述代码中,通过循环获取上传的文件信息,在for循环中可以直接调用move_uploaded_file()函数将临时文件保存到指定目录中。