前言
一、准备工作
在开始之前,请确保您的服务器已安装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']来检查上传文件的类型,并设置一个允许的类型列表。