Home  >  Article  >  Backend Development  >  Summary of methods for deleting specified folders in php (recursive)

Summary of methods for deleting specified folders in php (recursive)

怪我咯
怪我咯Original
2017-07-05 10:26:41978browse

This article mainly introduces the method of recursively deleting specified folders in PHP. The example summarizes two commonly used techniques for recursively deleting folders. It is of great practical value. Friends who need it can refer to this article.

The example summarizes two methods of recursively deleting specified folders in PHP. Share it with everyone for your reference. The details are as follows:

Method one:

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);
  }
}

Method two:

/*
 自定义的删除函数,可以删除文件和递归删除文件夹
*/
 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);

The above is the detailed content of Summary of methods for deleting specified folders in php (recursive). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn