引言

图片上传原理

  1. 用户在前端表单中选择图片文件。
  2. 将图片文件发送到服务器。
  3. 服务器接收图片文件,并进行验证和存储。
  4. 用户在服务器端看到上传的图片。

步骤一:创建前端表单

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>图片上传</title>
</head>
<body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        <label for="fileUpload">选择图片文件:</label>
        <input type="file" id="fileUpload" name="fileUpload">
        <input type="submit" value="上传">
    </form>
</body>
</html>

在这个表单中,enctype属性设置为multipart/form-data,这是上传文件必须的。name属性用于在PHP脚本中标识上传的文件。

步骤二:编写PHP脚本

<?php
// 设置上传目录
$uploadDir = "uploads/";

// 检查是否有文件被上传
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['fileUpload'])) {
    $file = $_FILES['fileUpload'];

    // 检查文件类型
    $fileType = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION));
    if ($fileType != 'jpg' && $fileType != 'jpeg' && $fileType != 'png' && $fileType != 'gif') {
        die("不支持的图片格式。");
    }

    // 生成新的文件名
    $newFileName = uniqid() . "." . $fileType;
    $newFilePath = $uploadDir . $newFileName;

    // 移动上传的文件到指定的目录
    if (move_uploaded_file($file['tmp_name'], $newFilePath)) {
        echo "图片上传成功!<br>";
        echo "<img src='" . $newFilePath . "' />";
    } else {
        echo "图片上传失败。";
    }
}
?>

在这段代码中,我们首先设置上传目录,然后检查是否有文件被上传。之后,我们验证文件类型,并生成一个新的文件名。最后,我们使用move_uploaded_file函数将文件从临时目录移动到指定的上传目录。

步骤三:测试图片上传

总结