【问题标题】:Removing directory using codeigniter使用 codeigniter 删除目录
【发布时间】:2012-12-20 03:58:56
【问题描述】:

我是 codeigniter 的新手,所以请原谅我,我正在尝试让 codeigniter 删除一个基本文件夹(我不知道正确的术语是什么,它是我放置上传文件的文件夹,它位于我的 codeigniter 项目的根目录)。由于我是 codeigniter 的新手,所以我不知道如何在 codeigniter api 中使用 File Helper 参考。我希望有人可以帮助我。

此外,我尝试创建的删除功能还需要删除其所有内容,无论是否为空,文件夹都会被删除。我猜,它会使用递归类型的删除...我不太确定。

【问题讨论】:

    标签: codeigniter directory


    【解决方案1】:

    您可以使用delete_files函数删除所有文件

    $path=$this->config->base_url().'dir_name';
    $this->load->helper("file"); // load the helper
    delete_files($path, true); // delete all files/folders
    

    以上代码将从给定路径中删除所有文件和文件夹,如果目录为空,则可以使用 rmdir 删除空目录,例如

    rmdir($path);
    

    文件夹应允许相关权限,这意味着文件/文件夹必须是可写的或由系统拥有才能被删除。

    【讨论】:

    • 感谢您的回答,但我在如何应用这个问题上遇到了麻烦,我应该把它放在控制器中吗?还是模特?
    • 是的,把它放在你的控制器里。
    【解决方案2】:

    您可以使用“delete_files”功能来做到这一点:

    $path = "the path that has files those will be deleted";
    $this->load->helper("file"); // load codeigniter file helper
    delete_files($path, true , false, 1); //  second and the last parameters are required, second parameter should be true and the last parameter should be greater than 0
    

    【讨论】:

      【解决方案3】:
      // Delete Directory
      public function delete_directory($folderName)
      {
            $this->load->helper('file'); // Load codeigniter file helper
      
            $dir_path  = 'uploads/'.$folderName;  // For check folder exists
            $del_path  = './uploads/'.$folderName.'/'; // For Delete folder
      
            if(is_dir($dir_path))
            {
                 delete_files($del_path, true); // Delete files into the folder
                 rmdir($del_path); // Delete the folder
      
                 return true;
            }
            return false;
       }
      

      【讨论】:

        【解决方案4】:
        $this->load->helper("file"); // load codeigniter file helper
        delete_files('./path/to/directory/', TRUE); // Delete all files/folders in the dir
        

        如果要删除空文件夹(目录),请在上面两行之后添加以下行

        rmdir('./path/to/directory');
        

        【讨论】:

          猜你喜欢
          • 2013-07-15
          • 2011-10-09
          • 1970-01-01
          • 1970-01-01
          • 2014-01-07
          • 1970-01-01
          • 1970-01-01
          • 2013-08-18
          • 2014-06-11
          相关资源
          最近更新 更多