php - 保持简单还是使用数据库作为照片库?

标签 php mysql database image gallery

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


这是画廊http://sdrv.ms/17SJBOy

<小时/> 这是我已经掌握的信息 http://sdrv.ms/13rhc6c <小时/> 我认为我应该建立一个数据库来保存日期上传、修改、评论等内容;我需要一些帮助来插入 SQL 命令:D 我以前尝试过,但不知何故失败了,有什么建议吗?

最佳答案

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

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

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

我这样做的方法是拥有三个表。

  1. 图像 blob 表将存储实际的图像 blob 及其所包含数据的 md5。
  2. 图像 URL 表将存储可访问图像 blob 的 URL。
  3. 图像数据表将存储有关每个图像 blob 的信息。文件类型、上传日期、上传者、尺寸、文件大小、标题、描述、类别、标签等...

为什么要分开 blob 和数据?因为您的 blob 表可能会变得非常大、非常快,并且为了性能和可维护性,将其分离出来可以让您省去麻烦。

为什么将 URL 与 blob/数据表分开?因为同一个图像可以有多个 URL,而无需复制图像数据。

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

关于这一切的实际 SQL,您需要先尝试执行,然后在遇到困难时提出具体问题。我们不是来编写您的代码的:) SQL 并不难学,只需花一些时间使用它即可。

关于php - 保持简单还是使用数据库作为照片库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18282327/

相关文章:

php - 在数据库中安全存储 HTML,而不影响字符编码

php - 我找到了一个 $_GET ['var' ] == 一个 SQL 语句 - 有什么风险?

php - 验证电子邮件地址是否存在

mysql - 单列表的主键数据类型

mysql - 发票表格设计

php - 如何查询多个表并使用附加

php - 格式化JSON_ENCODED数据PHP Highcharts

php - 检查 mysql 列中是否存在某个值

php - 使用 cron 时的 MySQL 性能差异

MySql C API : are prepared statement named parameters supported?