在 codeigniter 中删除后从文件夹中删除图像

2024-01-11

我不仅想删除数据库中的图像,还想删除文件夹中的图像。

这是我的模型

    public function delete($id)
        {
            if ($this->db->delete("np_gallery", "id = ".$id)) 
            {
            return true;
            }
        }

这是我的控制器

public function delete_image($id)
{
    $this->np_gallery_model->delete($id);
    $query = $this->db->get("np_gallery");
    $data['records'] = $query->result();
    $this->load->view('admin/gallery/gallery_listing',$data);
}

这是我的观点

<table class="table table-bordered">
            <thead>
                <tr>
                    <td>Sl No</td>
                    <td>Tag</td>
                    <td>Image</td>
                    <td>Action</td>
                </tr>
            </thead>

            <?php 
            $SlNo=1;
                foreach($records as $r)
                {
             ?>
                <tbody>
                    <tr>
                    <?php $image_path = base_url().'uploads';?>
                     <td><?php echo $SlNo++ ; ?></td>
                     <td><?php echo $r->tag; ?></td>
                     <td><img src="<?php echo $image_path; ?>/images/gallery/<?php echo $r->picture;?>" style=" width:35%; height:100px;"/></td>
                     <td><a href="<?php echo site_url() . "/np_gallery/select_content/". $r->id?>" class="fa fa-pencil"></a>&nbsp;&nbsp;
                         <a href="<?php echo site_url() . "/np_gallery/delete_image/". $r->id?>" onClick="return confirm('Are you sure want to delete')" class="fa fa-trash"></a></td>   
                    </tr>
                </tbody>
            <?php } ?>
        </table>

我成功删除了数据库中的数据,但文件夹中的图像也没有被删除。


在控制器中添加一些额外的代码:

public function delete_image($id)
{
    $image_path = base_url().'uploads/images/gallery/'; // your image path

    // get db record from image to be deleted
    $query_get_image = $this->db->get_where('np_gallery', array('id' => $id));
    foreach ($query_get_image->result() as $record)
    {
        // delete file, if exists...
        $filename = $image_path . $record->picture; 
        if (file_exists($filename))
        {
            unlink($filename);
        }

        // ...and continue with your code
        $this->np_gallery_model->delete($id);
        $query = $this->db->get("np_gallery");
        $data['records'] = $query->result();
        $this->load->view('admin/gallery/gallery_listing',$data);
    }
}

注意:或者,您可以在模型的 delete() 方法中执行此操作。考虑它在哪里更适合您的应用需求。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 codeigniter 中删除后从文件夹中删除图像 的相关文章

