在PHP中,文件上传是一种常见的功能,允许用户将文件从其计算机上传到服务器。以下是一个简单的文件上传的例子,包括HTML表单和PHP处理脚本:

HTML 表单:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>File Upload Example</title>
</head>
<body>

<form action="upload.php" method="post" enctype="multipart/form-data">
    <label for="file">Choose a file:</label>
    <input type="file" name="file" id="file">
    <br>
    <input type="submit" value="Upload File">
</form>

</body>
</html>

PHP 处理脚本 (upload.php):
<?php
// 检查文件是否通过 HTTP POST 上传
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // 获取上传文件的信息
    $fileName = $_FILES["file"]["name"];
    $fileType = $_FILES["file"]["type"];
    $fileSize = $_FILES["file"]["size"];
    $fileTmpName = $_FILES["file"]["tmp_name"];
    $fileError = $_FILES["file"]["error"];

    // 指定上传目录
    $uploadDirectory = "uploads/";

    // 检查上传是否成功
    if ($fileError === 0) {
        // 移动文件到上传目录
        $destination = $uploadDirectory . $fileName;
        move_uploaded_file($fileTmpName, $destination);
        echo "File uploaded successfully!";
    } else {
        echo "Error uploading file. Error code: $fileError";
    }
}
?>

在这个例子中:

  •  HTML 表单使用 enctype="multipart/form-data" 来支持文件上传。

  •  PHP 处理脚本 (upload.php) 使用 $_FILES 超全局数组来获取上传文件的信息。

  •  脚本检查了上传是否成功,如果成功,则将文件移动到指定的上传目录(在这里是 "uploads/" 目录)。


确保在服务器上创建一个名为 "uploads" 的目录,并确保该目录对PHP进程有写权限。

请注意,文件上传是一个潜在的安全风险,因此你应该始终验证和过滤用户上传的文件。在生产环境中,你还应该限制上传文件的类型和大小,并采取其他安全措施。


转载请注明出处:http://www.pingtaimeng.com/article/detail/3424/PHP