首页 >后端开发 >php教程 >如何使用 PHP 在 MySQL 数据库中存储和检索图像?

如何使用 PHP 在 MySQL 数据库中存储和检索图像?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-11 06:31:13303浏览

How to Store and Retrieve Images in a MySQL Database Using PHP?

使用 PHP 在 MySQL 数据库中存储和检索图像

在 MySQL 数据库中存储和检索图像是开发 Web 应用程序时的常见任务,处理图像。本文演示了如何使用 PHP 实现此目的。

创建数据库表

首先,在 MySQL 数据库中创建一个表来存储图像。您可以使用以下 SQL 语句创建名为 testblob 的表:

CREATE TABLE testblob (
    image_id TINYINT(3) NOT NULL DEFAULT '0',
    image_type VARCHAR(25) NOT NULL DEFAULT '',
    image BLOB NOT NULL,
    image_size VARCHAR(25) NOT NULL DEFAULT '',
    image_ctgy VARCHAR(25) NOT NULL DEFAULT '',
    image_name VARCHAR(50) NOT NULL DEFAULT ''
);

将图像插入数据库

要将图像插入数据库,请阅读从文件中获取图像数据并将其保存为变量。然后,您可以使用以下 PHP 代码:

$imgData = file_get_contents($filename);
$size = getimagesize($filename);
// Connect to MySQL database
... (connection code) ...

$sql = sprintf("INSERT INTO testblob
    (image_type, image, image_size, image_name)
    VALUES
    ('%s', '%s', '%d', '%s')",
    mysql_real_escape_string($size['mime']),
    mysql_real_escape_string($imgData),
    $size[3],
    mysql_real_escape_string($_FILES['userfile']['name'])
);

mysql_query($sql);

从数据库检索图像

从数据库检索图像并将其显示在网页上,使用以下 PHP 代码:

// Connect to MySQL database
... (connection code) ...

$sql = "SELECT image FROM testblob WHERE image_id=0";
$result = mysql_query("$sql");
header("Content-type: image/jpeg");
echo mysql_result($result, 0);
mysql_close($link);

以上是如何使用 PHP 在 MySQL 数据库中存储和检索图像?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn