基本上我可以根据项目上传文件。每当我创建项目时,都会创建一个新目录,其目录名称为project_name,例如:这是一个测试 - >这是一个测试。但我的问题是我无法删除目录中的文件。
function delete_image($id)
{
$this->load->model(array('work_model', 'project_model'));
$result = $this->work_model->get_work($id);
$result = $this->project_model->get_project($result->project_id);
$dir = str_replace(" ", "-", $result->project_name);
$result = $this->work_model->delete($id);
if (isset($result)){
unlink('./uploads/' . $dir . '/' . $result->full_path);
}
redirect('admin/project/view_project/' . $result->project_id);
}
需要帮助,谢谢。
答案 0 :(得分:0)
错误信息是不言自明的 $ result不是对象。
你的问题是调试问题,而不是问题。当然,阅读错误信息的问题。如果您已经从PHP获得解释,为什么要问这里出了什么问题?而且,另一方面,没有人知道你的代码,也不知道应该返回什么类型的变量get_work($ id)。
答案 1 :(得分:0)
这条线很精彩:
if (isset($result)){
当然已设定,你已经设定了3次!
为您返回的每个结果使用不同的变量名称。为什么不使用:
function delete_image($id)
{
$this->load->model(array('work_model', 'project_model'));
$work = $this->work_model->get_work($id);
$project = $this->project_model->get_project($work->project_id);
$dir = str_replace(" ", "-", $project->project_name);
if ($this->work_model->delete($id))
{
unlink('./uploads/' . $dir . '/' . $project->full_path);
}
redirect('admin/project/view_project/' . $project->project_id);
}
如果不起作用,请尝试一些调试步骤。
var_dump($this->work_model->delete($id));
这会告诉你TRUE / FALSE,我现在假设它是FALSE,这就是unlink没有错误或成功的原因。
调试是前进的方向。我们不能为你做到这一点!