A-A+

PHP如何删除当前目录及其目录下的所有文件?(代码示例)

2020年01月11日 我爱编程 暂无评论

本篇文章给大家带来的内容是介绍PHP如何删除当前目录及其目录下的所有文件?(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

使用PHP遍历一个目录下的所有目录及文件,并删除该目录及其目录下的所有子目录和文件,本次代码通过递归的方式来实现。

用到的函数:

scandir($path) 遍历一个目录下所有文件并返回数组。

unlink($filename) 删除文件。

rmdir($path) 只删除空文件夹。

PHP代码:

  1. /**
  2.  * 删除当前目录及其目录下的所有目录和文件
  3.  * @param string $path 待删除的目录
  4.  * @note  $path路径结尾不要有斜杠/(例如:正确[$path='./static/image'],错误[$path='./static/image/'])
  5.  */
  6. function deleteDir($path) {
  7.     if (is_dir($path)) {
  8.         //扫描一个目录内的所有目录和文件并返回数组
  9.         $dirs = scandir($path);
  10.         foreach ($dirs as $dir) {
  11.             //排除目录中的当前目录(.)和上一级目录(..)
  12.             if ($dir != '.' && $dir != '..') {
  13.                 //如果是目录则递归子目录,继续操作
  14.                 $sonDir = $path.'/'.$dir;
  15.                 if (is_dir($sonDir)) {
  16.                     //递归删除
  17.                     deleteDir($sonDir);
  18.                     //目录内的子目录和文件删除后删除空目录
  19.                     @rmdir($sonDir);
  20.                 } else {
  21.                     //如果是文件直接删除
  22.                     @unlink($sonDir);
  23.                 }
  24.             }
  25.         }
  26.         @rmdir($path);
  27.     }
  28. }

以上就是本篇文章的全部内容!!!

给我留言

Copyright © 四季博客 保留所有权利.   Theme  Ality

用户登录