Habari\Utils::glob PHP Méthode

glob() public static méthode

Replacement for system glob that returns an empty array if there are no results
public static glob ( string $pattern, integer $flags ) : array
$pattern string The glob() file search pattern
$flags integer Standard glob() flags
Résultat array An array of result files, or an empty array if no results found
    public static function glob($pattern, $flags = 0)
    {
        if (!defined('GLOB_NOBRACE') || !(($flags & GLOB_BRACE) == GLOB_BRACE)) {
            // this platform supports GLOB_BRACE out of the box or GLOB_BRACE wasn't requested
            $results = glob($pattern, $flags);
        } elseif (!preg_match_all('/\\{.*?\\}/', $pattern, $m)) {
            // GLOB_BRACE used, but this pattern doesn't even use braces
            $results = glob($pattern, $flags ^ GLOB_BRACE);
        } else {
            // pattern uses braces, but platform doesn't support GLOB_BRACE
            $braces = array();
            foreach ($m[0] as $raw_brace) {
                $braces[preg_quote($raw_brace)] = '(?:' . str_replace(',', '|', preg_quote(substr($raw_brace, 1, -1), '/')) . ')';
            }
            $new_pattern = preg_replace('/\\{.*?\\}/', '*', $pattern);
            $pattern = preg_quote($pattern, '/');
            $pattern = str_replace('\\*', '.*', $pattern);
            $pattern = str_replace('\\?', '.', $pattern);
            $regex = '/' . str_replace(array_keys($braces), array_values($braces), $pattern) . '/';
            $results = preg_grep($regex, Utils::glob($new_pattern, $flags ^ GLOB_BRACE));
        }
        if ($results === false) {
            $results = array();
        }
        return $results;
    }