删除代码点火器中的文件夹



UPDATE:我已经解决了,我不知道怎么解决,但它现在正在工作,这是新的更新功能,以防任何未来的用户发现自己遇到类似的问题。

假设 $id var 来自一个获取要删除的数据的当前 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']."/");
}

有人可以帮助我吗?

您需要提供完整的delete_files()路径。轻松完成。只需在路径的开头添加FCPATH即可。这假设assetsapplicationsystem处于同一水平。相应地调整。

FCPATHindex.php所在的同一文件夹的绝对路径。

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

路径上不需要尾部斜杠。如果你这样做也无妨,但无论如何delete_files()都会把它剥掉。

最新更新