随机推荐

  • 交叉连接,然后左连接

    是否可以在两个表之间进行交叉联接 然后对第三个表进行左联接 然后可能进行更多左联接 我正在使用 SQL Server 2000 2005 我正在运行以下查询 这在我看来非常简单 但我收到错误 select P PeriodID P Peri
  • 在静态 json 文件的 Node js 上使用 getJSON 时不支持获取协议

    在我的 Node js 文件中 我有以下代码 var jqxhr getJSON favs json function console log success done function console log second success
  • 画布中的 Tkinter 窗口未填充其父窗口的高度

    我希望我的滚动条位于框架底部 并且我的文本小部件填充滚动条上方的整个框架 我找到了一些关于宽度配置的解决方案here https stackoverflow com questions 29319445 tkinter how to get
  • 在 ios 上通过 Twilio 发送短信?

    我怎么能够通过 twilio 发送短信 https www twilio com docs api rest 我已经尝试过并正在执行以下操作 IBAction sendButtonPressed id sender NSLog Sendin
  • 间歇性 java.io.IOException:来自 Amazon EC2 内部的 jdk.internal.net.http.HttpClientImpl.send 中的连接重置(不是对等方重置的连接)

    在 Amazon EC2 中使用 openjdk 14 0 1 我遇到间歇性问题java io IOException Connection reset当通过 https 使用 POST 请求访问外部 REST 服务时 在 EC2 之外不会
  • 在运行时添加 WPF 控件

    我编写了一个 WPF UserControl 并希望在运行时单击按钮时将其中一个或多个添加到我的窗口中 我怎样才能做到这一点 编辑 进一步规范 我想将用户控件添加到画布中 并放置在绝对位置 画布是我房子里的地板图 每个用户控件都有属性来指示
  • Fabricjs删除backgroundImage

    是否可以删除背景图像fabric Canvas设置后 canvas setBackgroundImage img url function canvas renderAll 或者只是回到标准背景 要设置backgroundColor to
  • Kotlin 中 lambda 表达式的默认参数

    我想创建一个 lambda 并将其分配给一个变量 并且以下内容按预期工作 val rollDice min Int max Int gt min max random 但是 当我尝试为参数分配默认值时 出现错误 val rollDice m
  • Android应用程序生命周期和静态的使用

    对于 Android 来说 这是正确的代码吗 调用 init 来自MyApplication onCreate public class Connectivity static ConnectivityManager cm public s
  • 在 Python 中实现 __concat__

    我尝试实施 concat 但没有成功 gt gt gt class lHolder def init self l self l l def concat self l2 return self l l2 def iter self ret
  • Java 中已弃用的 JDBC 日期(java.sql 包)

    我正在使用 JDBC 和 MySQL 我有一个日期列 需要将其包含在结果集中 不幸的是 我找不到 Java 中的类来检索日期 SQL Date 类已弃用 如何从结果集中获取 Date 对象 You use java sql 日期 http
  • 基于图的数据库 (http://neo4j.org/) 有哪些用例? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Laravel:如何检查 Redis 可用性?

    我如何检查Redis连接的可用性拉拉维尔 5 4 我尝试了下面的代码 但 ping 线路出现异常 如果 Redis 未连接 我该怎么办而不是做其他事情以避免异常 由于目标机器主动连接 无法建立连接 拒绝了 tcp 127 0 0 1 637
  • 询问用户 SIM 卡 PIN 码

    我搜索了与此类似的问题 但没有运气 我正在编写一个应用程序 为了正确验证用户身份 它应该要求他输入正确的 SIM 卡 是否有可能 或者我是否必须使用另一个 PIN 码才能进行应用程序身份验证 我不确定这是否可行 但由于有些设备没有 SIM
  • 在 IntelliJ 中生成文件时关闭“创建者”标记

    我找不到这个选项 例如 当我创建一个新的 Scala 类时 以下文本将放置在文件中 Created by ben on 6 23 14 In IntelliJ 13 and above it is in the File and Code
  • 布尔系统(适用于 C++/C#/java)

    我如何以编程方式解决此类系统 A B B C D B E A E B 所以我可以通过替换A C D 3 and E B 2 我只需要2组的数量 如果无法获得 2 个组 我会显示一条错误消息 万一 这不是作为一个骗局而关闭 从我的answer
  • GuiceApplicationLoader配置错误

    因此 我尝试使用如下所示的方法来实现编译时 DI package modules class MyModule extends AbstractModule def configure bind classOf MyT to classOf
  • Django NoReverseMatch

    我正在 django 1 6 和 python 2 7 中制作一个简单的登录应用程序 并且在开始时出现错误 该错误不允许我继续 这是网站的 url py from django conf urls import patterns inclu
  • docker run 的命令行参数

    我正在尝试慢慢构建一个 docker 镜像来满足我们的需求 我想做的是运行具有单声道的基本映像 然后让单声道在后台运行可执行文件 从普通的命令行 如果不尝试在容器中运行它 它看起来像 usr local bin mono home crys
  • 在 codeigniter 中删除后从文件夹中删除图像

    我不仅想删除数据库中的图像 还想删除文件夹中的图像 这是我的模型 public function delete id if this gt db gt delete np gallery id id return true 这是我的控制器