我将有大约20万张图片作为我网站的一部分。 每个图像将被存储3次:全尺寸,缩略图,更大的缩略图。 全尺寸图像大约在50Kb到500Kb之间。
正常的技术:在VPS上的Linux,Apache,MysqL,PHP。
我应该将所有内容存储在一个文件夹中吗 我应该存储全尺寸的图像在一个文件夹,在另一个缩略图等? 我应该将图像存储在1000个文件夹中,并且保留图像所在的文件夹的索引?
位图正在拉伸,而不是平铺
只显示全屏图像的EXE
通过命令行拍摄的Android屏幕截图的图像格式
转储原始图像数据
感谢您的任何build议。 伟业。
在Windows上比较图像的工具
应用简单的水印后图像大小急剧增加
使用16位有符号格式打开简历无法正常工作裁剪和重新调整图像的大小
微软推荐什么本地API来渲染2Dgraphics?
使用GDI显示图像的红色通道
我会使用一个三层或四层深度的分割目录结构,将所有文件均匀地分散到多个目录中,以便于维护和快速访问。
怎么做? 有多种选择:
以名字的散列的第一个字符
以自拍摄日期1970年以来的最后秒数
假设我们有IMG8993_full.jpg,IMG8993_thumb.jpg,IMG8993_smallthumb.jpg
那么我们可以有,例如:
/images/I/M/G/8/IMG8993: IMG8993_full.jpg IMG8993_thumb.jpg IMG8993_smallthumb.jpg
除非你的用户打开一个打开的文件夹,其目录列出了你的图像,我不认为文件夹结构会显着增加或减少你的用户的检索速度。 正如其他人所说,确保索引打开。 但是,如果我是你,我会研究(或复制和粘贴)动态提供图像的服务,而不是直接将它们存储在Web文件结构中。 在PHP中查看使用LibGD – 应该在大多数LAMP服务器上预安装。
缺点:
通过服务提供图像比提供直接链接慢一点
如果您使用后端图像存储(如数据库),则可能会导致系统崩溃,并使所有图像暂时不可用
优点:
通过将图像动态调整为缩略图,可以节省存储空间,并使维护更加轻松
一般来说,处理器速度比存储空间便宜
使用URL重写,你甚至可以把丑陋的URL,如
/imageserver.PHP?userID=12345imageId=67890&size=full
变成更光滑,更透明的用户:
/jeremyZX/images/myPhoto.jpg /jeremyZX/images/tn/myPhoto.jpg
这将给出整个图像目录结构的外观,而它们确实存储在任何你想要的后端格式中。
取决于你如何索引他们,如何检索他们。
没有什么特别的将它们全部存储在单个文件夹中,但是难以管理。 如果按文件名存储它们,并且文件名是合理正态分布的,则可能希望子文件夹以名称的首字母等进行分隔。如果按照添加的日期进行索引,则可能需要按照。
据我所知,没有“更快”或“更慢”的方式来存储浏览器检索的图像。
无论你做什么,都要确保在文件系统上启用了目录索引(你应该选择一个支持它的文件系统 – 但它们都是)
在实践中,例如ext3,这不是一个问题,因为它在新系统上默认启用。 你可以通过使用tune2fs找到(阅读该男子)
有了这些类型的数字,你可能会或可能不会遇到你的服务器上设置的inode限制。 这可能是有问题的取决于谁控制那个盒子。
总的来说,我会想出一些方案把它们分成更易于管理的尺寸。 即使在一个大小的目录上运行ls也需要很长时间来对其进行排序和显示。