($whitelist === null || in_array($file, $whitelist)) && is_file("$directory/$file") )); if (static::$orderDesc) rsort($list); return $list; } public static function read($file): ?string { $directory = static::directory(); $filename = "$directory/$file"; if (!in_array($file, static::list()) || !file_exists($filename) || !is_file($filename)) return null; $extension = pathinfo($filename, PATHINFO_EXTENSION); $content = file_get_contents($filename); return $extension === 'gz' ? gzdecode($content) : $content; } }