Moin Leute,
Ich hab mir ein kleines Script geschrieben, was die Metatags meiner html-Seiten indexiert.
Hier mal der Quellcode:
<?PHP
function show_dir($dir, $pos=2)
{
if($pos == 2)
{
echo "<hr>";
}
$handle = @opendir($dir);
while ($file = @readdir ($handle))
{
if (eregi("^.{1,2}$",$file))
{
continue;
}
if(is_dir($dir.$file))
{
printf ("% ".$pos."s <span style='font-weight:bold;'>%s</span>\n", "|-", $file);
show_dir($dir.$file."/", $pos + 3);
}
else
{
//printf ("% ".$pos."s %s\n", "|-", $file);
if(!is_dir($file))
{
$aktuelledatei=$dir.$file;
print '<span style="font-color:red;font-weight:bold;">|- '.$dir.$file.'</span>';
if(ereg('.htm$',$aktuelledatei))
{
print " <span style='font-style:italic'>wird indexiert</span>";
//MYSQL-Daten
/* Datenbankserver - In der Regel die IP */
$db_server = "localhost";
/* Datenbankname */
$db_name = "";
/* Datenbankuser */
$db_user = "";
/* Datenbankpasswort */
$db_passwort = "";
$dbconn = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
$db_waehlen = @MYSQL_SELECT_DB($db_name);
$dateiurl=$aktuelledatei;
$metas = get_meta_tags($dateiurl);
$words="";
$desc="";
$insertwords="";
while(list($key, $val) = each($metas))
{
if($key=="keywords")
{
$words=$val;
//$words=strtolower($words);
$words = explode(",",$words);
}
if($key=="description")
{
$desc=$val;
}
}
for($x=0;$x<count($words);$x++)
{
$insertwords.=$words[$x].' ';
}
print'<br><table style="border-width:1px;border-style:solid;border-color:#000000;width:95%;"><tr><td>';
print $insertwords;
print '</td></tr>';
print '<tr><td>';
print $desc;
print'</td></tr></table>';
print'<br>';
$insertquery="INSERT INTO suche (url,keywords,description) VALUES ('$dateiurl','$insertwords','$desc');";
$result=mysql_query($insertquery,$dbconn);
if($result)
{
print '<span style="color:maroon;text-decoration:underline;">Datensatz erfolgreich hinzugefuegt</span><br><hr style="width:95%;text-align:center;border-width:1px;border-color:#000000;border-style:solid;"><br>';
flush();
}
else
{
print '<span style="color:maroon;font-weight:bold;">Beim Hinzufuegen des Datensatzes ist ein Fehler aufgetreten</span><hr><br>';
flush();
}
}
}
print '<br>';
}
}
}
@closedir($handle);
if($pos == 2)
{
echo "<hr>";
}
?>
<?
if($action=="logout")
{
session_destroy();
session_unregister('index');
}
if($pass=="oppapattikirgi"&&!session_is_registered('index'))
{
session_register('index');
}
else
{
print 'Willkommen zum HTML-Indexer<br>Zur Neuindexierung der Seiten wird das Admin-Passwort benötigt<br>';
print '<form name="form1" action="'.$PHP_SELF.'" method="post"><input type="password" name="pass"> <input type="submit" name="submit" value="Einloggen">';
}
if(session_is_registered('index')&&$action!='logout')
{
print 'Sie sind erfolgreich eingeloggt, mit der Neuindexierung wird begonnen... | <span class="spansurveymainlinks"><a href="'.$PHP_SELF.'?action=logout">Logout</a></span>';
show_dir(""); //Zwischen "" kann man einen Ordner angeben
}
?>
Wenn ich das Script offline laufen lasse, werden die Seiten indexiert. Online kommt zwar die Loginbestätigung, aber das script ist dann sofort fertiggeladen und fängt noch nicht mal mit der Indexierung an.
Weiß jemand eine Lösung?
LG Jakob
Wer andern eine Bratwurst brät, hat meist ein Bratwurstbratgerät!