引言
准备工作
在开始之前,请确保您已经:
- 安装并配置了PHP环境。
- 创建了一个包含图片数据的数据库表。
- 熟悉基本的PHP和MySQL语法。
数据库表结构
CREATE TABLE images (
id INT AUTO_INCREMENT PRIMARY KEY,
filename VARCHAR(255) NOT NULL,
content LONGBLOB NOT NULL
);
PHP读取图片
<?php
// 连接数据库
$mysqli = new mysqli('localhost', 'username', 'password', 'database');
// 检查连接是否成功
if ($mysqli->connect_error) {
die('连接失败: ' . $mysqli->connect_error);
}
// 查询图片数据
$query = "SELECT filename, content FROM images WHERE id = 1";
$result = $mysqli->query($query);
// 检查查询结果
if ($result->num_rows > 0) {
// 输出图片
$row = $result->fetch_assoc();
header('Content-Type: image/jpeg'); // 根据图片类型设置内容类型
echo $row['content'];
} else {
echo "未找到图片";
}
// 关闭数据库连接
$mysqli->close();
?>
优化性能
- 使用索引:在数据库表中的
id字段上创建索引,可以加快查询速度。 - 分页查询:如果图片数量较多,可以使用分页查询来减少一次性加载的数据量。
- 缓存:将图片数据缓存到内存或文件中,可以避免重复读取数据库。