欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2024-02-19 09:32:28
...
今天我们一起来看看在php中获取目录及删除目录中文件或指定目录中文件实例,希望此方法对各位朋友会带来帮助。

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

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

代码如下 复制代码

$dir = "D:/"; //要获取的目录

echo "********** 获取目录下所有文件和文件夹 ***********


";

//先判断指定的路径是不是一个文件夹

if (is_dir($dir)){

if ($dh = opendir($dir)){

while (($file = readdir($dh))!= false){

//文件名的全路径 包含文件名

$filePath = $dir.$file;

//获取文件修改时间

$fmt = filemtime($filePath);

echo "(".date("Y-m-d H:i:s",$fmt).") ".$filePath."
";

}

closedir($dh);

}

}

?>


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

代码如下 复制代码


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
n";

}

}

}

closedir( $handle );

if( rmdir( $dirName ) ) echo "成功删除目录: $dirName
n";

}

}


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

代码如下 复制代码


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
n";

}

}

}

closedir( $handle );

}

}

小结

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