前言

一、准备工作

在开始之前,请确保您的服务器已安装PHP和GD库,GD库用于处理图像。

二、创建HTML表单

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>图片上传</title>
</head>
<body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        <input type="file" name="image" />
        <input type="submit" value="上传" />
    </form>
</body>
</html>

三、编写PHP脚本

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

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

    // 检查文件类型
    $valid_types = array('image/jpeg', 'image/png', 'image/gif');
    if (!in_array($file['type'], $valid_types)) {
        die("只能上传图片文件(JPEG, PNG, GIF)");
    }

    // 检查文件大小
    $max_size = 5 * 1024 * 1024; // 5MB
    if ($file['size'] > $max_size) {
        die("文件大小不能超过5MB");
    }

    // 重命名文件
    $filename = md5(uniqid(rand(), true)) . '.' . pathinfo($file['name'], PATHINFO_EXTENSION);

    // 移动文件到上传目录
    if (move_uploaded_file($file['tmp_name'], $upload_dir . $filename)) {
        echo "图片上传成功!";
    } else {
        echo "上传失败,请检查上传目录权限。";
    }
}
?>

四、常见问题解答

1. 为什么我的图片上传后无法显示?

2. 如何上传图片的大小?

在PHP脚本中,您可以使用$_FILES['image']['size']来检查上传文件的大小,并设置一个最大值。

3. 如何上传图片的类型?

在PHP脚本中,您可以使用$_FILES['image']['type']来检查上传文件的类型,并设置一个允许的类型列表。

4. 如何将上传的图片保存到数据库?

五、总结