【问题标题】:remove empty directory in php删除php中的空目录
【发布时间】:2018-01-28 12:18:52
【问题描述】:

您好,当我想删除空目录时出现以下错误:

警告:rmdir():目录不为空

功能:

 if (is_dir($target)) {
            $files = glob($target . '*', GLOB_MARK); //GLOB_MARK adds a slash to directories returned

            foreach ($files as $file) {
                $this->delete_files($file);
            }

            rmdir($target);

        } elseif (is_file($target)) {
             unlink($target);
        } else {
            $this->logger->error("Could not delete the folder");

        }

当有文件时,它会在没有警告的情况下删除所有文件(也应该删除文件夹)

【问题讨论】:

    标签: php file


    【解决方案1】:

    试试这样的。

    <?php
    function delete_directory($target) {
             if (is_dir($target))
               $dir_handle = opendir($target);
         if (!$dir_handle)
              return false;
         while($file = readdir($dir_handle)) {
               if ($file != "." && $file != "..") {
                    if (!is_dir($dirname."/".$file))
                         unlink($dirname."/".$file);
                    else
                         delete_directory($target.'/'.$file);
               }
         }
         closedir($dir_handle);
         rmdir($target);
         return true;
    }
    ?>
    

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      你可以这样。

      function delTree($dir)
      {
       $files = glob( $dir . '*', GLOB_MARK );
       foreach( $files as $file 
       {
        if( is_dir( $file ) )
         delTree( $file );
        else
         @unlink( $file );
       }
      
       if( is_dir($dir) ) rmdir( $dir );
      };
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-09
        • 2011-10-08
        • 2013-08-05
        • 1970-01-01
        • 2015-09-26
        • 2012-05-31
        • 2016-10-16
        • 2020-09-19
        相关资源
        最近更新 更多