gpt4 book ai didi

image - 提供即时调整大小的图像

转载 作者:行者123 更新时间:2023-12-03 11:13:14 25 4
gpt4 key购买 nike

我的公司最近开始遇到我们网站的图像处理问题。

我们有几个网站(成人娱乐)显示图像,如 DVD 封面、快照等。我们有大约 100,000 部电影,对于每部电影,我们平均有 30 张快照 + 封面。对于非成员(member),几乎每张图像都有一个带有模糊和叠加的附加版本,这导致每部电影大约有 50 张图像或总共 500 万张基本图像。每个图像都有多个版本,具体取决于它在页面上的位置(缩略图、原始图像、小预览、不那么小的预览、顶部列表中的小图像等),这会导致图像多于我在乎数。

现在我有了使用服务器即时生成图像的想法,因为为所有不同的页面生成所有不同的图像变得非常笨拙(因为不同的页面有时甚至需要不同的图像大小来完成基本相同的任务) .

有谁知道可以即时缩小图像的图像处理服务器,所以我们只需要提供原始图像,网络人员就可以请求他们需要的任何大小?

要求:

  • 非常高性能(每天几千个用户)
  • 动态模糊和叠加创建
  • 即时调整大小(保持和不保持纵横比)
  • 可以处理数百万张图片
  • 必须能够读取 JPG、GIF、PNG 和 BMP 并在它们之间进行转换

  • 安全性不是那么重要,因为 URL 操作已经可以访问未模糊的图像,更多的安全性会很好,但这不是必需的,坦率地说,我不再关心(在未能进入我的同事头脑之后为什么(对于我们的小经销商)页面)使用 http://example.com/view_image.php?filename=/data/images/01020304.jpg 来显示图像是个坏主意)。

    我们尝试了 PHP 脚本来做到这一点,但对于这么多用户来说,性能太慢了。

    预先感谢您的任何建议。

    最佳答案

    我建议您设置一个专用的 Web 服务器来处理图像调整大小并提供最终结果。我做过类似的事情,虽然规模要小得多。它基本上消除了检查缓存的过程。

    它是这样工作的:

  • 您请求将所需大小附加到文件名的图像,如 http://imageserver/someimage.150x120.jpg
  • 如果图像存在,则不做其他处理就返回(这是重点,缓存检查是隐式的)
  • 如果图像不存在,处理 404 not found 通过 .htaccess 并将请求重新路由到生成所需大小图像的脚本
  • 在脚本中指定允许的大小列表以避免攻击,例如请求所有可能的大小来关闭服务器的脚本
  • 将此保留在无 cookie 域中以最大程度地减少不必要的流量

  • 编辑:我不认为 PHP 本身会减慢这个过程,因为在这种情况下 PHP 脚本被减少到最低限度:图像缩放是由用 C 编写的内置库完成的。无论你做什么,你都必须使用像这样的库(GD 或 libmagick 左右)所以这是不可避免的。至少在我的系统中,您完全跳过了检查缓存的开销,从而进一步减少了 PHP 交互。您可以在现有服务器上实现此功能,因此我想这是一个非常适合您预算的解决方案。

    关于image - 提供即时调整大小的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2237311/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com