首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用PHP从MySQL数据库中存储和检索图像?

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

Stack Overflow用户
提问于 2009-10-28 20:13:37
回答 5查看 291.5K关注 0票数 64

如何在MySQL中插入图像,然后使用PHP检索它?

我在这两个领域的经验都有限,我可以使用一些代码来开始弄清楚这一点。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-10-29 00:22:13

首先,创建一个MySQL表来存储图像,例如:

代码语言:javascript
复制
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 ''
);

然后,您可以将图像写入数据库,如下所示:

代码语言:javascript
复制
/***
 * All of the below MySQL_ commands can be easily
 * translated to MySQLi_ with the additions as commented
 ***/ 
$imgData = file_get_contents($filename);
$size = getimagesize($filename);
mysql_connect("localhost", "$username", "$password");
mysql_select_db ("$dbname");
// mysqli 
// $link = mysqli_connect("localhost", $username, $password,$dbname); 
$sql = sprintf("INSERT INTO testblob
    (image_type, image, image_size, image_name)
    VALUES
    ('%s', '%s', '%d', '%s')",
    /***
     * For all mysqli_ functions below, the syntax is:
     * mysqli_whartever($link, $functionContents); 
     ***/
    mysql_real_escape_string($size['mime']),
    mysql_real_escape_string($imgData),
    $size[3],
    mysql_real_escape_string($_FILES['userfile']['name'])
    );
mysql_query($sql);

您可以使用以下命令在网页中显示数据库中的图像:

代码语言:javascript
复制
$link = mysql_connect("localhost", "username", "password");
mysql_select_db("testblob");
$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);
票数 125
EN

Stack Overflow用户

发布于 2012-05-27 17:57:57

不是将图像存储在数据库中,而是将它们存储在磁盘文件夹中,并将它们的位置存储在数据库中。

票数 23
EN

Stack Overflow用户

发布于 2009-12-04 08:09:26

我还建议仔细考虑一下,然后选择将图像存储在您的文件系统中,而不是DB中。查看此处:Storing Images in DB - Yea or Nay?

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1636877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档