【发布时间】:2020-02-14 22:21:28
【问题描述】:
所以我为用户提供了一个平台,允许他们上传大量图片。目前,我让我的服务器调整大小并将所有图像单独保存到我的 CDN (这样我可以选择最佳选项以减少用户请求查看它时的加载时间),但似乎在服务器存储方面非常浪费。
图像正在转换为 1200 像素、500 像素、140 像素、40 像素和 24 像素的分辨率。
我想知道的是,将文件保存为 1200 像素,然后使用 ImageMagick 之类的东西通过 PHP 以请求的大小提供它会更有效吗?是否会有任何重大的取舍,如果是,是否值得?
我现在在做什么:
我可以做的一个例子:
https://v1x-3.hbcdn.net/image.php?type=user&file=filename&resolution=500
干杯。
【问题讨论】:
-
您的提议与所有性能优化一样,是一种权衡。是的,您将节省服务器空间,但这会以请求时间和 CPU 利用率为代价,因为您需要在每个请求上调整图像大小。如果您还没有在文件系统上缓存图像,您可以通过仅按需调整图像大小来降低此成本。一般来说,服务器磁盘空间基本上是空闲的,所以你应该有充分的理由在这方面优化大小。
-
我必须承认这是个好问题,但这听起来是基于意见和本地化的。看看答案吧,值得一读。
-
您可以使用 Imagemagick 在一个命令行中一次读取图像中调整大小并保存为您想要的所有大小。请参阅imagemagick.org/Usage/files/#write 命令行中的括号处理。您可以编写一个脚本,然后在上传时处理每个图像
标签: php image-processing image-resizing