保持简单或使用数据库的照片库?

时间:2013-08-16 21:23:48

标签: php mysql database image gallery

大家好,我有一个照片库,我问自己是否应该为图库创建一个数据库,或者保持简单[Folder / imagename]并从中获取信息。

<小时/>

这是图库http://sdrv.ms/17SJBOy

<小时/> 这是我已经掌握的信息 http://sdrv.ms/13rhc6c
我认为我应该建立一个数据库来保存Date_upload,Modified,Comments等东西;我需要一些帮助才能插入SQL命令:D我之前尝试过,但我以某种方式失败了,有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这实际上取决于你想做什么。如果您正在构建一个简单的本地图像浏览器而不需要交互/元信息,那么只需扫描文件系统。

如果这是一个共享图库,并且您希望能够命名,描述,分类等......那么您绝对需要一个数据库。

另一件需要考虑的事情是,用户是否会上传这些图片?您打算如何备份它们?您是否可以轻松访问服务器的文件系统?如果您需要代码和库非常便携且易于备份,我建议将数据存储在blob列中的数据库中。

我这样做的方法是有三张桌子。

  1. 图像blob表将存储实际图像blob,其中包含md5包含的数据。
  2. 图像URL表将存储一个URL,通过该URL可以访问图像blob。
  3. 图像数据表将存储有关每个图像blob的信息。文件类型,上传日期,上传者,尺寸,文件大小,标题,说明,类别,标签等......
  4. 为什么要分开blob和数据?因为你的blob表可以非常快地变得非常大,并且为了性能和可维护性,它可以帮你省去它的头痛。

    为什么要从blob /数据表中分离URL?因为您可以为同一图像创建多个URL,而无需复制图像数据。

    为什么要使用MD5而不仅仅是ID?因此,您可以阻止存储重复图像,并且可以将现有元信息与已知MD5的新图像进行匹配。您不必担心MD5冲突。

    关于所有这些的实际SQL,您需要先尝试执行此操作,然后在遇到问题时再询问具体问题。我们不是来编写你的代码:) SQL不是很难学,只是花一些时间玩它。