Mit PHP eine andere PHP-Generierte Seite auslesen?
adlerweb
- php
0 Götz
Hallo.
Ich möchte die News einer anderen Seite als Übersicht auf einer anderen anzeigen. Das problem ist, dass die andere Seite seit kurzem in PHP generiert wird. Vorher hatte ich die Übersichtsseite in PHP eingelesen (also $data1=implode('', file('http://192.168.0.16/uebersicht.htm'));) und dann mit explode zerlegt. Nur PHP-Generierte Seiten kann man so anscheinend nicht einlesen... Ich hatte versucht den Befehl mit der URL http://192.168.0.17/index.php?bereich=7 zu verwenden, aber das gibt nichts zurück.
Hat jemand eine Idee, wie ich die Seite noch auslesen könnte? Ich komm an den anderen nicht so einfach dran, da unser Admin Urlaub hat *grml*
CYa adlerweb
Hallo adlerweb!
Es ist eigentlich völlig egal, wie eine Seite generiert wird, solange am Ende HTML rauskommt kannst Du sie genauso einlesen, wie "früher" auch. (wenn sich natürlich das Layout geändert hast, mußt Du Dein Script an diese ÄÖnedrungen natürlich anpassen)
Ansonsten kannst Du Dir ja mal http://www.xmlfeeds.de/wie.php anschauen.
Denn für Newsfeeds usw. gibt es ein spezielles XML-Format, das genau dafür gemacht ist, wie du es brauchst ... zumindest wird es oft dafür benutzt.
MfG
Götz
Hallo
Danke für die schnelle Antwort... Habs inzwischen raus: Die Seite zum Auslesen hatte auich einen neuen Server spendiert bekommen und der kann anscheinend nur Seiten lesen, die auch auf diesem PC liegen...
Das RSS hatte ich mir auch schon angeguckt, aber da ich wie gesagt derzeit nicht drankomme nützts mir nix...
Werde es jetzt man auf einen anderen PC verfrachten...
CYa adlerweb
Hallo,
Danke für die schnelle Antwort... Habs inzwischen raus: Die Seite zum Auslesen hatte auich einen neuen Server spendiert bekommen und der kann anscheinend nur Seiten lesen, die auch auf diesem PC liegen...
Nur include(), fopen() und gewisse aehnliche Funktionen sind davon abhaengig,
dass die Konfigurations-Variable allow_url_fopen auf "1" ist.
http://www.php.net/manual/de/ref.filesystem.php#ini.allow-url-fopen
Diese Variable ist aenderbar in PHP_INI_ALL - d.h. auch mit ini_set().
http://www.php.net/manual/de/function.ini-set.php
Bei gewissen PHP-Versionen und je nach Installation kann es natuerlich
wirklich unmoeglich sein, auf externe URLs zuzugreifen.
Es gibt aber auch noch fsockopen() u.s.w. - damit kannst Du
auf HTTP-Ebene eine Ressource vom fremden Server verlangen
und die Antwort auswerten. Das ist vielleicht etwas aufwendiger,
aber funktioniert unabhaengig von allow_url_fopen.
http://www.php.net/manual/de/function.fsockopen.php
(Lies auch die Benutzerkommentare fuer konkrete Beispiele)
---
Ich wuerde versuchen, allow_url_fopen auf "1" zu setzen.
Dann den Inhalt der externen Ressource mit file_get_contents()
http://www.php.net/manual/de/function.file-get-contents.php
in eine String-Variable einlesen, das interessante Stueck
"herausschneiden" (d.h. <html>, <head> u.s.w. entfernen,
damit es am Schluss nicht doppelt vorkommt) und dann
dieses Stueck in die eigene Seite einbauen.
include() fuer externe Ressourcen ist uebrigens sehr gefaehrlich.
Man koennte Dir so beliebigen PHP-Quellcode unterjubeln.
Lies auch:
http://www.dclp-faq.de/q/q-datei-lesen.html
Gruesse,
Thomas