引言
前期准备
在开始编写代码之前,我们需要准备以下环境:
- PHP环境:确保您的服务器上已安装PHP。
- Web服务器:如Apache或Nginx。
- 文件存储权限:确保上传目录有写入权限。
步骤一:创建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/