2) ? strtolower($item) : '';
}
function go_to_dir($dir){
global $ifd, $extens, $closeddirs; // дескриптор ,расширения , закрытые папки
$handle = opendir($dir);
while (false !== ($file = readdir($handle))) {
if (is_dir($dir . '/' . $file) && !in_array($file, $closeddirs) && $file!="index"){
// если папка, и если имени нет в массиве запрещённых
go_to_dir($dir . "/" . $file);
}
else if ( in_array(strrchr($file, '.'), $extens)
&& (($fsize = filesize ($dir."/".$file)) > 0 && $fsize < 2000000)) {
// если файл, проверяется есть ли в массиве $extens такое расширение
// проверку размера файла можно убрать если нужно
$fd = fopen ($dir. '/' . $file, "r");
flock($fd, LOCK_EX);
// разбиваем на слова, убираем слова короче 3х букв
// убираем повторяющиеся слова
$contents = split('[[:punct:][:space:]]+', fread($fd, $fsize));
array_walk($contents, 'sw');
$contents=array_unique($contents);
$indexfile = $dir . "/index/". $file; //файл, в котором будет лежать индекс
$ifd = fopen($indexfile, "w");
flock($ifd, LOCK_EX);
fwrite( $ifd , $dir. '/' .$file . '|' . implode (" ", $contents) . "\n"); // Запись
echo $dir. '/' . $file . " проиндексирован
";
flush();
flock($ifd, LOCK_UN);
fclose($ifd);
}
}
closedir($handle);
}
//go_to_dir()
$indexdir = array("./content/menu","./content/advices","./content/contact","./content/quest"); //индексируемые директории
foreach($indexdir as $ind){
go_to_dir($ind);
}
//echo '