gpt4 book ai didi

php - 使用 CodeIgniter(3) 删除服务器(非本地)上的文件

转载 作者:行者123 更新时间:2023-11-29 07:21:20 25 4
gpt4 key购买 nike

我有一个名为 home_view 的 View ,其中有多个列表,例如libri(books)。用户可以上传和删除文件。

这是 home_view.php 的片段

<?php  


echo "<table>";
echo "<tbody>";
echo "</br>";

foreach ($libri as $row):
?>
<tr>
<td>
<div>
</br>
<img src="<?php echo base_url('Immagini/book.png'); ?>" />
<a class="pdf" data-fancybox-type="iframe" rel="group" href="<?php echo base_url($row['Url_suffix']) ?>"><?php echo $row['Nome']; ?> </a>
<a class="deleteUser" href="javascript:void(0)" rel="<?php echo site_url('libro/elimina/'.$row['ID']) ?>"><img src="<?php echo base_url('Immagini/button_close.png'); ?>"/></a>


</div>
</td>
</tr>
<?php
endforeach;

?>

libri是Mysql数据库的一个表,有不同的列,Url_suffix是一个Varchar(255)列,其中有folder/filename.pdf。在第二个 anchor 中,我成功删除了数据库中的行,但没有删除文件。我尝试做这样的事情

<a  class="deleteUser"  rel="<?php  unlink($row['Url_suffix']);  ?>"><img src="<?php echo base_url('Immagini/button_close.png'); ?>"/></a>

但没有成功。我有什么错吗?

更新:

Controller libro.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Libro extends CI_Controller {

public function __construct()
{
parent::__construct();
$this->load->helper("file");
}

public function elimina($libri_id) {

//$libri_ID = $this->libri->get_one($libri_id);
$result=$this->libri->did_delete_row($libri_id);

redirect(site_url('admin/dashboard'), 'refresh');


}


}

?>

最佳答案

您不能以这种方式使用“取消链接”,基本上您需要在模型的一些帮助下处理要在 Controller 上删除的内容,例如:

public function delete_file($route, $file){
unlink($route . "/" . $file);
}

在模型中,以便您可以在任何地方使用它,$route 参数将是存储文件的目录的路径,例如:

htdocs/website/static/books/user/

$file 参数将是您要删除的带有扩展名的名称,例如:

myfirstbook.pdf

然后您将拥有该文件的完整路径,并且它将被删除,您只需从 Controller 中的模型调用该函数,其中链接由该 anchor 给出,例如

<a href="http://localhost/website/delete-file/$user/$name">Delete file</a>

你的 Controller 会有类似的东西

public function delete_file($user, $file){
$this->load->model('YourModel', 'yourmodel');
$path = FCPATH . "static/books/user/".$user;
$this->yourmodel->delete_file($path, $file);
}

就这样完成了。希望对您有所帮助。

关于php - 使用 CodeIgniter(3) 删除服务器(非本地)上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36043003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com