Удаление папки в CodeIgniter

ОБНОВЛЕНИЕ: Я уже решил, я не знаю, как, но теперь он работает, вот это новая функция обновления на случай, если какие-либо будущие пользователи столкнутся с подобной проблемой.

Предполагая, что переменная $ id происходит от функции, которая извлекает текущий идентификатор удаляемых данных, и предполагая, что у вас уже есть функция, которая создает папки в соответствии с именами пользователей, следующее должно работать !.

public function delete($id)
{
$this->db->where('id', $id);
$this->db->delete($this->table);


// If users closes his account, all of his folders should be deleted as well
$item = $this->get($id)->username;
//varDebug($item);
delete_files(FCPATH."assets/img/users/avatars/".$item, TRUE);
delete_files(FCPATH."assets/img/users/covers/".$item, TRUE);
delete_files(FCPATH."assets/img/users/status/".$item, TRUE);
rmdir("assets/img/users/avatars/".$item);
rmdir("assets/img/users/covers/".$item);
rmdir("assets/img/users/status/".$item);
}

У меня есть форма регистрации, в которой пользователи могут зарегистрироваться, чтобы создать свою учетную запись в моем приложении, и я даю им возможность загружать свои собственные фотографии и т. Д. Пока все работает хорошо.

Проблема возникает, когда пользователь и / или администратор удаляет учетную запись пользователя. Например, я, как администратор, решаю удалить учетную запись Брайана, все его папки также должны быть удалены.

Текущий вывод — это удаление всех (если их больше, чем его собственная учетная запись) папок вместо его собственной учетной записи.

Итак, вот что у меня есть в моей модели:

public function delete($id)
{
$this->db->where('id', $id);
$this->db->delete($this->table);


// If users closes his account, all of his folders should be deleted as well
$item = $this->get($id);
delete_files("assets/img/users/avatars/".$item['username']."/", TRUE);
delete_files("assets/img/users/covers/".$item['username']."/", TRUE);
delete_files("assets/img/users/status/".$item['username']."/", TRUE);
rmdir("assets/img/users/avatars/".$item['username']."/");
rmdir("assets/img/users/covers/".$item['username']."/");
rmdir("assets/img/users/status/".$item['username']."/");
}

Может кто-то помочь мне с этим?

0

Решение

Вы должны предоставить полный путь к delete_files(), Легко сделано. Просто добавь FCPATH к началу путей. Это предполагает, что assets находится на том же уровне, что и application а также system, Отрегулируйте соответственно.

FCPATH это абсолютный путь к той же папке, index.php в.

delete_files(FCPATH."assets/img/users/avatars/".$item['username'], TRUE);

Вам не нужен косой черты на пути. Без вреда, если вы делаете, но delete_files() все равно скину

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]