Моя функция удаления не удаляет целевой файл - PullRequest
0 голосов
/ 13 марта 2010

В основном я мог загружать файлы на основе проекта. Всякий раз, когда я создаю проект, создается новый каталог с именем каталога в качестве имя_проекта, например это тест -> это тест. Но моя проблема в том, что я не могу удалить файл в каталоге.

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

Нужна помощь в этом спасибо.

Ответы [ 2 ]

0 голосов
/ 13 марта 2010

Эта строка блестящая:

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

Это скажет вам ИСТИНА / ЛОЖЬ, я бы предположил, что сейчас это ЛОЖЬ, поэтому unlink не дает ошибок или не работает

Отладка - путь вперед. Мы не можем сделать это для вас!

0 голосов
/ 13 марта 2010

Ну, сообщение об ошибке самоочевидно.
$ result не является объектом.

Ваша проблема заключается в отладке, а не в ТАКОМ вопросе. И дело в чтении сообщений об ошибках, конечно. Почему вы спрашиваете здесь, что происходит, если у вас уже есть объяснение от вашего PHP? И, с другой стороны, никто здесь не знает ваш код и не знает, какой тип переменной get_work ($ id) должен возвращать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...