制作PHP照片库的有效方法

时间:2013-09-08 16:01:19

标签: php html mysql

我将从头开始构建一个PHP照片库,但我正在尝试确定这样做的最佳方式。我计划将所有照片上传到单个文件夹中,不会有子文件夹,因为我不需要创建单独的相册。

我想出了两种不同的方式来显示图片。我的第一种方法是将所有图片名称存储在MySQL数据库中,只需使用SELECT * FROM pictures,然后让它循环并回显每张图片的HTML <img>标签。

另一种方法是使用PHP来获取图片目录中所有文件的列表,并让它循环执行上面提到的相同的echo HTML <img>标记。

使用这两种方法有什么优点或缺点吗?也许有人有一个更好的解决方案,我只是为了学习目的从头开始制作一个。

3 个答案:

答案 0 :(得分:2)

如果你这样做仅用于学习目的并使用一些100张照片,我会说你应该开始将数据存储在目录中并显示它们。这样您就可以更专注于演示文稿布局。您可以构建一个类来提取图像。

一旦您的布局看起来很棒,您可以扩展数据库以存储图像,编写脚本以将图片迁移到数据库表并扩展类以提取图像以便它们来自数据库而不是文件系统。这将吸引你的思想抽象操作层,进行数据库更改和...版本控制你的更改(我建议使用git)。

通过这种方式,您可以模拟一开始就很少需要的客户端(文件系统上的图片)和他们的需求增长(数据库中的图片),以及如何管理现实生活中的变化。向前迈出一步,你可以在GitHub上控制你的旅程版本。该调用允许StackOverflow用户分叉您的存储库并帮助您更改代码。

答案 1 :(得分:1)

我建议将所有名称存储在数据库中!

优点:

  • 如果您以后计划创建其他表格,它允许建立关系。

  • 它(直接)允许排序

  • 它(直接)允许过滤

缺点:

  • 如果您编辑或删除其中一个文件名,则必须同步文件名和表格。

您还可以将图像存储在数据库中。此选项是否可推荐取决于您的使用案例和访问者数量。有关该主题的更多信息,请参见此处:PHP to store images in MySQL or not?

答案 2 :(得分:1)

我会使用数据库方法。如果您决定为每张图片添加标题,说明,标签或评论,您将更容易实现它。另外,你可以排序。