PHP 多图片上传及验证
时间: 2023-08-22 11:04:37 浏览: 56
您好!对于PHP多图片上传及验证,可以按照以下步骤进行操作:
1. 在HTML表单中添加多个文件上传字段:
```html
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="image[]" multiple>
<input type="submit" value="Upload">
</form>
```
2. 在服务器端创建一个名为upload.php的文件来处理上传请求:
```php
<?php
if(isset($_FILES['image'])){
$errors = [];
$uploadedFiles = [];
$extension = ['jpg', 'jpeg', 'png', 'gif'];
// 获取上传文件信息
$fileNames = $_FILES['image']['name'];
$fileTmps = $_FILES['image']['tmp_name'];
$fileSizes = $_FILES['image']['size'];
$fileErrors = $_FILES['image']['error'];
// 遍历每个上传文件
foreach($fileNames as $key => $fileName){
$fileTmp = $fileTmps[$key];
$fileSize = $fileSizes[$key];
$fileError = $fileErrors[$key];
// 检查文件是否上传成功
if($fileError === UPLOAD_ERR_OK){
// 检查文件大小和类型
$fileExt = pathinfo($fileName, PATHINFO_EXTENSION);
if(!in_array($fileExt, $extension)){
$errors[] = "Invalid file extension for $fileName";
}
elseif($fileSize > 5000000){
$errors[] = "File size exceeds limit for $fileName";
}
else{
// 生成唯一的文件名并移动到目标文件夹
$newFileName = uniqid().'.'.$fileExt;
$uploadPath = 'uploads/'.$newFileName;
move_uploaded_file($fileTmp, $uploadPath);
$uploadedFiles[] = $uploadPath;
}
}
else{
$errors[] = "Error uploading $fileName";
}
}
// 输出结果
if(!empty($errors)){
print_r($errors);
}
elseif(!empty($uploadedFiles)){
print_r($uploadedFiles);
}
}
?>
```
上述代码会将上传的图片保存到名为"uploads"的文件夹中,并输出上传成功的文件路径或错误信息。
需要注意的是,上述代码仅提供了基本的文件类型和大小验证,您可以根据实际需求进行进一步的验证和处理。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)