View file get.php

File size: 2.19Kb
<?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); 
} 
?>