isDir()) // -- то удаляем его rmdir($file->getRealPath()); else // -- иначе удаляем файл unlink($file->getRealPath()); // Удаляем директорию return rmdir($directory); } /** * Проверяет, существует ли директория. * * @param string $directory Путь к директории. * @param bool $checkReadAccess Проверять ли доступ на чтение директории (по умолчанию true). * @param bool $checkWriteAccess Проверять ли доступ на запись директории (по умолчанию false). * * @return bool Результат проверки. */ public static function DirectoryExists (string $directory, bool $checkReadAccess = true, bool $checkWriteAccess = false): bool { // Очищаем кэш clearstatcache(); // Проверяем, существует ли директория if (!file_exists($directory)) // - если нет, то возвращаем false return false; // Проверяем, является ли директория директорией, а не файлом if (!is_dir($directory)) // - если нет, то возвращаем false return false; // Проверяем, есть ли доступ на чтение директории if ($checkReadAccess && !is_readable($directory)) // - если нет, то возвращаем false return false; // Проверяем, есть ли доступ на запись директории if ($checkWriteAccess && !is_writable($directory)) // - если нет, то возвращаем false return false; // Если все проверки пройдены успешно, то возвращаем true return true; } }