|
|
 2 Кб |
|
|
для: xx77
(17.09.2008 в 15:47)
| | прикрепил.
наверное здесь есть одна оплошность с моей стороны --
применение strtolower отдельно к каждому елементу массива
,вместо применения ко всему тексту сразу
UPD//
поправлял "17.12" ) | |
|
|
|
|
|
|
|
для: Лена
(17.09.2008 в 14:38)
| | ой ,)) и правда не работало во вложенных папках :)
неправильно проверялось является-ли имя папкой
там вместо if(is_dir($file)) надо-было if(is_dir($dir . '/' . $file))
и вызывать функцию в склучае с ./content/ надо go_to_dir('./content');
ещё теперь вот никак не осмыслю как-же можно туда впихнуть предложенное мной split('\W+', $contents)
;) | |
|
|
|
|
|
|
|
для: Лена
(17.09.2008 в 14:07)
| | Поняла. В рекурсии еще уровень вложения надо указывать, тогда должно выводиться. Вечером попробую. | |
|
|
|
|
|
|
|
для: xx77
(16.09.2008 в 18:09)
| | Михаил, спасибо вам большое.
Есть две нерешенные проблемы.
Одна касается случая, когда надо индексировать не текущую директорию. От текущей к ней путь такой:
$indexdir = "./content/"; //индексируемая директория
Если так, то ничего не индексируется.
Вторая проблема такая. Если индексируемая директория - текущая, то индексируются только директории, в нее вложенные, например: ./configs,./counter, ./lightbox, директории, расположенные глубже не индексируются, например, типа: ./configs/map/, ./configs/advise/ и т.д. Как это сделать?
И последнее. Не вижу разницы между array_filter() и array_walk () - они же одно и то же делают, проходятся по элементам массива, применяют к ним функцию | |
|
|
|
|
|
|
|
для: xx77
(16.09.2008 в 17:49)
| | UPD//
наверное там лучше было-бы split('\W+', $contents);
вместо _replace и explode | |
|
|
|
|
 1.9 Кб |
|
|
для: Лена
(16.09.2008 в 16:01)
| | у меня такой индексатор частенько вылетает с предупреждением о превышении размера используемой памяти , наверное для больших файлов , fread($fd, filesize($fname)) негодится.
а так работает | |
|
|
|
|
|
|
|
для: Trianon
(16.09.2008 в 15:35)
| | Спасибо. Не работает. | |
|
|
|
|
|
|
|
для: Лена
(16.09.2008 в 13:20)
| | Вы теряете результаты рекурсивных вызовов. надо изменить строку вызова так, чтобы она дописывала результат.
$fullfile .= go_to_dir($dir . "/" . $file);
|
| |
|
|
|
|
 2.2 Кб |
|
|
для: Trianon
(16.09.2008 в 09:54)
| | Возвращаю значение функции go_to_dir(), результат ее действия сохраняю в $fullfile , чтобы потом все записать в файл. Не записывается, файл пустой. Пробовала вывести $fullfilе - ничего
$fullfile = go_to_dir($indexdir);
echo $fullfile;
Значит, не правильно функция работает? | |
|
|
|
|
|
|
|
для: Лена
(16.09.2008 в 09:47)
| | в основном коде у Вас нигде переменной fullfile ничего не присваивается.
Одноименная локальная переменная в функкции go_to_dir() -
а) это вообще другая переменная
б) с каждым очередным файлом из каталога её предыдущее значение теряется - перезаписывается новым
в) в конце обработки каждого каталога по достижении конца функции она прекращает существование.
А return в функции нет. | |
|
|
|
|