input怎么一次上传多个文件
时间: 2023-10-26 14:07:36 浏览: 57
您可以使用HTML中的<input type="file" multiple>来实现一次上传多个文件的功能,例如:
```
<form method="post" action="upload.php" enctype="multipart/form-data">
<input type="file" name="files[]" multiple>
<input type="submit" value="上传文件">
</form>
```
在PHP中,您可以使用$_FILES['files']来获取上传的文件,它是一个数组,可以使用foreach循环来遍历每个上传的文件,例如:
```
foreach ($_FILES['files']['tmp_name'] as $key => $tmp_name) {
$name = $_FILES['files']['name'][$key];
$type = $_FILES['files']['type'][$key];
$size = $_FILES['files']['size'][$key];
$error = $_FILES['files']['error'][$key];
$tmp_name = $_FILES['files']['tmp_name'][$key];
// 处理上传的文件
}
```
相关问题
php html一次上传多个文件
你可以使用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"的文件夹中。你需要确保该文件夹的权限为可写入,否则上传会失败。
vue input上传多个文件
你可以使用 Vue 的 el-upload 组件来实现上传多个文件的功能。在 el-upload 组件中,你可以设置 multiple 属性为 true,这样用户就可以选择并上传多个文件了。同时,你还可以设置 action 属性来指定上传文件的接口地址,设置 headers 属性来添加请求头信息,设置 data 属性来添加额外的请求参数等。具体的代码实现可以参考 Vue 官方文档或者相关的教程。