欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php递归删除目录下的文件但保留的实例分享

程序员文章站 2023-11-26 14:37:22
用php程序删除目录和文件比到ftp删除有很多优势。首先进ftp就比较麻烦,然后删除大量文件的时候ftp删除很慢,还有就是程序只想删除文件夹下面的文件,而保留目录结构,可以...

用php程序删除目录和文件比到ftp删除有很多优势。首先进ftp就比较麻烦,然后删除大量文件的时候ftp删除很慢,还有就是程序只想删除文件夹下面的文件,而保留目录结构,可以用php来轻松的实现,再有比如生成的日志、缓存要清除用程序来完成显然轻松的多。

一:删除目录下面的文件,不删除目录

复制代码 代码如下:

function delfileunderdir( $dirname ){ 
 if ( $handle = opendir( "$dirname" ) ) { 
   while ( false !== ( $item = readdir( $handle ) ) ) { 
    if ( $item != "." && $item != ".." ) { 
     if ( is_dir( "$dirname/$item" ) ) { 
      delfileunderdir( "$dirname/$item" ); 
     } else { 
      if( unlink( "$dirname/$item" ) ) echo "已删除文件:$dirname/$item<br />\n"; 
     } 
    } 
   } 
   closedir( $handle ); 
 } 
}

二:删除目录及目录下所有的文件

复制代码 代码如下:

function deldirandfile( $dirname ){ 
 if ( $handle = opendir( "$dirname" ) ) { 
   while ( false !== ( $item = readdir( $handle ) ) ) { 
    if ( $item != "." && $item != ".." ) { 
     if ( is_dir( "$dirname/$item" ) ) { 
       deldirandfile( "$dirname/$item" ); 
      } else { 
       if( unlink( "$dirname/$item" ) )echo "已删除文件: $dirname/$item<br />\n"; 
      } 
    } 
   } 
   closedir( $handle ); 
   if( rmdir( $dirname ) ) echo "成功删除目录: $dirname<br />\n"; 
 } 
}