Как отменить связь файлов с Codeigniter? - PullRequest
0 голосов
/ 23 декабря 2019

Я хочу заменить файл, но после того, как я попробовал, файл не был заменен, но здесь мой файл не обновлен. Я хотел бы удалить файл, найденный на моем локальном хосте. Может ли кто-нибудь помочь мне с этим Мой контроллер

public function updatesp2d_action() 
{
    $config = array(
    'upload_path'=>'./assets/datasp2d/',
    'allowed_types'=>'gif|jpg|png|jpeg|rar|pdf|',
    'max_size'=>3000
    );

    $this->_rulessp2d();

    if ($this->form_validation->run() == FALSE) {
        $this->update($this->input->post('id_sp2d', TRUE));
    } else {
        $data = array(
    'id_satker' => $this->input->post('id_satker',TRUE),
    'bulan' => $this->input->post('bulan',TRUE),
    'tahun' => $this->input->post('tahun',TRUE),
    'dokumen_pendukung' => $this->input->post('dokumen_pendukung',TRUE),
    'nomial' => $this->input->post('nomial',TRUE),
    ); 

   $this->load->library('upload', $config);

            if ( ! $this->upload->do_upload('dokumen_pendukung'))
            {
                    $error = array('error' => $this->upload->display_errors());

                    echo "<script type='text/javascript'> alert('file yg anda masukan tidak sesuai'); </script>";
                    $this->updatesp2d();
            }
            else
            {
                if(file_exists($data['dokumen_pendukung']=$path.'./assets/datasp2d/'.$file_name)){
                    unlink($data['dokumen_pendukung']=$path.'./assets/datasp2d/'.$file_name);
                }
                $upload_data = $this->upload->data();
                $data['dokumen_pendukung'] = $upload_data['file_name'];
            }
            $this->Sp2d_model->update($this->input->post('id_sp2d', TRUE), $data);
                redirect(site_url('User/sp2d'));

    }
}

1 Ответ

0 голосов
/ 23 декабря 2019

Вы делаете правильно. Функция unlink () подходит именно вам. Вам просто нужно указать полный путь к файлу, а не использовать $ path. Это ваша строка unlink кода

 unlink($data['dokumen_pendukung']=$path.'./assets/datasp2d/'.$file_name);

$ path имеет полный URL-путь, который содержит HTTP или https, а функция unlink () - нетsupport.

Если ваш файл находится в корневом каталоге, например

appliction
system
assets

, то вы предоставляете вот так

 unlink($data['dokumen_pendukung']='assets/datasp2d/'.$file_name);
...