php递归删除指定文件夹的方法小结

5年以前  |  阅读数:754 次  |  编程语言:PHP 

本文实例总结了两种php递归删除指定文件夹的方法。分享给大家供大家参考。具体如下:

方法一:


    function recursiveDelete($dir)
    { 
      if ($handle = @opendir($dir))
      {
      while (($file = readdir($handle)) !== false)
      {
       if (($file == ".") || ($file == ".."))
       {
        continue;
       }
       if (is_dir($dir . '/' . $file))
       {
        // call self for this directory
        recursiveDelete($dir . '/' . $file);
       }
       else
       {
        unlink($dir . '/' . $file); // remove this file
       }
      }
      @closedir($handle);
      rmdir ($dir);
      }
    }

方法二:


    /*
     自定义的删除函数,可以删除文件和递归删除文件夹
    */
     function my_del($path)
    {
     if(is_dir($path))
     {
       $file_list= scandir($path);
       foreach ($file_list as $file)
       {
        if( $file!='.' && $file!='..')
        {
         my_del($path.'/'.$file);
        }
       }
       @rmdir($path);
       //这种方法不用判断文件夹是否为空,
       //因为不管开始时文件夹是否为空,到达这里的时候,都是空的  
     }
     else
     {
      @unlink($path);
      //这两个地方最好还是要用@屏蔽一下warning错误,看着闹心
     }
    }
    $path='d:/技术文档 - 副本';
    //要删除的文件夹
    //如果php文件不是ANSI,而是UTF-8模式,
    //而且要删除的文件夹中包含汉字字符的话,调用函数前需要转码
    //$path=iconv( 'utf-8', 'gb2312',$path );
    my_del($path);

希望本文所述对大家的php程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8