今天我們一起來看看在php中獲取目錄及刪除目錄中文件或指定目錄中文件實例,希望此方法對各位朋友會帶來幫助。
用php程序刪除目錄和文件比到ftp刪除有很多優勢。首先進ftp就比較麻煩,然後刪除大量文件的時候ftp刪除很慢,還有就是程序只想刪除文件夾下面的文件,而保留目錄結構,可以用php來輕松的實現,再有比如生成的日志、緩存要清除用程序來完成顯然輕松的多。
第一步,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步:刪除目錄及目錄下所有的文件
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步:刪除目錄下面的文件,不刪除目錄
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 );
}
}
小結
這個我們先是從獲取目錄所有所文件與目錄開始然後在基礎上進行刪除操作。