php数据库里面怎样添加图片
时间: 2023-07-08 15:14:42 浏览: 46
在 PHP 中,可以将图片以二进制数据的形式存储在数据库中的 BLOB 类型字段中。下面是一个简单的示例:
1. 创建一个包含 BLOB 类型字段的表:
```sql
CREATE TABLE images (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
image BLOB NOT NULL
);
```
2. 在 PHP 中插入图片数据到数据库中:
```php
// 读取图片文件
$image = file_get_contents("path/to/image.jpg");
// 转义图片数据
$image = mysql_real_escape_string($image);
// 将图片数据插入到数据库
$sql = "INSERT INTO images (name, image) VALUES ('My Image', '$image')";
$result = mysql_query($sql);
if (!$result) {
die('Error: ' . mysql_error());
}
```
注意,上面的示例中使用了 `mysql_real_escape_string` 函数对图片数据进行转义,这是为了防止 SQL 注入攻击。
3. 在 PHP 中从数据库中读取图片数据并显示:
```php
// 从数据库中读取图片数据
$sql = "SELECT image FROM images WHERE id = 1";
$result = mysql_query($sql);
if (!$result) {
die('Error: ' . mysql_error());
}
$row = mysql_fetch_assoc($result);
// 输出图片数据
header('Content-Type: image/jpeg');
echo $row['image'];
```
上面的示例中,首先从数据库中读取图片数据,然后通过设置 `Content-Type` 头来告诉浏览器输出的是图片数据,最后使用 `echo` 输出图片数据。