oder kann mir einer sagen wie ich bei diesem suchmaschinen-script es so einstelle, das ich auch auf die seiten komme die angezeigt werden? also das wären da kommt ja sonst immer dann "no acces" oder so!
script:
################################
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>PHP-Suchmaschine</title>
<style>
body,td,input { font-family:Verdana;font-size:7.9pt }
.t_nummer { font-family:Verdana,Tahoma,Arial; font-size:16pt; font-weight:bold; color:#999999}
.markierung {color:#ff0000}
</style>
</head>
<body>
<?
// error_reporting(0);
########### PHP-Suchmaschine ###########
########### powered by Viktor Widiker & http://www.widiker.de, Berlin 2002 ###########
########### Hier folgen die Einstellungen ###########
$max_suchwoerter=3; # Maximale Anzahl der Suchwörter, die wahrgenommen werden
$treffer_pro_seite=10; # Wie viele Treffer werden pro Ergebnisseite angezeigt?
$endungen=array("html","htm","php","phtml"); # Dateien mit welchen Endungen werden durchsucht?
$pfade_gesamt="./"; # Adressen (relativ zum Suchmaschinennskript) der zu durchsuchenden Ordner (durch Kommata trennen!)
$max_stelle=200; # Maximale (ungefähre) Länge (in Zeichen) der ersten gefundenen Textstelle
$mehr_laenge=200; # Maximale (ungefähre) Länge (in Zeichen) des Strings für weitere Vorkommnisse
########### Ab hier folgt die Suche #######
// Umstellung auf reg_glo=Off Anfang
$PHP_SELF = $_SERVER['PHP_SELF'];
$SERVER_NAME = $_SERVER['SERVER_NAME'];
// $SERVER_NAME = "http://www.mein-ge.de";
foreach($_POST as $key => $value) {
$$key = isset($_POST[$key]) ? $_POST[$key] : "";
}
foreach($_GET as $key => $value) {
$$key = isset($_GET[$key]) ? $_GET[$key] : "";
}
// Umstellung auf reg_glo=Off ENDE
if (!isset($grossschreibung)) { $grossschreibung=0; }
if (!isset($ganzewoerter)) { $ganzewoerter=0; }
if (!isset($index)) { $index=0; }
$suchtext=trim(stripslashes($suchtext));
if ($grossschreibung==0) { $suchtext=strtolower($suchtext); }
$suchtext=ereg_replace(","," ",$suchtext);
$suchtext2=array(); $suchwoerter=array();
$suchtext2=explode(" ",$suchtext);
foreach ($suchtext2 as $einwort)
{
if (($einwort!="") && (count($suchwoerter)<=($max_suchwoerter-1)) && (!in_array($einwort,$suchwoerter)))
{ array_push($suchwoerter,$einwort); }
}
$suchtext=implode(" ",$suchwoerter);
?>
<form action="<? echo "$PHP_SELF"; ?>" method="post">
<table width="500" cellpadding="5" cellspacing="0" border="0" bgcolor="#ccddee" align="center">
<tr>
<td align="right">
<?
echo "<input type="text" name="suchtext" size="";
$browser=$HTTP_USER_AGENT;
if (1*strpos(strtolower($browser),"msie")>0) { echo "25"; } else { echo "14"; }
echo "" value="".$suchtext.""><br><br>";
?>
<input type="submit" value=" suchen ">
</td>
<td>
<b>Groß- und Kleinbuchstaben</b><br>
<input type="radio" name="grossschreibung" value="1" <? if ($grossschreibung==1) echo "checked"; ?>>unterscheiden<br>
<input type="radio" name="grossschreibung" value="0" <? if ($grossschreibung==0) echo "checked"; ?>>nicht unterscheiden
</td>
<td>
<b>Art der Suche</b><br>
<input type="radio" name="ganzewoerter" value="1" <? if ($ganzewoerter==1) echo "checked"; ?>>nur ganze Wörter<br>
<input type="radio" name="ganzewoerter" value="0" <? if ($ganzewoerter==0) echo "checked"; ?>>Wortteile
</td>
</tr>
</table>
</form>
<?
if ($suchtext!="") { start(); ausgabe(); }
function start()
{
global $suchwoerter,$grossschreibung,$ganzewoerter,$dateinummer,$treffer,$max_stelle,$mehr_laenge;
global $endungen,$pfade_gesamt;
$dateinummer=0;
$treffer=array();
$pfade=array(); $pfade=explode(",",$pfade_gesamt);
foreach ($pfade as $pfad)
{
$ordner=opendir($pfad);
while ($eintrag=readdir($ordner))
{
$name=$pfad.$eintrag;
$dateiname=explode(".",$eintrag);
if (in_array($dateiname[1],$endungen))
{
$anzahl=0;
$schluss=0;
$gefundene_woerter=array();
$datei=fopen($name,"r");
while (!feof($datei))
{
$zeile=fgetss($datei,10000,"");
if ($grossschreibung==0) { $zeile=strtolower($zeile); }
$woerter=explode(" ",$zeile);
foreach ($woerter as $wort)
{
foreach ($suchwoerter as $suchwort)
{
### ganze Wörter ###
if ($ganzewoerter==0)
{
if (strstr($wort,$suchwort))
{
if (!in_array($suchwort,$gefundene_woerter)) { array_push($gefundene_woerter,$suchwort); }
$anzahl++;
$treffer["vorkommnisse"][$dateinummer]++;
if ($anzahl==1)
{
$treffer["datei_url"][$dateinummer]=$name;
$position=strpos($zeile,$wort);
$wortlaenge=strlen($wort);
$zeilenlaenge=strlen($zeile);
if ($zeilenlaenge>$max_stelle)
{
$lside=$position-(($max_stelle-$wortlaenge)/2);
$rside=$lside+$max_stelle;
if ($lside<0) { $rside=$rside-$lside; $lside=0; }
if ($rside>$zeilenlaenge) { $rside=$zeilenlaenge; }
}
else { $lside=0; $rside=$zeilenlaenge; }
$stelle=substr($zeile,$lside,$rside-$lside);
$stelle=ereg_replace($wort,"<span class="markierung">".$wort."</span>",$stelle);
$stelle="...".$stelle."...";
$treffer["textstelle"][$dateinummer]=$stelle;
}
else if ($anzahl==2) { $teil=ereg_replace(",","",$teil); $mehr=$teil; }
else if ($anzahl>2)
{
if (strlen($mehr)<$mehr_laenge) { if ($mehr=="") { $komma=""; } else { $komma=", "; } $wort=ereg_replace(", ","",$wort); $mehr.=$komma.$wort; }
else { if ($schluss!=1) {$mehr=$mehr." ..."; $schluss=1;} }
}
}
}
### ganze Wörter ENDE ###
### Wortteile ###
else
{
if ($wort==$suchwort)
{
if (!in_array($suchwort,$gefundene_woerter)) { array_push($gefundene_woerter,$suchwort); }
$anzahl++;
$treffer["vorkommnisse"][$dateinummer]++;
if ($anzahl==1)
{
$treffer["datei_url"][$dateinummer]=$name;
$position=strpos($zeile,$wort);
$wortlaenge=strlen($wort);
$zeilenlaenge=strlen($zeile);
if ($zeilenlaenge>$max_stelle)
{
$lside=$position-(($max_stelle-$wortlaenge)/2);
$rside=$lside+$max_stelle;
if ($lside<0) { $rside=$rside-$lside; $lside=0; }
if ($rside>$zeilenlaenge) { $rside=$zeilenlaenge; }
}
else { $lside=0; $rside=$zeilenlaenge; }
$stelle=substr($zeile,$lside,$rside-$lside);
$stelle=" ".$stelle." ";
$stelle=ereg_replace(" ".$wort." "," <span class="markierung">".$wort."</span> ",$stelle);
$stelle="...".$stelle."...";
$treffer["textstelle"][$dateinummer]=$stelle;
}
else if ($anzahl==2) { $teil=ereg_replace(",","",$teil); $mehr=$teil; }
else if ($anzahl>2)
{
if (strlen($mehr)<$mehr_laenge) { if ($mehr=="") { $komma=""; } else { $komma=", "; } $wort=ereg_replace(", ","",$wort); $mehr.=$komma.$wort; }
else { if ($schluss!=1) {$mehr=$mehr." ..."; $schluss=1;} }
}
}
}
### Wortteile ENDE ###
}
}
}
fclose($datei);
$treffer["woerter"][$dateinummer]=count($gefundene_woerter);
$treffer["mehr"][$dateinummer]=$mehr;
if (count($gefundene_woerter)>0) { $dateinummer++; }
}
}
closedir($ordner);
}
}
function ausgabe()
{
global $treffer,$dateinummer,$PHP_SELF,$index,$SERVER_NAME,$treffer_pro_seite,$suchwoerter,$suchtext,$grossschreibung,$ganzewoerter;
echo "<table width="500" border="0" align="center"><tr><td>n";
echo "<span style="font-size:13pt"><b>Ergebnisse der Suche:</b></span><br><br>n";
$treffer_anzahl=count($treffer["datei_url"]);
if ($treffer_anzahl==0) { echo "<span style="font-size:13pt"><b><center><br><br>Leider nichts gefunden<br><br></center></b></span></td></tr></table>n"; }
else
{
@array_multisort($treffer["woerter"],SORT_DESC,$treffer["vorkommnisse"],SORT_DESC,$treffer["datei_url"],$treffer["textstelle"],$treffer["mehr"]);
$suchtext=ereg_replace(" ",", ",$suchtext);
if (count($suchwoerter)>1) { echo "Gesuchte Wörter: "; } else { echo "Gesuchtes Wort: "; }
echo "$suchtext<br><br>n";
$anfang=$index*$treffer_pro_seite+1;
$ende=$anfang+$treffer_pro_seite-1; if ($ende>$treffer_anzahl) { $ende=$treffer_anzahl; }
echo "<b>Treffer $anfang-$ende von insgesamt $treffer_anzahl Treffern, beste Treffer zuerst:<br><br>n";
echo "</td></tr></table>n";
for ($k=0;$k<$treffer_pro_seite;$k++)
{
$i=$index*$treffer_pro_seite+$k;
$platz=$i+1;
if ($platz<=$ende)
{
echo "<table width="580" border="1" cellpadding="0" cellspacing="0" align="center">n";
$t=1;
$treffer["datei_url"][$i]=ereg_replace("./","",$treffer["datei_url"][$i]);
$datei=fopen($treffer["datei_url"][$i],"r");
while ($t<7)
{
$zeile=fgetss($datei,1000,""); $zeile=trim($zeile);
if ($zeile!="")
{
echo "<tr><td height="16" colspan="2">";
echo "<span class="t_nummer">".$platz.".</span> <a href="".$treffer["datei_url"][$i].""><b>".$zeile."</b></a>";
break;
}
$t++;
}
fclose($datei);
if ($treffer["woerter"][$i]==1) { $woerter="Wort"; } else { $woerter="Wörter"; }
if ($treffer["vorkommnisse"][$i]==1) { $vorkommnisse="Vorkommnis"; } else { $vorkommnisse="Vorkommnisse"; }
echo "<p style="margin-top:0pt; margin-bottom:0pt" align="justify">n";
echo $treffer["textstelle"][$i]."<br>n";
echo "<small><b>Weitere Vorkommnisse: </b>".$treffer["mehr"][$i]."</small></p></td></tr>n";
echo "<tr><td><a href="http://".$SERVER_NAME."/".$treffer["datei_url"][$i]."" target="_blank">n";
echo "<img src="newwindow.gif" width="14" height="10" border="0">n";
echo " http://".$SERVER_NAME."/".$treffer["datei_url"][$i]."</a></td>n";
echo "<td align="right"><small><b>".$treffer["woerter"][$i]." ".$woerter." | ".$treffer["vorkommnisse"][$i]." ".$vorkommnisse."</b></small></td>n";
echo "</td></tr></table><br><br>n";
}
}
}
if ($treffer_anzahl>0) { echo "<center>Seite: n"; }
$j=ceil($treffer_anzahl/$treffer_pro_seite)-1;
for ($i=0;$i<=$j;$i++)
{
$zahl=$i+1;
if (($index+1)!=$zahl) { echo "<a href="$PHP_SELF?suchtext=$suchtext&index=".$i."&grossschreibung=".$grossschreibung."&ganzewoerter=".$ganzewoerter."">"; }
echo $zahl;
if (($index+1)!=$zahl) { echo "</a>"; }
echo " ";
}
if ($treffer_anzahl>0) { echo "</center>n"; }
}
########### Ende des Suchmaschinenskripts ###########
?>
</body>
</html>
#######################################
Zuletzt modifiziert von sCoRpIoN am 09.05.2006 - 17:53:33