PHP glob () не находит.htaccess



Простой вопрос-как перечислить .htaccess файлы с помощью glob()?

512   2  

2 ответов:

glob() перечисляет "скрытые" файлы (файлы, начинающиеся с ., включая каталоги . и ..), но только если вы явно попросите его:

 glob(".*");

Фильтрация возвращаемого массива glob() для записей .htaccess с помощью preg_grep:

 $files = glob(".*") AND $files = preg_grep('/\.htaccess$/', $files);

Альтернативой Глобу, конечно, было бы просто использование scandir() и фильтр (fnmatch или регулярное выражение):

 preg_grep('/^\.\w+/', scandir("."))

На случай, если сюда придет какое-нибудь тело,

Поскольку SPL реализован в PHP и предлагает некоторые классные итераторы, вы можете использовать список ваших скрытых файлов, таких как .htaccess файлы или это альтернативные скрытые файлы linux.

Используя DirectoryIterator для перечисления всего содержимого каталога и исключая . и .. следующим образом:

$path = 'path/to/dir';
$files = new DirectoryIterator($path);

foreach ($files as $file) {
    // excluding the . and ..
    if ($file->isDot() === false) {
        // make some stuff
    }
}

Comments

    Ничего не найдено.