前端HTML表单设计
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="fileToUpload">选择图片:</label>
<input type="file" name="fileToUpload[]" id="fileToUpload" multiple>
<input type="submit" value="上传图片">
</form>
PHP文件上传处理
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// 检查文件是否已经存在
if (file_exists($target_file)) {
echo "抱歉,文件已存在。";
$uploadOk = 0;
}
// 检查文件类型
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "抱歉,仅支持 JPG, JPEG, PNG & GIF 文件。";
$uploadOk = 0;
}
// 检查是否上传错误
if ($_FILES["fileToUpload"]["error"] > 0) {
echo "错误: " . $_FILES["fileToUpload"]["error"];
$uploadOk = 0;
}
// 检查文件是否已上传到临时目录
if ($uploadOk == 0) {
echo "抱歉,您的文件没有被上传。";
} else {
// 移动上传文件到指定目录
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "文件 " . htmlspecialchars(basename(($_FILES["fileToUpload"]["name"]))) . " 已成功上传。";
} else {
echo "抱歉,文件上传失败。";
}
}
}
?>
在这个脚本中,我们首先检查文件是否已经存在。如果存在,我们设置$uploadOk为0,这意味着文件不会被上传。此外,我们还检查文件类型,并确保文件没有上传错误。