Отказано в доступе при попытке удалить изображение, используя unlink в codeigniter - PullRequest
0 голосов
/ 12 декабря 2018

Я следил за ответом в этой теме CodeIgniter: Как удалить загруженное изображение из папки , но когда я нажал ссылку удаления, моя программа обработала функцию, но данные не были удалены.

Вот моя таблица базы данных Моя таблица имен данных

Это код моего контроллера

function hapus(){
    $group_id = $this->input->post('ID');
    $group_picture = $this->input->post('namafile');
    $this->m_admin->hapus_data($group_id, $group_picture);
    redirect('datatraining');
}

Это код моей модели

function hapus_data($group_id, $group_picture){
    $this->db->where('ID', $group_id);
    unlink("./gambar/hasil/data_trainingtanpakotak/".$group_picture);
    $this->db->delete('datatraining', array('ID' => $group_id));
}

Это мой код просмотра

<?php 
                            foreach($datatraining as $u){ 
                                ?>
                                <tr>
                                    <td><?php echo anchor('datatraining/hapus/'.$u->namafile,'Hapus'); ?></td>
                                    <td><?php echo $u->ID ?></td>
                                    <td><img height="50" width="50" src="<?php echo base_url().'gambar/hasil/data_trainingtanpakotak/'.$u->namafile; ?>"></td>
                                    <td><?php echo $u->r ?></td>
                                    <td><?php echo $u->g ?></td>
                                    <td><?php echo $u->b ?></td>
                                    <td><?php echo $u->Label ?></td>
                                </tr>
                            <?php } ?>

Спасибо за вашу помощь, ребята

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Спасибо за ответ, ребята, это уже сработало.Вот мой полный код, на случай, если это понадобится другим в будущем

Вид:

<tbody>
                            <?php 
                            foreach($datatraining as $u){ 
                                ?>
                                <tr>
                                    <td><?php echo anchor('datatraining/hapus/'.$u->namafile,'Hapus'); ?></td>
                                    <td><?php echo $u->ID ?></td>
                                    <td><img height="50" width="50" src="<?php echo base_url().'gambar/hasil/data_trainingtanpakotak/'.$u->namafile; ?>"></td>
                                    <td><?php echo $u->r ?></td>
                                    <td><?php echo $u->g ?></td>
                                    <td><?php echo $u->b ?></td>
                                    <td><?php echo $u->Label ?></td>
                                </tr>
                            <?php } ?>
                        </tbody>

Контроллер:

function hapus($a,$b){
    $group_id = $this->input->post('ID');
    $group_picture = $this->input->post('namafile');
    unlink(FCPATH."/gambar/hasil/data_trainingtanpakotak/".$a."/".$b);
    $this->m_admin->hapus_data($group_id, $a."/".$b);
    redirect('datatraining');
}

Модель:

function hapus_data($group_id, $group_picture){
    $this->db->where('namafile', $group_picture);

    $this->db->delete('datatraining', array('namafile' => $group_picture));
}
0 голосов
/ 12 декабря 2018

Прежде всего, дайте этой папке разрешение 0777 и используйте полный путь с unlink следующим образом:

`unlink(FCPATH."gambar".DIRECTORY_SEPARATOR."hasil".DIRECTORY_SEPARATOR."data_trainingtanpakotak".DIRECTORY_SEPARATOR.$group_picture);`

Я использовал здесь FCPATH, предположительно, каталог, из которого вы удаляете, находится в вашемFCPATH

...