尝试使用 codeigniter 中的取消链接删除图像时权限被拒绝
Permission Denied when trying to delete image using unlink in codeigniter
我一直在关注这个线程 上的答案,但是当我按下删除 link 时,我的程序处理了该函数,但数据没有被删除。
这是我的数据库table
My table name's datatraining
这是我的控制器代码
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 } ?>
感谢大家的帮助
首先给该文件夹一个 0777 的权限,并使用带有取消链接的完整路径,如下所示:
`unlink(FCPATH."gambar".DIRECTORY_SEPARATOR."hasil".DIRECTORY_SEPARATOR."data_trainingtanpakotak".DIRECTORY_SEPARATOR.$group_picture);`
我在这里使用了 FCPATH
假设你要删除的目录在你的 FCPATH
感谢大家的回答,已经成功了。
这是我的完整代码,以防将来其他人可能需要这个
查看:
<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));
}
我一直在关注这个线程
这是我的数据库table My table name's datatraining
这是我的控制器代码
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 } ?>
感谢大家的帮助
首先给该文件夹一个 0777 的权限,并使用带有取消链接的完整路径,如下所示:
`unlink(FCPATH."gambar".DIRECTORY_SEPARATOR."hasil".DIRECTORY_SEPARATOR."data_trainingtanpakotak".DIRECTORY_SEPARATOR.$group_picture);`
我在这里使用了 FCPATH
假设你要删除的目录在你的 FCPATH
感谢大家的回答,已经成功了。 这是我的完整代码,以防将来其他人可能需要这个
查看:
<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));
}