Как изменить размер всех изображений в блоке HTML до определенной ширины и кэшировать результаты - PullRequest
0 голосов
/ 20 октября 2008

Я пишу плагин для адаптации мобильного контента для заказной CMS на PHP. CMS содержит <img/> ссылки на изображения с абсолютными URL-адресами шириной 400 пикселей и различной высоты.

Я бы хотел проанализировать HTML (который хранится в MySQL) и изменить масштаб каждого изображения до новой ширины - это будет зависеть от устройства. Я также хотел бы кэшировать изображения, чтобы избежать ненужного изменения их размера на лету при каждой загрузке страницы

Какой для меня лучший способ добиться этого в PHP, используя ImageMagick или GD?

Ответы [ 2 ]

2 голосов
/ 20 октября 2008

как насчет того, чтобы сделать что-то немного другое? в основном не загружать кеширование / изменение размера до модели по требованию. скажем, ваше приложение запускается на устройстве A, которому требуется 200x200 изображений. Вы бы изменили ссылки на изображения на:

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

image.php может быть скриптом, который выполняет следующее:

  • убедитесь, что существующий файл существует, и извлеките его из кэша, если он существует в этом размере
  • если нет, измените размер изображения и кэшируйте его

в следующий раз, когда ваше приложение будет искать это изображение, оно будет отправлено обратно в размере 200 пикселей. альтернативно, если приложение теперь ищет изображение размером 300x300, оно будет построено / кэшировано по новому запросу.

0 голосов
/ 20 октября 2008

SEE Лучший способ кэшировать изображения с измененным размером, используя PHP и MySQL
для действительно хороших идей о механизме кэширования (особенно концепция вмешательства веб-сервера Apache)

и

http://phpthumb.sourceforge.net/, который инкапсулирует, используя либо ImageMagick, либо GD.

...