Sanny: Tutorial gesucht

Hallo,

ich habe folgende Aufgabe und suche ein Online-Tutorial, welches mir weiterhelfen kann (oder gleich direkte Hilfe, wenn jemand Lust hat, ein paar Zeilen php zu schreiben :) :

ich soll auf einer Website Teile eines xml-Dokuments per php ausgeben. Das xml-Dokument liegt auf einem fremden Server.

Bisher versuche ich es so:

  • einlesen des xml in eine Variable (z.B. $xml)
  • Ausgabe erstmal in Form von z.B. "echo $xml->teaser[0];"

Mein Problem: nicht einmal das Einlesen funktioniert:

  
<?  
$xml = fsockopen("http://www.beispiel.de/sitemap.xml", 80, &$errno,&$errstr,2);  
  
if(!$xml)  
   {  
   echo "kann Datei nicht öffnen";  
   }  
  
else  
   {  
   var_dump($xml);  
   }  
fclose($xml);  
?>  
  

Bei diesem Beispiel kommt immer als Ausgabe das "kann Datei nicht öffnen".

Was mache ich falsch? Wo finde ich ein gutes Tutorial / eine gut erklärte Liste der php-Funktionen / ...?

Vielen Dank!
Sanny

  1. echo $begrüßung;

    $xml = fsockopen("http://www.beispiel.de/sitemap.xml", 80, &$errno,&$errstr,2);
    Was mache ich falsch? Wo finde ich ein gutes Tutorial / eine gut erklärte Liste der php-Funktionen / ...?

    Du verwendest fsockopen() falsch. Zum Informieren gibt es Suchmaschinen / das PHP-Handbuch / ...

    echo "$verabschiedung $name";

  2. 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>
    
    1. Hallo Tom und dedlfix,

      vielen Dank! Ihr habt mir weitergeholfen. Und die php-Links/Manuals sind super! Ich les mich gerade in einiges rein.

      Viele Grüße,
      Sanny