Страница 1 из 1

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

Добавлено: 26.05.2020, 17:51
trainracing
Версия 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']));
            }

Добавлено: 02.06.2020, 20:21
trainracing
Ответит хоть кто?

Добавлено: 03.06.2020, 05:23
korshunov
С ходу видно что-то странное:
... $this->config->root_dir.$this->root_dir ...

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

Добавлено: 05.06.2020, 15:13
zyxer
думаю вам нужно сделать как-то так:

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

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);
        }
    }
}