PHP图像优化器

Har*_*M V 4 php api optimization image

我们正在构建一个Web应用程序,它将会上传大量图像.哪个是优化这些图像并将其存储在网站上的最佳解决方案?

还有一种方法我可以自动增强正在上传的图像?

bin*_*yLV 11

  1. 不要将图像存储在DB中,将它们存储在文件系统中(作为真实文件).您可能需要在数据库中存储有关它们的信息,例如文件名,上传时间,大小,所有者等.
  2. 文件名必须是唯一的.您可以使用yyyymmddhhiissnnnn,yyyymmdd年份,月份和日期,hhiiss- 小时,分钟和秒,nnnn- 第二个图像的数量,即0001第一个图像,0002第二个图像等.这将为您提供具有精细排序的唯一文件名.
  3. 考虑制作一些逻辑目录结构.在单个文件夹中存储数百万个图像并不是一个好主意,所以你需要有类似的东西images/<x>/<y>/<z>/<filename>.这也可以跨越多个服务器.
  4. 保留原始图像.你永远不会知道一两年后你想用什么图像.您可以将它们转换为某种常见格式,即,如果您允许上传JPG,PNG和其他格式,则可以将它们全部存储为JPG.
  5. 创建和存储您网站所需的各种已调整大小的图像.例如,社交网络通常有3种调整大小的图像 - 一种用于在各个地方显示用户评论(非常小),一种用于在个人资料页面中显示(非常小,但不像图标;可能是一些240x320像素)和一个用于"全尺寸"观看(通常小于原始尺寸).这些相关图像的文件名应该类似于原始图像的文件名,例如后缀_icon,_profile并且_full可以添加到原始图像的文件名中.根据您的资源和同时上传的图像数量,您可以实时(在相同的HTTP请求中)或使用一些后台处理(连续检查是否有新图像的cron作业)转换).

至于自动增强图像 - 这是可能的,但前提是你确切知道必须对图像做些什么.我认为分析每个图像并决定应该用它做什么可能太复杂并且需要太多资源.