Вопрос по thumbnails, image-manipulation, image, javascript, php – PHP / JS - создавайте миниатюры на лету или сохраняйте их в виде файлов

2

Для веб-приложения для размещения изображений:

Для моих сохраненных изображений возможно ли создавать миниатюры на лету с использованием PHP (или чего-то еще), или я должен сохранить 1 или более миниатюр разных размеров на диск и просто загрузить их?

Любая помощь приветствуется.

Ваш Ответ

5   ответов
11

Сохраните эскизы на диск. Обработка изображений занимает много ресурсов и, в зависимости от размера изображения, может превышать допустимый предел памяти по умолчанию для php. Это не имеет значения, если у вас есть собственный сервер, на котором работает только ваше приложение, но для изменения размера изображений по-прежнему требуется много ресурсов процессора и памяти. Если вы все равно планируете создавать миниатюры на лету, вам не нужно сильно менять - при первом запросе создайте миниатюру из исходного файла, сохраните ее на диск, а при последующих запросах просто прочитайте ее с диска.

0

проверитьБД библиотека а такжеImageMagick

2

я используюphpThumb, так как это лучшее из обоих миров. Вы можете создавать эскизы на лету, но он автоматически кэширует изображения для ускорения будущих запросов. Это создает хорошую оболочку вокруг библиотек GD и ImageMagick. Стоит посмотреть!

1

Было бы намного лучше кэшировать миниатюры. Генерация их на лету была бы очень сложной для системы.

1

Это зависит от модели использования сайта, но, в принципе, сколько раз вы ожидаете увидеть каждое изображение?

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

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

Или, если вы хотите получить фантазию, вы можете оптимизировать обработку любого шаблона доступа, генерируя изображения на лету в первый раз, когда они необходимы, а затем показывая предварительно сгенерированное изображение до тех пор, пока не будут получены данные, сгенерированные из него. изменения, после чего вы удаляете его, чтобы он был восстановлен в следующий раз, когда это необходимо. Но это было бы излишним для чего-то столь же статичного, как миниатюры, ИМО.

Похожие вопросы