2011-12-21 2 views

ответ

11

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

glob(".*"); 

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

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

альтернатива Glob конечно будет только с помощью scandir() и фильтр (fnmatch или регулярное выражение):

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

+1: Спасибо за разъяснение Марио. – hakre

+0

Фактическая особенность заключается в том, что PHP не просто делает системный вызов 'glob.h' постоянным' GLOB_PERIOD' доступным. Так что это скорее обход. – mario

+0

Да, добавленный код, довольно долго использовать этот формат значения параметра, чтобы получить эти файлы, начиная с периода. Интересно, почему константа не была интегрирована. Разве эти окна любят? – hakre

0

в случае какой-либо орган пришел сюда,

с 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 
    } 
} 
Смежные вопросы