代码之家  ›  专栏  ›  技术社区  ›  Matt

如何将HTML块中的所有图像调整为特定宽度并缓存结果

  •  0
  • Matt  · 技术社区  · 16 年前

    我正在为php中的定制cms编写一个移动内容适配插件。CMS包含 <img/> 链接到具有绝对url的图片,这些图片都是400像素宽,高度不同。

    我想解析HTML(存储在MySQL中)并将每个图像重新缩放到一个新的宽度-这将根据设备的不同而有所不同。我还想缓存图像,以防止每次加载页面时不必要地动态调整它们的大小

    使用imagemagick或gd在php中实现这一点的最佳方法是什么?

    2 回复  |  直到 13 年前
        1
  •  2
  •   Owen Ryan Doherty    16 年前

    做点不同的事怎么样?基本上是将缓存/大小调整卸载到按需模型。假设您的应用程序正在设备A上运行,它需要200x200个图像。您可以将图像链接更改为:

    <img src="/images/image.php?height=200&width=200&source=filename.jpg" />
    

    image.php可以是执行以下操作的脚本:

    • 确保现有文件存在,如果存在此大小,则从缓存中获取它
    • 如果没有,请调整图像大小并将其缓存

    下次你的应用程序查找该图像时,它将以200px的大小返回。或者,如果应用程序现在正在寻找一个300x300的图像,它将在新的请求中构建/缓存。

        2
  •  0
  •   Community ƒernando Valle    7 年前

    Best way to cache resized images using PHP and MySQL
    对于缓存机制(特别是apache webserver干预概念)有非常好的想法

    http://phpthumb.sourceforge.net/ 它同时使用imagemagick和gd进行封装。