php html一次上传多个文件
时间: 2023-08-16 22:09:09 浏览: 52
你可以使用HTML5中的`<input type="file" multiple>`来实现一次上传多个文件的功能。在后台使用PHP的$_FILES数组来处理上传的文件。
HTML代码示例:
```
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="files[]" multiple>
<input type="submit" value="上传">
</form>
```
PHP代码示例:
```
if(isset($_FILES['files'])){
$errors= array();
foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
$file_name = $_FILES['files']['name'][$key];
$file_size =$_FILES['files']['size'][$key];
$file_tmp =$_FILES['files']['tmp_name'][$key];
$file_type=$_FILES['files']['type'][$key];
if($file_size > 2097152){
$errors[]='文件大小不能超过2MB';
}
$desired_dir="uploads";
if(empty($errors)==true){
if(is_dir($desired_dir)==false){
mkdir("$desired_dir", 0700);
}
if(is_dir("$desired_dir/".$file_name)==false){
move_uploaded_file($file_tmp,"$desired_dir/".$file_name);
}else{
$new_dir="$desired_dir/".$file_name.time();
rename($file_tmp,$new_dir) ;
}
}else{
print_r($errors);
}
}
}
```
这段代码会将上传的文件存储在名为"uploads"的文件夹中。你需要确保该文件夹的权限为可写入,否则上传会失败。