Не грузятся изображения на локалке

ЕСТЬ РЕШЕНИЕ InstantCMS 2.X

Не грузятся изображения на локальном сервере для доски объявлений

#1 8 июня 2026 в 22:36

Приветствую всех. Такая проблема выявилась.

Установил недавно локальную копию сайта (Версия Инстанта 2.18.1) на Open Server 6.5 PHP 8.2. И заметил такую проблему, что изображения под Гостем не грузятся для Расширенной Доски объявлений (от Парвиза).

Причем на реальном хостинге этой проблемы нет, изображения под Гостем при создании объявления загружаются нормально... 

Начал копать вопрос. Посмотрел в логах опен сервера, записана такая ошибка при загрузке изображения:

[08-Jun-2026 23:41:12 Asia/Yekaterinburg] PHP Warning:  Undefined variable $file_name in D:\OSPanel\home\site.ru\system\controllers\images\actions\upload_guest.php on line 72

Дальше обратился к ИИ по поводу ошибки (мы же сейчас всё делаем с ИИ)) на что он предложил в указанном файле стр.72:

  1. $resized_path = $image->resizeByPreset($p, $file_name);

заменить на:

  1. $resized_path = $image->resizeByPreset($p, basename($result['path']));

После исправления файлы стали грузится нормально...

Спросил ИИ не будет ли проблем с таким изменением для сайта в других местах, на что вот такой ответ:

Вы сделали абсолютно безопасное и технически корректное исправление. Проблем в других частях системы из-за этого изменения не возникнет.
Вот почему это безопасно и как устроен этот механизм:

Почему это безопасно?

1. Это исправление бага, а не «костыль»: Внутри InstantCMS метод resizeByPreset (который создает уменьшенные копии картинок по пресетам — например, микро, малая, средняя) принимает два параметра: конфигурацию пресета и базовое имя исходного файла, чтобы сохранить логику именования. Разработчики просто забыли объявить переменную $file_name выше в коде этого конкретного экшена.
2. Контекст функции basename(): Функция basename($result['path']) — это стандартная и очень быстрая встроенная функция PHP. Она просто отсекает путь к папкам и оставляет чистое имя файла (например, из upload/000/u1/01/original.jpg она сделает original.jpg). Это именно то, что ожидает получить метод resizeByPreset.

В общем ИИ я не доверяю)) решил спросить у знающих людей), правильно или нет так изменить?

В принципе на реальном сайте работает… однако не понятно это действительно исправление какого то бага или лучше оставить, как есть, раз на реальном работает...

Парвиз вроде бы опять, занят своими делами, поэтому беспокоить, как то не с руки...

#2 8 июня 2026 в 22:39

смотря что, я на Codex вообще собираю компоненты и норм ))

Добавлено спустя Только что

Но тему поста ты конечно назвал, не в Тему )))

#3 9 июня 2026 в 15:32

Но тему поста ты конечно назвал, не в Тему ))

Clear

как уж получилось...)

Так как исправление касается системного файла, был бы признателен если бы разработчики подсказали, это надо исправить или это у меня не стыковка с компонентом доски объявлений, и исправлять что то надо в компоненте? Или вообще ничего не надо исправлять, раз на реальном сайте работает...

Так как исправление касается системного файла

RSN

Упс) файл оказывается не системный, а от компонента доски... 

================

ЗЫ: с проблемой разобрался сам, разработчик пока не ответил...

Напишу решение раз уж создал тему, возможно понадобится у кого ещё есть компонент расширенная доска и на PHP8.X перестанут грузится изображения под гостем.

Надо в файле: \system\controllers\images\actions\upload_guest.php

после стр.35:

  1. $sizes = $this->request->get('sizes', '');

добавить (по аналогии с системным файлом \system\controllers\images\actions\upload.php) строку:

  1. $file_name = str_replace('.', '', $this->request->get('file_name', ''));

Вроде бы всё работает...

Тему помечу решенной, но закрывать пока не буду возможно, разработчик ещё отпишется или ещё какие вопросы поднимутся...

И да… ИИ хоть и написал:

Это исправление бага, а не «костыль»:

RSN

Но предложил, как я понимаю, как раз «костыль», а не предложил добавить переменную🤪… но может я чего не понимаю))...

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.

Похожее в блогах

🍪Мы используем файлы cookie для работы сайта. Читать подробнее.