首页 > php代码 > php获取并删除目录及目录下所有的文件实例

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

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

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

listFiles

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

<?php
$dir = "D:/"; //要获取的目录
echo "********** 获取目录下所有文件和文件夹 ***********<hr/>";
//先判断指定的路径是不是一个文件夹
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) != false) {
            //文件名的全路径 包含文件名
            $filePath = $dir . $file;
            //获取文件修改时间
            $fmt = filemtime($filePath);
            echo "<span style='color:#666'>(" . date("Y-m-d H:i:s", $fmt) . ")</span> " . $filePath . "<br/>";
        }
        closedir($dh);
    }
}
?>

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

<?php
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<br />n";
                }
            }
        }
        closedir($handle);
        if (rmdir($dirName)) echo "成功删除目录: $dirName<br />n";
    }
}
?>

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

<?php
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<br />n";
                }
            }
        }
        closedir($handle);
    }
}
?>

小结

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

本文地址:http://www.phprm.com/code/55944.html

转载随意,但请附上文章地址:-)

标签:opendir

相关文章

发表留言