引言
准备工作
在开始之前,请确保你的服务器已安装PHP和MySQL,并且Apache或Nginx作为Web服务器。此外,还需要一个PHP开发环境,例如XAMPP或WAMP。
图片上传
1. 创建HTML表单
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file">选择图片:</label>
<input type="file" name="file" id="file">
<input type="submit" value="上传">
</form>
2. PHP处理上传
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$file = $_FILES['file'];
$uploadPath = 'uploads/';
// 检查文件是否上传成功
if ($file['error'] == 0) {
// 检查文件类型
$allowedTypes = array('image/jpeg', 'image/png', 'image/gif');
if (in_array($file['type'], $allowedTypes)) {
// 移动文件到指定目录
if (move_uploaded_file($file['tmp_name'], $uploadPath . $file['name'])) {
echo "文件上传成功!";
} else {
echo "文件上传失败!";
}
} else {
echo "不支持的文件类型!";
}
} else {
echo "文件上传出错!";
}
}
?>
3. 存储图片路径到数据库
<?php
// 连接到数据库
$db = new mysqli('localhost', 'username', 'password', 'database');
// 检查连接
if ($db->connect_error) {
die("连接失败: " . $db->connect_error);
}
// 提取图片信息
$imagePath = $uploadPath . $file['name'];
// 插入到数据库
$sql = "INSERT INTO images (path) VALUES ('$imagePath')";
if ($db->query($sql) === TRUE) {
echo "新记录插入成功";
} else {
echo "Error: " . $sql . "<br>" . $db->error;
}
$db->close();
?>
图片展示
1. 创建展示页面
<?php
// 连接到数据库
$db = new mysqli('localhost', 'username', 'password', 'database');
// 检查连接
if ($db->connect_error) {
die("连接失败: " . $db->connect_error);
}
// 查询图片路径
$sql = "SELECT path FROM images";
$result = $db->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '<img src="' . $row["path"] . '" alt="Uploaded Image">';
}
} else {
echo "没有找到图片。";
}
$db->close();
?>
2. 在网页中展示图片
<!DOCTYPE html>
<html>
<head>
<title>图片展示</title>
</head>
<body>
<?php include 'display.php'; ?>
</body>
</html>