Parse Error bei ?>, komisch

Hallo,

ich habe nicht viel Ahnung von PHP und bin fast am verzweifeln. Habe jetzt mühseelig diesen Code, der alle verzeichnisse auf einem Webspace auf Links zu meiner Seite überprüfen soll geschrieben, der Aber in der letzten Zeile einen Faheler hat. Habe auch schon alle erdenklichen Tuts dazu durchgelesen und bin am verzweifeln. Bitte, bitte ghelft mir, damit ich auch mal mit meiner HP weiterkomme…

Danke schon jetzt

Stephan

Code:


$ja = ‚*ja*‘;
$nein = ‚*nein*‘;

// Verzeichnisse ausgeben

function echo_dirs($sDir)
{
if(!$oDir = @dir($sDir))
{
echo(„Konnte das Verzeichnis $sDir nicht zum Lesen öffnen
\n“);
return;
}

while(is_string($sFile = $oDir->read()))
{
if($sFile[0] == „.“) continue;

if(is_dir($sDir.$sFile))
{

function search4links($url, $fPtr)
{
static $urlBuffer;
if(isset($urlBuffer[$url])) return 0;
$urlBuffer[$url] = 1;

echo(„Durchsuche $url
\n“);
flush();
$meineSeite = @implode("", @file($url));
if(!$meineSeite) return 0;
$existing = false;

// Links suchen
preg_match_all("/\href=("|’)(.*)(\1)/isU", $meineSeite, $ausgabe);
$anzahlLinks = 0;

foreach($ausgabe[2] as $link)
{
if(preg_match("/(bildungszentrum-hyperkinetik.de|bz-h.de)/i", $link))
$existing = true;
if(!preg_match("/(http)/i", $link))
{
if(!$link[0] == „/“)
{
if(!preg_match("/(http://.*)/(.*).(.*)$/siU", $url, $mUrl))
{
$anzahlLinks += search4links($url."/".$link);
}
else
{
$anzahlLinks += search4links($mUrl[1]."/".$link);
}
}
else
{
preg_match("/(http://.*)//siU", $url, $mUrl);
$anzahlLinks += search4links($mUrl[1]."/".$link, $fPtr);
}

}

}

if($existing)
$query = „UPDATE parnter (check) VALUES (’“.mysql_escape_string ($ja)."’) WHERE adresse LIKE $url";

if($insert = @mysql_query("$query")) {
echo ’ Abfrage erfolgreich

';
}

else{

$query = „UPDATE parnter (check) VALUES (’“.mysql_escape_string ($nein)."’) WHERE adresse LIKE $url";

if($insert = @mysql_query("$query")) {
echo ’ Abfrage erfolgreich

';
}
return $anzahlLinks;

}

if(isset($_POST[‚url‘])) {
echo "\n\n

Links gefunden: ".search4links($_POST[‚url‘]);

}
else
{
echo("$sFile
");
}
}
}

echo_dirs("./");

?>


PS: Die Connect Verbindung wird schon weiter oben hergestellt, dort ist auch @mysql_query definiert.

Diese Meldung gibt er mir aus:


Parse error: parse error in /var/www/web742/html/linkadmin2003/iframe/check.php on line 106


ich habe nicht viel Ahnung von PHP und bin fast am
verzweifeln. Habe jetzt mühseelig diesen Code, der alle
verzeichnisse auf einem Webspace auf Links zu meiner Seite
überprüfen soll geschrieben, der Aber in der letzten Zeile
einen Faheler hat. Habe auch schon alle erdenklichen Tuts dazu
durchgelesen und bin am verzweifeln. Bitte, bitte ghelft mir,
damit ich auch mal mit meiner HP weiterkomme…

dir fehlen 2 schliessende klammern,
du hast die funktion search4links innerhalb einer while-schleife deklariert?!

Er macht trotzdem nichts, *verzweifel*, er gibt nichts aus :frowning:

Kennt jemand den Fehler?

Danke schon jetzt

Stephan

Er macht trotzdem nichts, *verzweifel*,

wie sieht denn dein code jetzt aus? pack ihn in

-tags, damit die einrueckugn erhaltne bleibt.



> er gibt nichts aus :frowning:


schon mal kein fehler, das ist gut.

Hallo,

hier, meine Einrückungen sind ganz wild:

$ja = '\*ja\*'; 
$nein = '\*nein\*'; 

// Verzeichnisse ausgeben 

function echo\_dirs($sDir) 
{ 
if(!$oDir = @dir($sDir)) 
{ 
echo("Konnte das Verzeichnis $sDir nicht zum Lesen öffnen
\n"); 
return; 
} 

while(is\_string($sFile = $oDir-\>read())) 
{ 
if($sFile[0] == ".") continue; 

if(is\_dir($sDir.$sFile)) 
{ 

function search4links($url, $fPtr) 
{ 
static $urlBuffer; 
if(isset($urlBuffer[$url])) return 0; 
$urlBuffer[$url] = 1; 



echo("Durchsuche $url
\n"); 
flush(); 
$meineSeite = @implode("", @file($url)); 
if(!$meineSeite) return 0; 
$existing = false; 

// Links suchen 
preg\_match\_all("/\href=(\"|')(.\*)(\\1)/isU", $meineSeite, $ausgabe); 
$anzahlLinks = 0; 

foreach($ausgabe[2] as $link) 
{ 
if(preg\_match("/(bildungszentrum-hyperkinetik\.de|bz-h.de)/i", $link)) 
$existing = true; 
if(!preg\_match("/(http)/i", $link)) 
{ 
if(!$link[0] == "/") 
{ 
if(!preg\_match("/(http:\/\/.\*)\/(.\*)\.(.\*)$/siU", $url, $mUrl)) 
{ 
$anzahlLinks += search4links($url."/".$link); 
} 
else 
{ 
$anzahlLinks += search4links($mUrl[1]."/".$link); 
} 
} 
else 
{ 
preg\_match("/(http:\/\/.\*)\//siU", $url, $mUrl); 
$anzahlLinks += search4links($mUrl[1]."/".$link, $fPtr); 
} 

} 

} 

if($existing) 
$query = "UPDATE parnter (check) VALUES ('".mysql\_escape\_string ($ja)."') WHERE adresse LIKE $url"; 

if($insert = @mysql\_query("$query")) { 
echo ' Abfrage erfolgreich

 '; 
} 

else{ 

$query = "UPDATE parnter (check) VALUES ('".mysql\_escape\_string ($nein)."') WHERE adresse LIKE $url"; 

if($insert = @mysql\_query("$query")) { 
echo ' Abfrage erfolgreich

 '; 
} 
return $anzahlLinks; 

} 

if(isset($\_POST['url'])) {
echo "\n\n

Links gefunden: ".search4links($\_POST['url']); 

} 
else 
{ 
echo("$sFile
"); 
} 
} 
} 

echo\_dirs("./"); 

}
}

?\>

Danke schon jetzt

Stephan

PS: Er durchsucht aber nicht den Webspace, sondern zeigt mir ein leeres Bild…

Hallo,

hier, meine Einrückungen sind ganz wild:

na super - dann mach es halt besser.
die funktion search4links steht immer noch in einer while-schleife.

Ich hatte die Einrückungen so gut wi möglich, habe sie dann in die gesetzt…

Das mit der while ist, da, wenn ich anfange zu suchen, er mir Bericht gibt…

Stephan