引言

前期准备

在开始编写代码之前,我们需要准备以下环境:

  1. PHP环境:确保您的服务器上已安装PHP。
  2. Web服务器:如Apache或Nginx。
  3. 文件存储权限:确保上传目录有写入权限。

步骤一:创建HTML表单

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="image" />
    <input type="submit" value="上传图片" />
</form>

步骤二:编写PHP后端代码

<?php
// upload.php

// 检查是否有文件被上传
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['image'])) {
    // 获取上传文件的临时路径和文件名
    $tempPath = $_FILES['image']['tmp_name'];
    $fileName = $_FILES['image']['name'];

    // 检查文件类型
    $validTypes = ['image/jpeg', 'image/png', 'image/gif'];
    if (!in_array($_FILES['image']['type'], $validTypes)) {
        die('不支持的文件类型');
    }

    // 设置上传目录
    $uploadDir = 'uploads/';
    if (!is_dir($uploadDir)) {
        mkdir($uploadDir, 0777, true);
    }

    // 重命名文件,防止文件名冲突
    $newFileName = uniqid() . '.' . pathinfo($fileName, PATHINFO_EXTENSION);

    // 移动文件到上传目录
    if (!move_uploaded_file($tempPath, $uploadDir . $newFileName)) {
        die('文件上传失败');
    }

    echo "文件上传成功!";
}
?>

步骤三:设置上传目录权限

确保上传目录具有写入权限,否则PHP无法将文件保存到该目录。

chmod 777 uploads/

步骤四:测试上传功能

总结