Benim silme fonksiyonu hedef dosyayı silmez

2 Cevap php

Temelde bir proje tabanlı dosya upload olabilir. Ben bir proje oluşturduğunuzda, yeni bir dizin proje_adı örneğin gibi dizin adı ile oluşturulan > bu-is-a-testi - bu bir testtir. Ama benim sorunum ben bir dizinde bir dosyayı silmek açamadı.

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

Bu sayesinde yardıma ihtiyacım var.

2 Cevap

Well the error message is self-explanatory.
$result is not an object.

Senin sorunun SO soru değil, hata ayıklama meselesidir. Ve meselesi tabii ki, hata mesajları okuma. Niye zaten PHP açıklama varsa yanlış neler burada soruyorsun? Ve, diğer taraftan, burada öğle vakti kodunuzu bilmek ve geri dönmek gerekiyordu değişken get_work ($ id) ne tür hiçbir fikrim yok.

Bu çizgi parlak:

if (isset($result)){

Tabii ki ayarlanır, bunu 3 kez kurdunuz!

Eğer dönmek her sonuç için farklı değişken isimleri kullanın. Neden kullanmayın:

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

Bu işe yaramazsa, bazı hata ayıklama adımları deneyin.

var_dump($this->work_model->delete($id));

Bu size YANLIŞ / DOĞRU, şu anda bu unlink erroring ya da başarılı değil neden olan YANLIŞ kabul ediyorum söyleyecektir.

Ayıkla ileri yoludur. Biz sizin için bunu yapamam!