Hello,
Mein Problem: nicht einmal das Einlesen funktioniert:
<?
$xml = fsockopen("http://www.beispiel.de/sitemap.xml", 80, &$errno,&$errstr,2);
Bei fsockopen() wird Verbindung zum Host hergestellt, nicht zur Resscource.
Du kannst also entweder eine IP angeben, oder den Hostnamen. DNS wird unterstützt.
Das Protokoll wird hier nicht als Scheme mitgegeben, sondern es wird nachher im Dialog einfach benutzt. Über welchen Port Du sprechen willst, hast Du ja mit der '80' bereits mitgeteilt.
[link:http://www.php.net/manual/en/function.fsockopen.php]
Und wenn man solche Funktionen benutzt, die einem ganz augenscheinlich Fehlermeldungen zur Verfügung stellen, dann sollte man die auch mal auslesen. Dafür wäre im if-not-Zweig Deines Konstruktes der richtige Platz.
Der Bezeichner $xml für ein File- oder Socket-Handle ist nicht gerade passend. Da denkt man doch, dass die Variable nachher wirklich das XML enthalten würde g
if(!$xml) ## Hier verwendest Du $xml noch als Handle, denn deine Reaktion ist "...Datei öffnen..."
{
echo "kann Datei nicht öffnen";
}else
{
var_dump($xml); ### hier gibst Du den Inhalt von $xml aus, aos als müsste sich das $xml darin befinden. Meintest Du das etwa auch?
}
fclose($xml); ### hier schließt Du die Verbindung, auch wenn sie gar nicht besteht.
?> ### Ein fclose() ist nur dann sinn voll, wenn das Handle gültig war!
Ich habe den Eindruck, dass Du erst einmal mit der Funktion file\_get\_contents() beginnen solltest, bevor Du Dich an fsockopen() heranwagst ;-)
<http://www.php.net/manual/en/function.file-get-contents.php>
Liebe Grüße aus Syburg
Tom vom Berg
![](http://selfhtml.bitworks.de/Virencheck.gif)
--
Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>