Поиск каталога в PHP с несколькими критериями

Я пытался найти способ поиска в каталоге с несколькими критериями на PHP с небольшой удачей.

У меня есть папка, содержащая несколько версий одного и того же файла, но на разных языках и для разных устройств:

например

 1. file_en_v980.jar

 2. file_fr_v980.jar

 3. file_en_v990.jar

 4. file_fr_v990.jar

Я хочу, чтобы иметь возможность искать в каталоге все английские (en) .jar файлы для v980.

Я пробовал это:

foreach(glob('./'.$installer_location.'/'.$brand_name.'/*en*.jar') as $filename){
    echo $filename."
"; }

Он работает, но также возвращает французский (fr) файл.

Я пробовал это:

foreach(glob('./'.$installer_location.'/'.$brand_name.'/*en,v980*.jar') as $filename){
    echo $filename."
"; }

Но он ничего не возвращает, поэтому я предполагаю, что у меня синтаксис неправильный.

Любая помощь будет принята с благодарностью.

Дополнение:

Основываясь на приведенном ниже замечании, я пробовал это:

foreach(glob('./'.$installer_location.'/'.$brand_name.'/*{en,v980}*.jar',GLOB_BRACE) as $filename){
    echo $filename."
"; }

Это вернуло все файлы, которые были либо en, v980, либо и то, и другое. Мне просто нужно выяснить, есть ли способ сказать, должен содержать оба.

0
nl ja de
Почему ru, v980 вместо en_v980 ?
добавлено автор Waleed Khan, источник
Я думал, что «,» будет разделять критерии, в которых «en_v980» будет искать соответствующую строку. Фактические имена файлов намного больше, чем те, которые я использовал в этом примере.
добавлено автор Richard Allsopp, источник

1 ответы

PHP's glob() essentially uses the same wildcarding/matching engine as a unix shell. With your version, you're searching for files that contain en,v980, and it's not being treated as "alternation". http://www.tldp.org/LDP/GNU-Linux-Tools-Summary/html/x11655.htm

Пытаться

glob('..../*{en,v980}*.jar')

вместо этого (обратите внимание на {} )

0
добавлено
Спасибо за предложение - я попробовал, и он не работает. Я сделал что-то очень похожее, прежде чем отправлять вопрос, как он был написан в документации для GLOB, он использовал GLOB_BRACE перед закрывающимися круглыми скобками. Странно, что это не работает, так как пример документации - это то, что мне нужно.
добавлено автор Richard Allsopp, источник
SEO chat
SEO chat
5 476 участник(ов)

Чат про SEO. Speak Russian! Др.чаты: @ppcchat @uiux_chat @devschat @smmhell Работа: @seohr Канал: @seolife Аудит: tpv.sr/1QoBSBb Стата: tpv.sr/1QoBMrK/ Запрещено: - мат и брань - команды ботам - реклама, вакансии - религия, политика, наркота, крипта

phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp