前端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,这意味着文件不会被上传。此外,我们还检查文件类型,并确保文件没有上传错误。

总结