phpThumbOf
Последнее обновление not available | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$204 per month—let's make that $500!
Learn moreЧто такое phpThumbOf?¶
phpThumbOf это безопасный пользовательский Output Filter для MODX Revolution. С его помощью вы применяете phpThumb к любому URL изображения, указанному в placeholder.
Требования¶
- MODX Revolution 2.0.4 или новее
- PHP5 или новее
История¶
phpThumbOf написал Shaun McCormick как безопасный output filter для phpThumb. Первый релиз вышел 3 ноября 2010 года.
Загрузка¶
Пакет устанавливают через менеджер MODX Revolution в разделе Package Management или скачивают из репозитория MODX Extras: https://modx.com/extras/package/phpthumbof
Атрибуты¶
- w = ширина (в пикселях)
- h = высота (в пикселях)
- zc = Zoom Cropping. Укажите 1, чтобы включить zoom cropping.
Примеры использования¶
Преобразуйте изображение до 120×120 px.
[[*image:phpthumbof=`w=120&h=120`]]
Создайте миниатюру 300×300 с zoom cropping.
[[*thumbnailImage:phpthumbof=`w=300&h=300&zc=1`]]
Если вы используете TV, Output Type для TV должен быть text.
Перечисленные свойства не единственные для phpthumbof. Дополнительную документацию по phpThumb найдёте через Google или в readme (все свойства примерно на треть ниже).
Дальше¶
Больше примеров серверной обработки изображений и подробный разбор продвинутого использования phpthumbof от Aaron Belafonte на его блоге: статья здесь.
Использование Amazon S3¶
phpThumbOf может хранить кэшированные изображения в Amazon S3 вместо локального диска. Вы также можете раздавать их через CDN Amazon CloudFront. Сначала создайте аккаунт Amazon AWS и bucket Amazon S3 для phpThumbOf. Для CloudFront настройте distribution для этого bucket и при необходимости алиас домена.
Следующие системные настройки включают Amazon S3 в phpThumbOf. Их можно переопределить, вызвав phpThumbOf как сниппет с другими параметрами в вызове или через property set.
| System Setting Name | Key | Description |
|---|---|---|
| Amazon S3 Bucket | phpthumbof.s3_bucket | Имя bucket Amazon S3 для phpThumbOf. |
| Amazon S3 Cache Time | phpthumbof.s3_cache_time | Сколько часов хранить миниатюру в Amazon S3. Более старые миниатюры автоматически пересоздаются при некэшированном вызове phpThumbOf. Если включён плагин phpThumbOfCacheManager, он очищает все миниатюры в Amazon S3 при очистке кэша сайта. |
| Use PHP get_headers to Check Modified Date | phpthumbof.s3_headers_check | При значении «Yes» phpThumbOf использует get_headers PHP для проверки даты изменения thumbos в S3. По умолчанию «No»: phpThumbOf вызывает Amazon S3 get_object_url, что быстрее. Включите эту опцию при проблемах с кэшированием. |
| Amazon S3 Host Alias | phpthumbof.s3_host_alias | Если вы используете CNAME или другой алиас для домена S3, укажите его здесь без завершающего слэша. Для CloudFront укажите домен доставки: домен distribution или алиас для него. |
| Amazon S3 Key | phpthumbof.s3_key | Access Key ID аккаунта Amazon S3 со страницы Security Credentials. |
| Amazon S3 Bucket Path | phpthumbof.s3_path | Путь в bucket Amazon S3 для файлов кэша phpThumbOf. |
| Amazon S3 Secret Key | phpthumbof.s3_secret_key | Secret Access Key аккаунта Amazon S3 со страницы Security Credentials |
| Use Amazon S3 | phpthumbof.use_s3 | После настройки всех параметров выше установите «Yes», чтобы хранить кэшированные миниатюры в bucket Amazon S3. |
Если места на диске достаточно и вы не генерируете много разных динамических миниатюр, отключите плагин phpThumbOfCacheManager при работе с Amazon S3 для лучшей производительности. После очистки кэша сайта или при некэшированном вызове phpThumbOf проверяет, есть ли миниатюра уже в Amazon S3, прежде чем создать её заново. phpThumbOf всё равно пересоздаёт кэш при некэшированном вызове, если миниатюра старше числа часов из настройки Amazon S3 Cache Time.
Примеры не для изображений¶
phpThumb принимает широкий набор форматов при включённом ImageMagick на сервере, что открывает интересные сценарии. Список форматов зависит от провайдера. Среди вариантов:
- AI
- AVI
- EPS
- M4V
- MP4
- PSD
Supported Input Formats A, AI, ART, ARW, AVI, AVS, B, BGR, BMP, BMP2, BMP3, BRF, BRG, C, CALS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CRW, CUR, CUT, DCM, DCR, DCX, DDS, DFONT, DNG, DOT, DPS, DPX, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, FAX, FITS, FRACTAL, FTS, G, G3, GBR, GIF, GIF87, GRADIENT, GRAY, GRB, HALD, HISTOGRAM, HRZ, HTM, HTML, ICB, ICO, ICON, INFO, INLINE, IPL, ISOBRL, JNG, JP2, JPC, JPEG, JPG, JPX, K, K25, KDC, LABEL, M, M2V, M4V, MAP, MAT, MATTE, MIFF, MNG, MONO, MOV, MP4, MPC, MPEG, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NULL, O, ORF, OTB, OTF, PAL, PALM, PAM, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG24, PNG32, PNG8, PNM, PPM, PREVIEW, PS, PS2, PS3, PSD, PTIF, PWP, R, RADIAL-GRADIENT, RAF, RAS, RBG, RGB, RGBA, RGBO, RLA, RLE, SCR, SCT, SFW, SGI, SHTML, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UIL, UYVY, VDA, VICAR, VID, VIFF, VST, WBMP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, Y, YCbCr, YCbCrA, YUV
С phpThumbOf вы работаете с большинством этих форматов напрямую и динамически создаёте превью. Если вы отдаёте PDF для скачивания, можно сгенерировать jpg-превью так:
[[*downloadable-pdf:phpthumbof=`w=610&f=jpg`]]
[[!phpthumbof? &input=`[[+pdf-link]]` &options=`&w=610&f=jpg`]]
При работе с крупными файлами выше риск превысить лимиты ресурсов. Кэширование сильно снижает вероятность проблем.
Устранение неполадок¶
- Убедитесь, что каталог
assets/components/phpthumbof/cacheсоздан и доступен PHP для записи - Убедитесь, что ImageMagick установлен и включён в PHP
- Если хост использует symlinks в структуре каталогов, проверьте, что они указывают на корректный реальный путь в
core/config/config.inc.php
Смотрите также¶
Вы также можете вызывать phpThumbOf как обычный сниппет:
[[!phpthumbof? &input=`[[+filename]]` &options=`&w=640&h=480&zc=0&aoe=0&far=0`]]
&aoe=0&far=0 не увеличивает изображения меньше заданного размера.
Чтобы получить скруглённые «сферические» изображения в IE7/IE8, добавьте &fltr\[\]=ric|x|x к аргументам. Замените X на width/2 и height/2. :)
Проект на GitHub, там же сообщают об ошибках.
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$204 per month—let's make that $500!
Learn more










