Jakob Schneider: Indexer-Script läuft offline, aber nicht online

Beitrag lesen

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!