将动态内容相关的表中的文件路径存储为可接受的做法吗?

时间:2012-08-12 14:59:09

标签: php mysql html web

  

可能重复:
  Storing Images in DB - Yea or Nay?

我正在学习PHP和MySQL的概念,虽然我对两者都有一个扎实的基本理解,但我仍然没有将它们付诸实践并使它们互动,所以如果问题有点傻,请原谅我。

我只是想知道是否说,我有一张桌子上的文章有封面图片 - 有一个像'imagepath'这样的列我会存储这张图片的路径并在必要时检索它以显示覆盖?

如果不使用上述方法,我需要将图像与数据库相关的内容联系起来?

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:1)

是的,存储文件字符串(如文件路径)以引用存储在其他位置的图像是合法的设计决策。另一种方法是将原始图像数据存储到数据库中的blob列中,使用PHP脚本为该图像提供服务,并且可以在HTML IMG标记中引用该PHP脚本。两种情况都有赞成和反对意见。

答案 2 :(得分:1)

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

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