Php fremde Website einbinden
Hey also ich will in einen php skript eine fremde Website einbinden. Kann mir einer sagen, warum auf der Seite nur "test" angezeigt wird und nicht die Google Seite?
<?php echo "test"; include("http://www.google.com"); ?>
LG
3 Antworten
Hallo H4ter,
echo gibt immer etwas aus. Wenn du also bei echo "test" stehen hast, wird auch nur Test auf der Seite stehen.
Es ist also das Gleiche wie:
<?php echo "test"; ?>
Wenn du eine fremde Website einbinden möchtest, dann kannst du ein iframe nutzen. Das bindest du wie folgt ein:
<iframe src="LINK" height="100%" width="100%" ></iframe>
Wenn du diese Seite unbedingt mit php ausgeben willst, kannst du das ebenfalls mit "echo" machen:
<?php echo "<iframe src="LINK" height="100%" width="100%" ></iframe>"; ?>
"Inlcude" würde ich nur benutzen, wenn du fremde php / JS Teile in deine Seite einbinden willst, iframe ist für dein Vorhaben am besten geeignet ;-)
Grüße, Hummel
achsooooooooo externe Dateien… Dachte, man könne damit ganze Websites includieren
Das habe ich dir doch oben gezeigt?
<?php echo "<iframe src="LINK" height="100%" width="100%" ></iframe>"; ?>
bzw. in reinem html:
<iframe src="LINK" height="100%" width="100%" ></iframe>
Ich verstehe nicht, warum du das unbedingt mit inlcude machen willst. Das funktioniert so nicht. Mit inlcude includierst du ausschließlich externe Dateien.
Verstehe ich nicht, sorry^^
ich mach das aber ganz bewusst mit include :) ,aber danke. Ich kann mit include dateien in meinem webserver inbinden aber fremde seiten gehen nicht.
Das habe ich in dem obigen Text auch gesagt:
"Inlcude" würde ich nur benutzen, wenn du fremde php / JS Teile in deine Seite einbinden willst
Warum möchtest du denn das iFrame nicht nutzen? Das ist die absolut richtige Methode um eine fremde Website einzubinden?
Grüße, hummel
Vermutlich ist dein PHP so konfiguriert, dass es keine fremden Scripte mit include einbinden darf. Stichwort:
allow_url_fopen
http://php.net/manual/de/filesystem.configuration.php
Das hat auch einen guten Grund, denn mit so einer Sache hast du ganz schnell eine riesige Sicherheitslücke. Wenn von der fremden Seite nämlich PHP-Code mitgeliefert wird, wird dieser bei dir ausgeführt und damit wäre dein Server offen wie ein Scheunentor.
Um eurem Dialog noch etwas hinzuzufügen: Include nimmt sich normalerweise eine andere PHP datei und führt den Code darin aus. Es gibt diesen nicht aus. Möchtest du das tun, musst du den Inhalt der Seite anfragen und dann per echo ausgeben. Include hilft dir dabei nicht.
Möchtest du unbedingt Include benutzen. Schreibe eine 2. Datei, in welcher du die Seite anfragst und ausgibst und binde diese Datei mit Include ein.
http://php.net/manual/en/function.file-get-contents.php
Hier ist die Funktion für PHP, mit welcher du unter anderem Websitecontent auslesen kannst.
Und wie binde ich diese Teile ein? Ich will unbedingt include nutzen weil ich mir das jetzt so in den Kopf gesetzt habe. Wenn ich eine wirklich sinnvolle Seite machen wollte, würde ich iFrame nutzen. Meine jetzige jedoch ist nur zum test