Under php directory and delete all files in a directory or delete a file

/**
* All files or delete files in the specified directory and delete the directory
* @Param str $ path directory path to be deleted
* @Param int $ delDir whether to delete a directory, delete the directory 1 or true, or false 0 reserved only delete files directory (including subdirectories)
* @Return bool Returns the erasure
*/
function delDirAndFile($path, $delDir = false)
{
if (is_array($path)) {
foreach ($path as $subPath) {
delDirAndFile($subPath, $delDir);
}
}
if (is_dir($path)) {
$handle = opendir($path);
if ($handle) {
while (false !== ($item = readdir($handle))) {
if ($item != "." && $item != "..") {
is_dir("$path/$item") ? 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;
}
}
}

Guess you like

Origin www.cnblogs.com/ssx314/p/11368639.html