config = Config::getInstance(); } /** * Returns array of filtered file names * * @param string $dir directory to list * @param string $expression regular expression to match files * * @return string[]|false sorted file list on success, false on failure */ public function getDirContent(string $dir, string $expression = ''): array|bool { if (! @file_exists($dir)) { return false; } $handle = @opendir($dir); if ($handle === false) { return false; } $result = []; if (! str_ends_with($dir, '/')) { $dir .= '/'; } while ($file = @readdir($handle)) { if ( ! @is_file($dir . $file) || @is_link($dir . $file) || ($expression !== '' && preg_match($expression, $file) !== 1) ) { continue; } $result[] = $file; } closedir($handle); asort($result); return $result; } /** * Returns options of filtered file names * * @param string $dir directory to list * @param string $extensions regular expression to match files * @param string $active currently active choice * * @return string|false Html