dedlfix: Simple XML Loadfile -> alternative aus php.net was meint ihr?

Beitrag lesen

Hi!

Hol die Daten mit file_get_contents(), das kann man über den Parameter context steuern.
Hm, was mit "Parameter Context" gemeint ist, ist mir nicht klar ( http://php.net/manual/en/context.php )

Auf der Seite zu file_get_contents() ist doch auch ein Beispiel, wie sowas genutzt werden kann. Es geht dabei darum, Funktionen, die eigentlich für den Dateizugriff vorgesehen sind, weitere zum Beispiel für einen Webzugriff benötigte und optionale Parameter setzen zu können. Man kann die HTTP-Header des Requests beeinflussen und eben auch den Timeout. Man muss dazu einen Stream-Context aufbauen. Das ist im Grunde recht einfach, man muss nur im Handbuch den Links in Richtung "Stream" und "HTTP-Wrapper" folgen, wenn man die möglichen Parameter beschrieben finden möchte.

PS Bedeutet es denn ich den Code richtig verstehe, das die XML zwei mal geladen wird?
Worauf begründet sich deine Vermutung?
zuerst das fwrite (hohlt die Daten um zu prüfen ob erreichbar). Und anschließend simplexml_load_string hohlt sie noch einmal!? Oder etwa nicht?

fwrite() holt nichts, das schreibt beziehungsweise sendet in dem Fall etwas, nämlich die Daten, die ein Webserver für einen HTTP-Request benötigt. Schau dir mal an, wie HTTP funktioniert, dann wird dir das Vorgehen klarer.
simplexml_load_string() "lädt" nun aus dem übergebenen String, welcher vorher mit lesenden f...-Funktionen geholt wurde, in die Simple-XML-Struktur, auf die du dann mit foreach etc. zugreifen kannst.

Lo!