Szukaj

Skrypt przeszukuje pliki w poszukiwaniu interesującej nas frazy

<?
if (isset($_POST['zapytanie'])) $zapytanie=strtolower($_POST['zapytanie']);
else $zapytanie="";
// lista plików nie przeszukiwanych
$zakazane_pliki=array('funkcje.php','hasla.php','szukaj.php');
$dozwolone_rozszerzenia=array('htm','html','php');
if ($zapytanie!="")
{
echo 'Wyniki wyszukiwania frazy <b>$zapytanie</b>:<br>';
przeszukuj(".",$zapytanie, $zakazane_pliki, $dozwolone_rozszerzenia);
}
else echo 'Nie wpisałeś żadnej frazy!';
function przeszukuj($nazwa_folderu, $zapytanie, $zakazane_pliki,
$dozwolone_rozszerzenia)
{
if (!isset($nazwa_folderu)) $nazwa_folderu=".";
$folder=opendir($nazwa_folderu);
while ($plik=readdir($folder))
{
if ((!in_array($plik, $zakazane_pliki)) &&
in_array(substr($plik, strrpos($plik,".")+1), $dozwolone_rozszerzenia))
{
$zawartosc=implode("",file($nazwa_folderu.'/'.$plik));
$zawartosc2= strip_tags(strtolower($zawartosc));
$pozycja=strpos($zawartosc2, $zapytanie);
$start=strpos($zawartosc, '<title>')+7;
$stop=strpos($zawartosc, '</title>');
if ($start===false || $stop===false)
$tytul="brak tytułu strony";
else
$tytul=substr($zawartosc,$start,($stop-$start));
if ($pozycja!==false)
{
echo '<a href='.$nazwa_folderu.'/'.$plik.'>'.$tytul.'</a><br>';
}
}
if ($plik!="." && $plik!=".." && is_dir($nazwa_folderu.'/'.$plik))
{
przeszukuj($nazwa_folderu."/".$plik, $zapytanie, $zakazane_pliki,
$dozwolone_rozszerzenia);
}
}
closedir($folder);
}
?>
O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-ShareAlike 3.0 License