当前位置:首页php > 正文

php如何实现文件上传功能

作者:野牛程序员:2024-10-18 09:40:11php阅读 2146
php如何实现文件上传功能

要实现文件上传功能,可以按照以下步骤进行:

  1. 创建HTML表单

<form action="upload.php" method="post" enctype="multipart/form-data">
    选择文件上传:
    <input type="file" name="fileToUpload" required>
    <input type="submit" value="上传文件" name="submit">
</form>
  1. 处理上传的PHP代码(在upload.php中):

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $targetDir = "uploads/"; // 指定目录
    $targetFile = $targetDir . basename($_FILES["fileToUpload"]["name"]);
    $uploadOk = 1;

    // 检查文件是否实际上传
    if (isset($_POST["submit"])) {
        $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
        if ($check === false) {
            echo "文件不是图像.";
            $uploadOk = 0;
        }
    }

    // 检查文件是否已存在
    if (file_exists($targetFile)) {
        echo "抱歉,文件已存在.";
        $uploadOk = 0;
    }

    // 检查文件大小
    if ($_FILES["fileToUpload"]["size"] > 500000) {
        echo "抱歉,文件太大.";
        $uploadOk = 0;
    }

    // 允许的文件格式
    $imageFileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION));
    if (!in_array($imageFileType, ['jpg', 'png', 'jpeg', 'gif'])) {
        echo "抱歉,只允许上传 JPG, JPEG, PNG & GIF 文件.";
        $uploadOk = 0;
    }

    // 上传文件
    if ($uploadOk == 1) {
        if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) {
            echo "文件 ". htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " 上传成功.";
        } else {
            echo "抱歉,上传文件时出错.";
        }
    }
}
?>

确保uploads目录可写,并根据需要调整文件大小和格式限制。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • php
  • 最新推荐

    热门点击