2013-03-06 2 views
0

Я хочу найти специальные имена файлов. Поэтому я использую glob().glob() и звездочки в фигурных скобках

$foundResults = glob($directory . '{data_*.csv, log_*.txt}', GLOB_BRACE); 

Этот код находит только мой первый шаблон data_*.csv. Похоже, что звездочки не допускаются между фигурными скобками?

Каковы мои альтернативы? Я могу думать только об использовании конструкции for each для вызова glob() несколько раз. Или есть лучшие алгоритмы/функции?

ответ

1

Правильный вызов без пробелов символов!

$foundResults = glob($directory . '{data_*.csv,log_*.txt}', GLOB_BRACE); 

Я получил совет от этой темы: help with glob/GLOB_BRACE

1

Это прекрасно работает для меня:

$foundResults = glob('{tes*.php,tes*.xls}', GLOB_BRACE); 

echo "<pre>"; 
print_r($foundResults); 

Выход:

Array 
(
    [0] => test.php 
    [1] => test.xls 
) 

Проверить стоимость вашего $directory Проверьте наличие завершающего слэша /. Положите его, если его там нет.

+0

У меня есть слэш. Я думаю, что его сервер специфичен? [Здесь] (http://www.codingforums.com/archive/index.php/t-77040.html) - аналогичная проблема. Найдена только первая запись. Я также попытался удалить пробелы, но это та же проблема. – testing

+0

Хорошо, проблемы были в пространствах. Раньше у меня была проблема с кешированием, поэтому я не видел текущих результатов ... – testing

+0

Хорошо .. вы исправили это ... Cool: D –