引言

准备工作

创建上传表单

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

在这个表单中,我们使用了<input type="file">标签来允许用户选择文件,并将表单的enctype属性设置为multipart/form-data,这是上传文件所必需的。

PHP处理上传的图片

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['file'])) {
    $file = $_FILES['file'];
    $upload_dir = 'uploads/';
    $filename = basename($file['name']);
    $file_path = $upload_dir . $filename;

    if (move_uploaded_file($file['tmp_name'], $file_path)) {
        echo "文件上传成功!";
    } else {
        echo "文件上传失败!";
    }
}
?>

在这个脚本中,我们首先检查是否提交了表单,并且文件是否已经上传。然后,我们设置上传目录和文件名,并使用move_uploaded_file()函数将文件从临时目录移动到上传目录。

显示上传的图片

<?php
$upload_dir = 'uploads/';
if (is_dir($upload_dir)) {
    $files = scandir($upload_dir);
    foreach ($files as $file) {
        if ($file != '.' && $file != '..') {
            echo "<img src=\"$upload_dir$file\" alt=\"$file\">";
        }
    }
}
?>

总结