-1
Я пытался добавить globstar в PHP, но я вдруг наткнулся на это странное поведение:Почему php glob ведет себя по-другому (возвращая файлы, когда они не должны)?
$ php --version
PHP 5.4.15-1~dotdeb.1 (cli) (built: May 11 2013 19:59:55)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
$ ls -p
1/ f1
$ echo *
1 f1
$ php -r 'print_r(glob("*"));'
Array
(
[0] => 1
[1] => f1
)
$ echo */
1/
$ php -r 'print_r(glob("*/"));'
Array
(
[0] => 1/
)
$ echo ./*/
./1/
$ php -r 'print_r(glob("./*/"));'
Array
(
[0] => ./1/
[1] => ./f1
)
Является ли это ошибка?
Для фильтрации используется 'GLOB_ONLYDIR'. Конечная '/' косая черта не имеет документального значения, и я бы сказал, что она, как ожидается, игнорируется после заполнителей и как чистый разделитель базового имени. – mario
@mario, вы должны были сделать вместо этого ответ. – Prix
Держу пари, что это происходит прямо из libc. Во всяком случае, PHP является PHP. – yaccz