引言
准备工作
创建HTML表单
<!DOCTYPE html>
<html>
<head>
<title>图片上传</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
选择图片:<input type="file" name="image" accept="image/*">
<input type="submit" value="上传图片">
</form>
</body>
</html>
PHP脚本处理上传
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['image'])) {
$image = $_FILES['image'];
$upload_dir = 'uploads/';
$allowed_types = array('image/jpeg', 'image/png', 'image/gif');
$max_size = 5000000; // 5MB
// 检查文件类型
if (in_array($image['type'], $allowed_types)) {
// 检查文件大小
if ($image['size'] <= $max_size) {
// 重命名文件
$new_filename = uniqid() . '.' . pathinfo($image['name'], PATHINFO_EXTENSION);
// 移动文件到上传目录
if (move_uploaded_file($image['tmp_name'], $upload_dir . $new_filename)) {
echo "图片上传成功!";
} else {
echo "上传失败,请检查文件权限。";
}
} else {
echo "文件大小超出。";
}
} else {
echo "不支持的文件类型。";
}
}
?>
在这个脚本中,我们首先检查了请求方法和文件上传是否存在。然后,我们定义了上传目录、允许的文件类型和最大文件大小。接下来,我们检查了文件类型和大小,并使用uniqid()函数生成一个新的文件名,以避免文件名冲突。最后,我们使用move_uploaded_file()函数将文件移动到上传目录。