使用php或数据库从文件夹中读取图像

时间:2011-06-13 21:33:03

标签: php mysql database file

使用简单的php直接从文件系统读取和列出图像是否更好,或者将图像元信息和文件名存储在数据库中并通过执行mysql选择来访问图像更好。两种解决方案的优缺点是什么?

4 个答案:

答案 0 :(得分:1)

我会做以下事情:

  1. 将所有图片上传到一个目录
  2. 存储对与上传者的用户ID相关联的图像的引用
  3. 然后只需选择与该ID绑定的图片网址,然后根据需要输出它们。

答案 1 :(得分:1)

在文件系统上列出文件可能是完成您尝试执行的操作的最简单方法,但如果您尝试循环使用几个文件,那么非常会很慢网络文件系统上的一千个目录/文件(NFS,CIFS,GlusterFS等)。

在数据库中存储文件会产生更多开销,因为您现在涉及外部应用程序来存储信息。您必须记住,每次使用数据库时,您还使用网络I / O,身份验证机制,查询解析器等。同时,所有这些开销都可以提供比使用网络文件系统更快的响应。

总而言之 - 一切都取决于您使用的文件数量和底层基础架构。需要注意的两个主要问题是磁盘I / O和网络I / O.

答案 2 :(得分:0)

人们发现将文件存储在文件夹中并使用php解析该文件夹更容易。如果你使用数据库方法,数据库最终会变得越来越大。

我可以看到它成为个人偏好,但我个人已经解决了图像文件夹而不是将其存储在数据库中。

取决于你正在做的事情的规模。

答案 3 :(得分:0)

这就是我要做的事。

  1. 将文件元数据存储在数据库中。您可以通过这种方式存储有关此图像的大量信息。
  2. 将映像文件存储在Amazon S3等分布式存储系统上。将路径存储在元数据中。复制是系统的一部分。它可以轻松地与Cloudfront CDN集成。
  3. 通过Amazon Cloudfront CDN分发图像。