使用PHP和MySQL保存和输出图片的完整攻略包括以下步骤:
- 创建数据库表:首先需要创建一个用来保存图片的数据库表。表中应该包含两个列,一个是用来保存图片的二进制数据的列,另一个是用来指定图片类型的列,常用的图片类型包括JPEG、PNG和GIF。
示例代码:
CREATE TABLE `images` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`data` longblob NOT NULL,
`type` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- 编写上传图片的PHP脚本:接下来需要编写一个PHP脚本,用来将用户上传的图片保存到数据库中。首先需要使用PHP内置的文件上传类来处理上传的文件,然后将文件的二进制数据和类型保存到数据库中。
示例代码:
if ($_FILES['image']['error'] === UPLOAD_ERR_OK) {
$data = file_get_contents($_FILES['image']['tmp_name']);
$type = $_FILES['image']['type'];
$stmt = $pdo->prepare('INSERT INTO images (data, type) VALUES (?, ?)');
$stmt->execute([$data, $type]);
echo 'Image uploaded successfully';
} else {
echo 'Error uploading image';
}
- 输出图片的PHP脚本:在向用户显示图片时,需要编写一个PHP脚本来输出保存在数据库中的图片。首先需要查询数据库来获取指定图片的二进制数据和类型,然后使用PHP的Header函数设置正确的Content-Type头,并将二进制数据直接输出到浏览器中。
示例代码:
$id = $_GET['id'];
$stmt = $pdo->prepare('SELECT * FROM images WHERE id = ?');
$stmt->execute([$id]);
$image = $stmt->fetch();
header('Content-Type: ' . $image['type']);
echo $image['data'];
- 在HTML页面中使用输出图片的PHP脚本:最后需要在HTML页面中调用输出图片的PHP脚本来显示保存在数据库中的图片。使用HTML的img标签,并将src属性设置为输出图片的PHP脚本的URL,即可将图片显示在页面中。
示例代码:
<img src="output_image.php?id=1" alt="Example Image">
以上就是使用PHP和MySQL保存和输出图片的完整攻略,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用PHP和MySQL保存和输出图片 - Python技术站