引言
图片上传原理
- 用户在前端表单中选择图片文件。
- 将图片文件发送到服务器。
- 服务器接收图片文件,并进行验证和存储。
- 用户在服务器端看到上传的图片。
步骤一:创建前端表单
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>图片上传</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="fileUpload">选择图片文件:</label>
<input type="file" id="fileUpload" name="fileUpload">
<input type="submit" value="上传">
</form>
</body>
</html>
在这个表单中,enctype属性设置为multipart/form-data,这是上传文件必须的。name属性用于在PHP脚本中标识上传的文件。
步骤二:编写PHP脚本
<?php
// 设置上传目录
$uploadDir = "uploads/";
// 检查是否有文件被上传
if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['fileUpload'])) {
$file = $_FILES['fileUpload'];
// 检查文件类型
$fileType = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION));
if ($fileType != 'jpg' && $fileType != 'jpeg' && $fileType != 'png' && $fileType != 'gif') {
die("不支持的图片格式。");
}
// 生成新的文件名
$newFileName = uniqid() . "." . $fileType;
$newFilePath = $uploadDir . $newFileName;
// 移动上传的文件到指定的目录
if (move_uploaded_file($file['tmp_name'], $newFilePath)) {
echo "图片上传成功!<br>";
echo "<img src='" . $newFilePath . "' />";
} else {
echo "图片上传失败。";
}
}
?>
在这段代码中,我们首先设置上传目录,然后检查是否有文件被上传。之后,我们验证文件类型,并生成一个新的文件名。最后,我们使用move_uploaded_file函数将文件从临时目录移动到指定的上传目录。