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

发布于 2024-07-07 18:28:51 字数 248 浏览 3 评论 0原文

我正在用 PHP 为定制 CMS 编写移动内容适配插件。 CMS 包含带有绝对 URL 的图像的 链接,这些图像的宽度均为 400 像素,高度各不相同。

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

使用 ImageMagick 或 GD 在 PHP 中实现此目的的最佳方法是什么?

I'm writing a mobile content adaptation plugin for a bespoke CMS in PHP. The CMS contains <img/> links to images with absolute URLs which are all 400 pixels wide and vary in height.

I'd like to parse the HTML (which is stored in MySQL) and re-scale each image to a new width - this will vary according to the device. I'd also like to cache the images to prevent needlessly resizing them on-the-fly every time the page is loaded

What's the best way for me to achieve this in PHP using either ImageMagick or GD?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

偏爱自由 2024-07-14 18:28:51

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

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

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

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

在下一个缓存 中缓存它当您的应用程序查找该图像时,它将以 200 像素大小发回。 或者,如果应用程序现在正在寻找 300x300 图像,则将根据新请求构建/缓存该图像。

what about doing something a bit different. basically off load the caching/resizing to an on demand model. so say your application is being run on device A, which requires 200x200 images. you'd change the image links to:

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

image.php could be a script which does the following:

  • make sure the existing file exists, and grab it from cache if it exists at this size
  • if not, resize the image and cache it

the next time your app looks for that image, it would be sent back at the 200px size. alternatively, if the app is now looking for a 300x300 image, that would be built/cached on the new request.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文