<?php
Error_Reporting(E_ALL & ~E_NOTICE);
// Имя файла с путями к фотографиям и ключевыми словами
$filename = "base.txt";
$filurl = "url.txt";
// Помещаем содержимое файла в массив $photo_line
$photo_line = file($filename);
// Проверяем то, что передано в форме
// дабы исключить взлом
$_POST['name'] = str_replace("'"," ",$_POST[name]);
$_POST['name'] = str_replace('"'," ",$_POST[name]);
if(empty($_POST['name']))
{
exit ("Текстовое поле осталось не заполненным - введите слово для поиска");
}
// Проверяем не слишком ли короткое слово
if(strlen($_POST['name']) < 4)
{
// Проверяем не имеется ли оно в shotkey.txt
$fd = fopen("shotkey.txt","r");
$bufer = fread($fd,filesize("shotkey.txt"));
fclose($fd);
$shotkeys = preg_split("|[\s]+|i",$bufer);
if(!in_array($_POST['name'],$shotkeys)) exit ("Слишком короткое слово");
}
// Открываем файл url.txt c реальными путями к фотографии
$url_temp = file($filurl);
foreach($url_temp as $line)
{
list($index,$value) = explode(" ",$line);
$url[$index] = $value;
}
// В цикле ищем вхождения
foreach($photo_line as $lines)
{
// Проверяем входит ли в состав строки искомое
// слово - если входит - запоминаем его номер.
if(preg_match("|".$_POST['name']."|i", $lines))
{
$temp = substr($lines,strpos($lines," "));
$temp = trim($temp);
$path = substr($temp,0,strpos($temp," "));
$alt = substr($temp,strpos($temp," "));
$photo_path[] = trim($url[substr($lines,0,strpos($lines," "))]).$path."|".$alt;
}
}
if(empty($photo_path)) exit ("К сожалению, ничего не найдено");
// Выводим фотографии
foreach($photo_path as $pathpd)
{
// Отделяем описание от пути к файлу
list($pathp,$alt) = explode("|",$pathpd);
// Теперь разбиваем строку на директорию и файл
$arr = pathinfo($pathp);
// Извлекаем путь ещё раз
$dir_pict = pathinfo($arr[dirname]);
// Ссылка на исходную HTML-страницу
echo "<a href=$arr[dirname]><IMG src=".$dir_pict['dirname']."/".$arr['basename']." width=779 height=106 border=0></a><br>";
// Описание, с выделением жирным найденных слов
echo str_replace($_POST['name'],"<b>$_POST[name]</b>",$alt)."<br>";
unset($arr);
}
?>