- //循环删除目录和文件函数 删除目录及目录下所有文件
- public static
- function delDirAndFile($dirName) {
- //var_dump(is_dir($dirName));exit;
- if ($handle = opendir("$dirName")) {
- while (false !== ($item = readdir($handle))) {
- if ($item != "." && $item != "..") {
- if (is_dir("$dirName/$item")) {
- self: :delDirAndFile("$dirName/$item"); //是路径继续递归
- } else {
- unlink("$dirName/$item"); //不是路径删除文件 目录/目录下的文件名带后缀
- //if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$item<br />\n";
- }
- }
- }
- closedir($handle);
- rmdir($dirName);
- //if( rmdir( $dirName ) )echo "成功删除目录: $dirName<br />\n";
- }
- }
- //循环目录下的所有文件 仅删除指定目录下的文件,不删除目录文件夹
- public static
- function delFileUnderDir($dirName, $now) {
- if ($handle = opendir("$dirName")) {
- while (false !== ($item = readdir($handle))) {
- if ($item != "." && $item != "..") {
- if (is_dir("$dirName/$item")) {
- self: :delFileUnderDir("$dirName/$item");
- } else {
- preg_match("/\d+/", $item, $matches);
- $time = $matches[0];
- $difference = strtotime($now) - strtotime($time);
- $days = intval($difference / 86400);
- $remain = $difference % 86400;
- $hours = intval($remain / 3600);
- if ($hours > 1 || $days > 1) {
- unlink("$dirName/$item");
- }
- //if( unlink( "$dirName/$item" ) )echo "成功删除文件: $dirName/$item<br />\n";
- }
- }
- }
- closedir($handle);
- }
- }
来源: http://www.bubuko.com/infodetail-2291686.html