-1

可能重复:
在数据库中存储图像 - 是还是不是?

我正在学习 PHP 和 MySQL 的概念,虽然我对两者都有扎实的基本了解,但我还没有将它们付诸实践并让它们进行交互,所以如果问题有点愚蠢,请原谅我。

我只是想知道是否说,我有一个包含封面图片的文章的表格 - 有一个像“imagepath”这样的列是否有意义,我可以在其中存储该图像的路径并在需要显示封面时检索它?

如果不使用上述方法,我需要什么解决方案将图像与数据库相关内容相关联?

4

3 回答 3

4

是的,这就是人们通常这样做的方式。在 MySQL 等数据库中存储图像效率不高。

于 2012-08-12T15:02:13.300 回答
1

是的,存储像文件路径这样的文本字符串来引用存储在其他地方的图像是一个合法的设计决策。另一种方法是将原始图像数据存储到数据库中的 blob 列中,让 PHP 脚本为该图像提供服务,然后您可以在 HTML IMG 标记中引用该 PHP 脚本。这两种情况都有优点和缺点。

于 2012-08-12T15:05:13.650 回答
1

我认为这很好。openlibrary网站提供封面而没有额外的“路径”间接。该站点上的所有书籍都有一个唯一的密钥来标识它们,并且封面使用相同的密钥名称命名,以便您可以“计算”图像的路径而不是查找它。示例书位于http://openlibrary.org/books/OL20426778M/B%C3%A9atrix。相应的封面位于http://covers.openlibrary.org/b/olid/OL20426778M-L.jpg。注意OL20426778Mwhich 是书的标识符。

我不确定数据库方法提供了哪些优势,但有了这个,您可以 tar/zip 图像并在必要时提供批量下载等。

于 2012-08-12T15:07:01.440 回答