该方法可以指定是否删除当前目录,比较灵活
/** * 删除目录及目录下所有文件或删除指定文件 * @param str $path 待删除目录路径 * @param int $delDir 是否删除目录,1或true删除目录,0或false则只删除文件保留目录(包含子目录) * @return bool 返回删除状态 */ function delDirAndFile($path, $delDir = FALSE) { $handle = opendir($path); if ($handle) { while (false !== ( $item = readdir($handle) )) { if ($item != "." && $item != "..") is_dir("$path/$item") ? $this -> delDirAndFile("$path/$item", $delDir) : unlink("$path/$item"); } closedir($handle); if ($delDir) return rmdir($path); }else { if (file_exists($path)) { return unlink($path); } else { return FALSE; } } }
此方法是在类中使用的,如果直接当函数使用,需要把里面的
is_dir("$path/$item") ? $this -> delDirAndFile("$path/$item", $delDir) : unlink("$path/$item");
改为
is_dir("$path/$item") ? delDirAndFile("$path/$item", $delDir) : unlink("$path/$item");
转载请注明:七彩悠悠博客 | 心悠悠 情悠悠 » php递归删除指定目录下所有文件