не удаляется фото (кабинет пользователя)

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

trainracing M
Аватара
trainracing M
Возраст: 31
Репутация: 13
Сообщения: 121
Зарегистрирован: 07.10.2016
С нами: 7 лет 5 месяцев
Сайт

Сообщение #1 trainracing » 26.05.2020, 17:51

Версия okay 2.3.4
Добавил поле в бд,код в апи, в конфиге, в ресайзе и в клиентской части, загрузка ресайз и отображение работает отлично, но при обновлении фото пользователем, старое фото не удаляется, что неправильно в коде?

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

if ($this->request->post('delete_image')) {
                unlink($this->config->root_dir.$this->root_dir.$this->config->original_user_dir.$image['name']);
                }
$image = $this->request->files('image');
            if(!empty($image['name']) && in_array(strtolower(pathinfo($image['name'], PATHINFO_EXTENSION)), $this->allowed_image_extentions))
            {
            move_uploaded_file($image['tmp_name'], $this->root_dir.$this->config->original_user_dir.$image['name']);
             $this->image->delete_image($this->user->id, 'image', 'user', $this->config->original_user_dir, $this->config->resized_user_dir);
                   
            $this->users->update_user($this->user->id, array('image'=>$image['name']));
            }

trainracing M
Аватара
trainracing M
Возраст: 31
Репутация: 13
Сообщения: 121
Зарегистрирован: 07.10.2016
С нами: 7 лет 5 месяцев
Сайт

Сообщение #2 trainracing » 02.06.2020, 20:21

Ответит хоть кто?

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

Сообщение #3 korshunov » 03.06.2020, 05:23

С ходу видно что-то странное:
... $this->config->root_dir.$this->root_dir ...

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

zyxer M
zyxer M
Возраст: 32
Репутация: 77
Сообщения: 419
Зарегистрирован: 03.02.2016
С нами: 8 лет 1 месяц
Откуда: Днепр

Сообщение #4 zyxer » 05.06.2020, 15:13

думаю вам нужно сделать как-то так:

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

if ($this->request->post('delete_image')) {
    unlink($this->config->root_dir.$this->config->original_user_dir.$image['name']);
    $file = pathinfo($image['name'], PATHINFO_FILENAME);
    $ext = pathinfo($image['name'], PATHINFO_EXTENSION);
    $rezisedImages = glob($this->config->root_dir.$this->config->resized_user_dir . $file . ".*x*." . $ext);
    if (is_array($rezisedImages)) {
        foreach ($rezisedImages as $f) {
            unlink($f);
        }
    }
}
Всё сказанное мной, является лично моим мнением, и не является официальной позицией OkayCMS


Название раздела: Вопросы по работе с OkayCMS
Правила раздела: faq.php?mode=okay

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


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

   

Вернуться в «Вопросы по работе с OkayCMS»

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

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