【问题标题】:How to delete the specific image in folder using codeigniter?如何使用codeigniter删除文件夹中的特定图像?
【发布时间】:2016-08-16 05:59:06
【问题描述】:

我正在使用代码点火器。在我的项目中,我想删除文件夹(artical_images)中的特定图像。如果我尝试使用 delete_files() 选项,它会在使用类似代码时删除文件夹中的所有图像,

public function delete_post($value='$id')
    {

        $query=$this->db->query("select artical_profile from articals where artical_id='$value' ");

        $img_name=$query->result()[0]->artical_profile;

        //echo $img_name;

        delete_files('./artical_images/',TRUE);

       // $this->db->where('artical_id',$value);
        //$this->db->delete('articals');

        exit();

    }

但是当我包含从数据库中获取的特定图像名称并包含删除文件路径时它不起作用。代码如下,

public function delete_post($value='$id')
    {

        $query=$this->db->query("select artical_profile from articals where artical_id='$value' ");

        $img_name=$query->result()[0]->artical_profile;

        //echo $img_name;

        delete_files('./artical_images/$img_name',TRUE);

       // $this->db->where('artical_id',$value);
        //$this->db->delete('articals');

        exit();

    }

即使我包含了 realpath 选项它也不起作用,

public function delete_post($value='$id')
    {

        $query=$this->db->query("select artical_profile from articals where artical_id='$value' ");

        $img_name=$query->result()[0]->artical_profile;

        $img_name=realpath(APPPATH . '/artical_images/$img_name');

        delete_files('$img_name',TRUE);

        echo $img_name;

       // $this->db->where('artical_id',$value);
        //$this->db->delete('articals');

        exit();

    }

请给出一些删除文件的想法,

【问题讨论】:

  • 检查 $img_name 是否包含正确的图像名称以及您是否有权删除文件?
  • ya.image 名称与 db 中的名称相同。

标签: php codeigniter


【解决方案1】:
$this->load->helper("file");
delete_files($path);

【讨论】:

  • 是的,我自动加载帮助程序“文件”。但它不起作用。
  • 否则使用 unlink(FILE_PATH) 这个函数
  • 遇到 PHP 错误严重性:警告消息:取消链接(C:/xampp/htdocs/blog_creation/artical_images/artical_images/nboopathilb@gmail_com.jpg):没有这样的文件或目录我包含路径和文件夹中的图像名称是什么,但它显示为没有这样的文件或目录。为什么????
  • $filepath=FCPATH ."上传路径/图像名称";取消链接($文件路径);试试这个
  • 非常感谢 rajen antarkar 我明白了...从您的回答中。
【解决方案2】:

delete_files 使用目录路径删除目录中的所有文件。它应用递归unlink 命令来删除文件。

要删除特定文件,您可以使用 unlink 和正确的文件路径。

例如unlink(FILE_PATH);

【讨论】:

  • 我要不要使用应用程序路径?或者我只想简单地添加文件夹名称和图像名称,代替文件路径。
  • 使用 APPPATH 使用文件的完整路径。
  • unlink('C:/xampp/htdocs/blog_creation/artical_images/artical_images/'.$img_name);我包括了 img 存储的完整路径。它不工作
  • $image_name 包含文件扩展名吗?
  • @BoopathiN 如果它适合你,你可以接受答案。
猜你喜欢
  • 2020-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-27
  • 1970-01-01
  • 2017-08-21
  • 1970-01-01
相关资源
最近更新 更多