Чертов Кеш созданного снипетом изобрражения

Ребята, всю голову изломал, ситуация следующая, написал снипет (как мог, в php не бог) который накладывает текст на изображение. Есть рисунок, и есть форма с именем пользователя, он отправляет форму и имя его накладывается на изображение, все работает, но если он в форме еще раз меняет имя и отправляет опять форму, ему показывается первый рисунок, хотя в папке он уже другой, то есть из кеша берется рисунок. Я и так и так пробовал, в имя добавлял дату что бы всегда новый был рисунок, так порядок, но может накопиться куча рисунков от одного юзера, не вариант, но вот с постоянно заменяемым одним рисунком кеш не показывает обновленный рисунок :( как быть? Подскажите куда копать пожалуйста?

Вот код снипета моего limagehandler
<?php
// наше изображение
$img = ImageCreateFromJPEG("uploads/img.jpg");

$thumb_file = "uploads/";
$id_user = $modx->user->get('id');
$dir = $thumb_file.$id_user;
$path = mkdir($dir, 0777);

$name = isset($_POST[name]) ? $modx->stripTags($_POST[name]): '';

// определяем цвет, в RGB
$color2 =  imagecolorallocate($img, 111, 213, 232);

// указываем путь к шрифту
$font = 'site/fonts/Robotobold.ttf';

imagettftext($img,  80, 0, 730, 930, $color, $font, $name); // Имя

imagejpeg($img, $dir.'/img_'.$id_user.'.jpg', 100);

$img = $dir."/img_".$id_user.".jpg";

return $modx->setPlaceholder('img-c',$img);
$modx->cacheManager->delete($userId, array(xPDO::OPT_CACHE_KEY=>'users_data'));

Код укоротил, он работает, вызываю на странице так:
[[!limagehandler]]
<img width="100%" src="[[!+img-c]]" alt=""/>
Главное на хостинге подменяется картинка новая, но она с тем же именем, и браузер после обновления страницы показывает старую, не могу побороть эту беду. Как быть?
Роман
03 апреля 2017, 10:42
modx.pro
2
1 106
0

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

Наумов Алексей
03 апреля 2017, 14:10
0
Имя jpg файла делайте разное, добавляйте или текущее время к нему, или случайный id, или $name в транслите — что угодно.
    Роман
    03 апреля 2017, 14:34
    0
    Да да, в имя файла делал разное, так работает, но их куча становится у пользователя в папке, место кончится быстро :)) если кто то начнет играться с именем, старый то файл уже не подменяется и не удаляется.
    Кирилл
    03 апреля 2017, 14:22
    +1
    Либо можно добавить в img рандомные числа в качестве get параметров:

    <img width="100%" src="[[!+img-c]]?213124" alt=""/>
      Роман
      03 апреля 2017, 14:37
      0
      Это интересно, спасибо, сейчас попробую.
        Роман
        03 апреля 2017, 16:37
        0
        Да, так намного лучше :)
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5