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».

Может есть у кого решение?
maxx32456
18 апреля 2017, 02:03
modx.pro
2 588
0

Комментарии: 6

Sergey Perepechin
18 апреля 2017, 13:26
0
Если в кратце, то не зря же сделали serialize($this->options), помимо желания получить файл вида:
один «filename_80x40.jpg», второй соответственно «filename_200x100.jpg»
Может существовать куча доп опций. так вот чтоб ваши картинки случайно не перетёрли в кэше друг друга и делается имя файла из всех опций в md5.

Но если уверены что такого на Вашем сайте никогда не случится, то можно:
1. напрямую внеспи изменения в компонент — все изменения потеряются при обновлении
2. написать собственную обёртку для него (вижу этот вариант более правильным)
    Андрей
    18 апреля 2017, 16:15
    0
    Попробуйте дополнение phpthumbon.

    Пример:
    {'phpthumbon' | snippet : [
        'input' => '/userdata/med_1.jpg',
        'options' => 'w=240&h=100&zc=1'
    ]}
    
    //Результат
    /assets/cache_image/userdata/med_1_240x100_6da.jpg
      maxx32456
      18 апреля 2017, 16:44
      0
      Спасибо, попробую.
      maxx32456
      18 апреля 2017, 16:36
      0
      Имена изображений естественно уникальные, плюс добавляю id ресурса для которого они и были загружены. Изменения в компонент мне и нужны, поэтому и спрашиваю, возможно кто-то реализовывал такой вариант. Данное изменение будет правильно не только с «эстетической» точки зрения но и привлекательней для поискового продвижения:

      filename.6a213f6166813495c48465047e0adc2e1.jpg vs filename-100x50.jpg

      — Ну если ситуацию с md5 я еще могу понять, то приблуда с добавлением всех id ресурсов на котором выводятся превью (включен по дефолту) это что-то с чем-то, к примеру, у меня анонсы с превью тех же новостей выводятся на каждой странице, если таких страниц 100, а анонсов 10, то получается будет сгенерировано 1000 одинаковых превью, очень оптимальное решение.
        maxx32456
        18 апреля 2017, 16:37
        0
        Спасибо, попробую.
          maxx32456
          18 апреля 2017, 23:00
          0
          phpthumbon подходит полностью, только, может кто знает, как удалить из названия картинок 3-х символьный md5 через phpthumbon.make_cachename, а еще лучше задать имя типа filename-100x50.jpg?
          Как это сделать через редактирование кода я понял, но хотелось бы через phpthumbon.make_cachename, если возможно.
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            6