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

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