> php教程 > php手册 > php获取并删除目录及目录下所有的文件实例

php获取并删除目录及目录下所有的文件实例

WBOY
풀어 주다: 2016-06-13 09:51:21
원래의
1183명이 탐색했습니다.

今天我们一起来看看在php中获取目录及删除目录中文件或指定目录中文件实例,希望此方法对各位朋友会带来帮助。

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

第一步,PHP获取目录下面所有文件和文件夹

 

 代码如下 复制代码

 $dir = "D:/";  //要获取的目录

 echo "********** 获取目录下所有文件和文件夹 ***********


";

 //先判断指定的路径是不是一个文件夹

 if (is_dir($dir)){

  if ($dh = opendir($dir)){

   while (($file = readdir($dh))!= false){

    //文件名的全路径 包含文件名

    $filePath = $dir.$file;

    //获取文件修改时间

    $fmt = filemtime($filePath);

    echo "(".date("Y-m-d H:i:s",$fmt).") ".$filePath."
";

   }

   closedir($dh);

  }

 }

?>


第2步:删除目录及目录下所有的文件

 代码如下 复制代码


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
n"; 

     } 

    } 

   } 

  closedir( $handle ); 

  if( rmdir( $dirName ) ) echo "成功删除目录: $dirName
n"; 

 } 

}

 


第3步:删除目录下面的文件,不删除目录

 代码如下 复制代码


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
n"; 

     } 

    } 

   } 

  closedir( $handle ); 

 } 

}

小结

这个我们先是从获取目录所有所文件与目录开始然后在基础上进行删除操作。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