/** * Удаляет папку со всеми вложениями. * @param string $Path Имя папки. * @return bool */ function RmDirRecursive($Path) { if (!is_dir($Path)) { return false; } AddLastSlash($Path); $dir = @opendir($Path); if (!$dir) { return false; } while ($file = @readdir($dir)) { $fn = $Path . $file; if (is_file($fn) || is_link($fn)) { if (!unlink($fn)) { return false; } } elseif (is_dir($fn) && $file != '.' && $file != '..') { if (!RmDirRecursive($fn)) { return false; } } } @closedir($dir); if (!rmdir($Path)) { return false; } return true; }
public function DelFolder($path) { $result = array(); if (RealPath2($path) == '') { $result['error'] = 'Нельзя удалить корневую папку!'; return JsonEncode($result); } $path = RealPath2(DIR_FILES . '/' . $path); if (!is_dir($path)) { $result['error'] = 'Папка не существует'; return JsonEncode($result); } if (RmDirRecursive($path)) { $result['ok'] = true; } else { $result['error'] = 'Ошибка при удалении папки'; } return JsonEncode($result); }