Удалениеизображения товара

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

korshunov
korshunov
Репутация: 148
Сообщения: 1859
Зарегистрирован: 03.12.2015
С нами: 8 лет 4 месяца
Skype

Сообщение #1 korshunov » 13.09.2016, 15:47

В api/Products.php есть фрагмент

Код: Выделить всё

            // Удалить все ресайзы
            $rezised_images = glob($this->config->root_dir.$this->config->resized_images_dir.$file.".*x*.".$ext);
            if(is_array($rezised_images)) {
                foreach (glob($this->config->root_dir.$this->config->resized_images_dir.$file.".*x*.".$ext) as $f) {
                    @unlink($f);
                }
            }


Сразу видно целых два недостатка:
1. Дважды повторяется один и тот же вызов glob(...), хотя при первом вызове результат запомнен в переменной. Явно нерационально и лишняя нагрузка.
2. Если удаляется файл с базовым именем, например, a.jpg, то будут удаляться, наряду с a.100x200.jpg, также и файлы с названиями вида apple.100x200.jpg, относящиеся к ДРУГОМУ изображению. Беда, конечно, небольшая, так как файлы будут созданы автоматически заново. Но опять же получаем лишнюю нагрузку.

Два очевидных ляпа в таком простом действии - это много. Неаккуратность разработчиков налицо...

Название раздела: Баг-репорт OkayCMS (Сообщения об ошибках)
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Баг-репорт OkayCMS (Сообщения об ошибках)»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 21 гость