PHP照片库的高效制作方法

PHP照片库的高效制作方法,php,html,mysql,Php,Html,Mysql,我打算从头开始建立一个PHP照片库,但我正在努力确定最好的方法。我计划将所有照片上传到一个文件夹中,因为我不需要创建单独的相册,所以不会有子文件夹 我想出了两种不同的方法来展示图片。我的第一种方法是将所有图片名称存储在MySQL数据库中,只需使用SELECT*FROM pictures,然后让它循环并回显每个图片的HTML标记 另一种方法是只使用PHP获取picture目录中所有文件的列表,并让它循环执行与上述相同的echoHTML标记 使用这两种方法有什么优点或缺点?也许有人有更好的解决方案,

我打算从头开始建立一个PHP照片库,但我正在努力确定最好的方法。我计划将所有照片上传到一个文件夹中,因为我不需要创建单独的相册,所以不会有子文件夹

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

另一种方法是只使用PHP获取picture目录中所有文件的列表,并让它循环执行与上述相同的echo
HTML
标记


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

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

优点:

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

  • 它(直接)允许排序

  • 它(直接)允许过滤

缺点:

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

您还可以将图像存储在数据库中。此选项是否值得推荐取决于您的用例和访问量。有关该主题的更多信息,请参见此处:

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

优点:

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

  • 它(直接)允许排序

  • 它(直接)允许过滤

缺点:

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

您还可以将图像存储在数据库中。此选项是否值得推荐取决于您的用例和访问量。有关该主题的更多信息,请参见此处:

我将使用数据库方法。如果你决定在每张图片上添加标题、描述、标签或注释,你将更容易实现它。此外,您还可以进行排序。

我将使用数据库方法。如果你决定在每张图片上添加标题、描述、标签或注释,你将更容易实现它。此外,您还可以进行排序。

如果您这样做只是为了学习,并且使用了100多张照片,那么我建议您首先将数据存储在目录中并显示它们。这将使您能够更加关注演示文稿布局。您可以构建一个类来提取图像

一旦布局看起来很好,就可以扩展数据库来存储图像,编写脚本将图片迁移到数据库表,并扩展类来提取图像,以便它们来自数据库而不是文件系统。这将使您的注意力集中在抽象操作层、进行数据库更改和…控制更改的版本(我推荐git)


通过这种方式,您可以模拟一个最初需求很少的客户机(文件系统中的图片)和他们的需求增长的客户机(数据库中的图片),以及您将如何管理现实生活中的更改。向前迈进一步,您就可以在GitHub上控制自己的旅程。这个调用允许StackOverflow用户进入您的存储库并帮助您更改代码。

如果您这样做只是为了学习目的,并且使用了100多张照片,那么我建议您首先将数据存储在目录中并显示它们。这将使您能够更加关注演示文稿布局。您可以构建一个类来提取图像

一旦布局看起来很好,就可以扩展数据库来存储图像,编写脚本将图片迁移到数据库表,并扩展类来提取图像,以便它们来自数据库而不是文件系统。这将使您的注意力集中在抽象操作层、进行数据库更改和…控制更改的版本(我推荐git)


通过这种方式,您可以模拟一个最初需求很少的客户机(文件系统中的图片)和他们的需求增长的客户机(数据库中的图片),以及您将如何管理现实生活中的更改。向前迈进一步,您就可以在GitHub上控制自己的旅程。该调用允许StackOverflow用户转移您的存储库并帮助您更改代码。

当您达到图像文件的阈值数量时,单个目录将开始减慢速度,因为磁盘上的目录将跨越需要读取多个节点的节点;在较大数量的目录中保留相对较少的文件比在单个目录中保留大量文件要好。出于学习目的,通常最好先阅读其他人的代码,然后编写自己的代码。从安装现有解决方案开始,了解其工作原理。您甚至可以安装不同的映像文件,然后直接查找优缺点,而无需询问其他人,而是自己留下印象。当您达到映像文件的阈值数量时,单个目录将开始减慢速度,因为磁盘上的目录将跨越需要读取多个节点的节点;在较大数量的目录中保留相对较少的文件比在单个目录中保留大量文件要好。出于学习目的,通常最好先阅读其他人的代码,然后编写自己的代码。从安装现有解决方案开始,了解其工作原理。你甚至可以安装不同的,然后直接寻找优点和缺点,不用问别人,而是自己留下印象。这些都是很好的建议。如果我可以添加一个:创建一个透明处理显示图像的抽象层。然后,你可以简单地