Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011
Откуда: Москва
Помог: 221 раз(а)
|
Что-то типа этого:
PHP:
скопировать код в буфер обмена
function str_search($path, $extension, $str) { foreach (glob(rtrim($path, '/')."/*.".$extension) as $filename) { $file_arr[] = $filename; } return $file_arr; } str_search('my_dir', 'txt', 'строка поиска');
Функция вернёт массив файлов удовлетворивших запрос.
И второй вариант, с рекурсией и дополнительными параметрами.
PHP:
скопировать код в буфер обмена
function str_search($path, $str, $extension = null, $assoc = false) { function _str_search(&$_file_arr, $path, $str, $extension = null, $assoc = false) { foreach (scandir($path) as $filename) { if($filename == '.' || $filename == '..') continue; if(is_dir($path.'/'.$filename)) _str_search($_file_arr, $path.'/'.$filename, $str, $extension, $assoc); else { if( ) continue; { if($assoc == true) $_file_arr[$path][] = $filename; else $_file_arr[] = $path.'/'.$filename; } } } } echo 'Нет указанного файла, или каталога'; else { _str_search($_file_arr, $path, $str, $extension, $assoc); return $_file_arr; } } // Если не указывать третий параметр, то вернёт все файлы, удовлетворивших запрос. // Если параметр 4 == true, то вернёт ассоциативный структурированный массив, // где ключами являются пути, а значения - массивы имён файлов. // По умолчанию - false print_r(str_search ('директория', 'строка поиска', 'расширения файлов через запятую', 'логическое значение'));
В остальном сами доработаете я думаю)(Отредактировано автором: 08 Июля, 2012 - 15:24:18)
|