A-A+

PHP如何删除一个路径下的所有文件夹和文件?

2022年06月11日 我爱编程 暂无评论

PHP如何删除一个路径下的所有文件夹和文件?下面本篇文章给大家介绍一下PHP删除一个路径下的所有文件夹和文件的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

用到的函数:

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

unlink($filename) 删除文件。

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

代码:

删除单个文件

  1. $file = "./aa/aas.txt";
  2. if (!unlink($file))
  3. {
  4.     echo ("Error deleting $file");
  5. }
  6. else
  7. {
  8.     echo ("Deleted $file");
  9. }

删除一个路径下的所有文件夹和文件的方法1

  1. $path = "./aa";
  2. function deleteDir($dir)
  3. {
  4.     if (!$handle = @opendir($dir)) {
  5.         return false;
  6.     }
  7.     while (false !== ($file = readdir($handle))) {
  8.         if ($file !== "." && $file !== "..") {       //排除当前目录与父级目录
  9.             $file = $dir . '/' . $file;
  10.             if (is_dir($file)) {
  11.                 deleteDir($file);
  12.             } else {
  13.                 @unlink($file);
  14.             }
  15.         }
  16.     }
  17.     @rmdir($dir);
  18. }
  19. deleteDir($path);

删除一个路径下的所有文件夹和文件的方法2

  1. //设置需要删除的文件夹
  2. $path = "./aa";
  3. //清空文件夹函数和清空文件夹后删除空文件夹函数的处理
  4. function deldir($path){
  5.    //如果是目录则继续
  6.    if(is_dir($path)){
  7.     //扫描一个文件夹内的所有文件夹和文件并返回数组
  8.        $p = scandir($path);
  9.        foreach($p as $val){
  10.         //排除目录中的.和..
  11.         if($val !="." && $val !=".."){
  12.          //如果是目录则递归子目录,继续操作
  13.             if(is_dir($path.'/'.$val)){
  14.               //子目录中操作删除文件夹和文件
  15.               deldir($path.'/'.$val);
  16.               //目录清空后删除空文件夹
  17.               @rmdir($path.'/'.$val);
  18.             }else{
  19.               //如果是文件直接删除
  20.               unlink($path.'/'.$val);
  21.             }
  22.         }
  23.        }
  24.     }
  25.   }
  26.  //调用函数,传入路径
  27.  deldir($path);

给我留言

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

用户登录