您现在的位置是:首页 > 学无止境 > PHPPHP

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

AndyGuo2020-05-06 14:05:22PHP1730人已围观

简介PHP是非常流行的后台程序语言,那么PHP如何删除一个路径下的所有文件夹和文件呢,通过本篇文章您可以学会PHP如何删除一个路径下的所有文件夹和文件

PHP是非常流行的后台程序语言,那么PHP如何删除一个路径下的所有文件夹和文件呢,通过本篇文章您可以学会PHP如何删除一个路径下的所有文件夹和文件。

用到的函数:

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

  • unlink($filename) 删除文件。

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

代码:

删除单个文件

<?php 
$file = "./demo/demo.txt";
if (!unlink($file)){
    echo ("Error deleting $file");
}else{
    echo ("Deleted $file");
}

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

$path = "./demo";
function deleteDir($dir)
{
    if (!$handle = @opendir($dir)) {
        return false;
    }
    while (false !== ($file = readdir($handle))) {
        if ($file !== "." && $file !== "..") {       //排除当前目录与父级目录
            $file = $dir . '/' . $file;
            if (is_dir($file)) {
                deleteDir($file);
            } else {

                @unlink($file);

            }

        }
    }

    @rmdir($dir);
}
deleteDir($path);

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

<?php
//设置需要删除的文件夹
$path = "./demo";
//清空文件夹函数和清空文件夹后删除空文件夹函数的处理
function deldir($path){
   //如果是目录则继续
   if(is_dir($path)){
    //扫描一个文件夹内的所有文件夹和文件并返回数组
       $p = scandir($path);
       foreach($p as $val){
        //排除目录中的.和..
        if($val !="." && $val !=".."){
         //如果是目录则递归子目录,继续操作
            if(is_dir($path.'/'.$val)){
              //子目录中操作删除文件夹和文件
              deldir($path.'/'.$val);
              //目录清空后删除空文件夹
              @rmdir($path.'/'.$val);
            }else{
              //如果是文件直接删除
              unlink($path.'/'.$val);
            }
        }
       }
    }
  }
 //调用函数,传入路径
 deldir($path);


好了,以上就是如何用PHP删除一个路径下的所有文件夹和文件,希望对大家有帮助。

小郭博客

相关文章

标签云 更多

关闭
QQ 微信 支付宝扫一扫打赏