Phpthumbof и генерируемые имена файлов
Всем привет,
Один из вариантов генерации имен файлов в Phpthumbof выглядит как кэш md5 и id ресурса на котором он выводится, эти настройки находятся в файле phpthumbof.class.php, а именно строка 306:
$this->cacheFilename .= '.'.md5(serialize($this->options)).$this->modx->resource->get('id');
Здесь можно удалить md5 или id, но так как я не дружу с php не могу сделать чтобы вместо md5 и id выводился размер изображения, т.е. при добавления изображения «filename.jpg» которое должно выводиться в одном превью с размером 80x40, а в другом с размером 200x100, должны генерироваться два файла, один «filename_80x40.jpg», второй соответственно «filename_200x100.jpg».
Может есть у кого решение?
Один из вариантов генерации имен файлов в Phpthumbof выглядит как кэш md5 и id ресурса на котором он выводится, эти настройки находятся в файле phpthumbof.class.php, а именно строка 306:
$this->cacheFilename .= '.'.md5(serialize($this->options)).$this->modx->resource->get('id');
Здесь можно удалить md5 или id, но так как я не дружу с php не могу сделать чтобы вместо md5 и id выводился размер изображения, т.е. при добавления изображения «filename.jpg» которое должно выводиться в одном превью с размером 80x40, а в другом с размером 200x100, должны генерироваться два файла, один «filename_80x40.jpg», второй соответственно «filename_200x100.jpg».
Может есть у кого решение?
Комментарии: 6
Если в кратце, то не зря же сделали serialize($this->options), помимо желания получить файл вида:
один «filename_80x40.jpg», второй соответственно «filename_200x100.jpg»
Может существовать куча доп опций. так вот чтоб ваши картинки случайно не перетёрли в кэше друг друга и делается имя файла из всех опций в md5.
Но если уверены что такого на Вашем сайте никогда не случится, то можно:
1. напрямую внеспи изменения в компонент — все изменения потеряются при обновлении
2. написать собственную обёртку для него (вижу этот вариант более правильным)
один «filename_80x40.jpg», второй соответственно «filename_200x100.jpg»
Может существовать куча доп опций. так вот чтоб ваши картинки случайно не перетёрли в кэше друг друга и делается имя файла из всех опций в md5.
Но если уверены что такого на Вашем сайте никогда не случится, то можно:
1. напрямую внеспи изменения в компонент — все изменения потеряются при обновлении
2. написать собственную обёртку для него (вижу этот вариант более правильным)
Попробуйте дополнение phpthumbon.
Пример:
Пример:
{'phpthumbon' | snippet : [
'input' => '/userdata/med_1.jpg',
'options' => 'w=240&h=100&zc=1'
]}
//Результат
/assets/cache_image/userdata/med_1_240x100_6da.jpg
Спасибо, попробую.
Имена изображений естественно уникальные, плюс добавляю id ресурса для которого они и были загружены. Изменения в компонент мне и нужны, поэтому и спрашиваю, возможно кто-то реализовывал такой вариант. Данное изменение будет правильно не только с «эстетической» точки зрения но и привлекательней для поискового продвижения:
filename.6a213f6166813495c48465047e0adc2e1.jpg vs filename-100x50.jpg
— Ну если ситуацию с md5 я еще могу понять, то приблуда с добавлением всех id ресурсов на котором выводятся превью (включен по дефолту) это что-то с чем-то, к примеру, у меня анонсы с превью тех же новостей выводятся на каждой странице, если таких страниц 100, а анонсов 10, то получается будет сгенерировано 1000 одинаковых превью, очень оптимальное решение.
filename.6a213f6166813495c48465047e0adc2e1.jpg vs filename-100x50.jpg
— Ну если ситуацию с md5 я еще могу понять, то приблуда с добавлением всех id ресурсов на котором выводятся превью (включен по дефолту) это что-то с чем-то, к примеру, у меня анонсы с превью тех же новостей выводятся на каждой странице, если таких страниц 100, а анонсов 10, то получается будет сгенерировано 1000 одинаковых превью, очень оптимальное решение.
Спасибо, попробую.
phpthumbon подходит полностью, только, может кто знает, как удалить из названия картинок 3-х символьный md5 через phpthumbon.make_cachename, а еще лучше задать имя типа filename-100x50.jpg?
Как это сделать через редактирование кода я понял, но хотелось бы через phpthumbon.make_cachename, если возможно.
Как это сделать через редактирование кода я понял, но хотелось бы через phpthumbon.make_cachename, если возможно.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.