Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Datei auf einem anderen Server includen?
Frage
Kann ich eine Datei in von einem anderen Server includen?
Beispiel:
Meine Seite ist bei http://mitglied.anbieter.de/kunde
dort habe ich in einer Datei
include("http://www.andereadresse.de/funktion.php");
In dieser Include-Datei ist eine Funktion, die einen Wert zurückgibt!
Wenn ich das versuche ist das so, als ob die Funktion in der Datei "funktion.php" keinen bzw. einen Nullwert zurückgibt! Es kommt auch keine Fehlermeldung!
Ich hoffe jemand kann mir helfen!
mfg, ÜM!T
Antwort 1 von M@tthi@s
Hallo!
Dies funktioniert leider nicht bei anderen Servern. Folgender Zugriff sollte Abhilfe schaffen, zudem bricht dieses Skript ab, wenn der andere Server nicht bereit ist.
***
$fp=fsockopen("domainname.tld", 80, $a, $b, 5);
if ($fp){fputs ($fp,"GET http://www.servername.tld/skript.php?parameter=1\r\n");
while (!feof($fp)){$ausgabe. = fgets ($fp,128);
fclose ($fp);}
else {echo "FEHLER, VERBINDUNG NICHT MÖGLICH";}
****
Die komplette Ausgabe des Skripts befindet sich nun in $ausgabe.
Das Skript auf dem anderen Server sollte so modifiziert werden, dass es die gewünschten Daten (z.B. mit echo) ausgibt.
Dies funktioniert leider nicht bei anderen Servern. Folgender Zugriff sollte Abhilfe schaffen, zudem bricht dieses Skript ab, wenn der andere Server nicht bereit ist.
***
$fp=fsockopen("domainname.tld", 80, $a, $b, 5);
if ($fp){fputs ($fp,"GET http://www.servername.tld/skript.php?parameter=1\r\n");
while (!feof($fp)){$ausgabe. = fgets ($fp,128);
fclose ($fp);}
else {echo "FEHLER, VERBINDUNG NICHT MÖGLICH";}
****
Die komplette Ausgabe des Skripts befindet sich nun in $ausgabe.
Das Skript auf dem anderen Server sollte so modifiziert werden, dass es die gewünschten Daten (z.B. mit echo) ausgibt.
Antwort 2 von misterUE
Danke für die Hilfe!!
Das Skript auf dem anderen Server sieht ungefähr so aus:
geht das so?
Ach ja, woran kann ich sehen bzw. wie kann ich einstellen, dass der andere Server bereit ist?
mfg, ÜM!T
Das Skript auf dem anderen Server sieht ungefähr so aus:
<?
function sounso(){
//Hier ist dann etwas Code
return($rückgabewert);
//Was ich brauche ist nur dieses eine return
}
?>
geht das so?
Ach ja, woran kann ich sehen bzw. wie kann ich einstellen, dass der andere Server bereit ist?
mfg, ÜM!T
Antwort 3 von M@tthi@s
Der letzte Parameter der Funktion fsockopen() legt die maximale Zeit in Sekunden fest, die der Server Zeit hat zu antworten. (ist also auf 5 Sekunden eingestellt) Sollte der Server nicht antworten, gibt die Funktion FALSE zurück. (also im obigen Skript die Fehlermeldung).
Zum Vergleich: Bei include kann es u.U. vorkommen, dass die Funktion bei "Abwesenheit" des Servers hängenbleibt und das aktuelle Skript blockiert.
Zum Vergleich: Bei include kann es u.U. vorkommen, dass die Funktion bei "Abwesenheit" des Servers hängenbleibt und das aktuelle Skript blockiert.
Antwort 4 von misterUE
Habs mal kopiert und angepasst! Hier der Code:
Allerdings wird mir ein Fehler in Zeile 4 angezeigt!
mfg, ÜM!T
<?
$fp=fsockopen("http://www.schwach-online.de", 80, $a, $b, 5);
if ($fp){fputs ($fp,"GET http://www.schwach-online.de/ip.php\r\n");
while (!feof($fp)){$ausgabe. = fgets ($fp,128);
fclose ($fp);}
else {echo "FEHLER, VERBINDUNG NICHT MÖGLICH";}
echo "<b>".$ausgabe."</b>";
?>
Allerdings wird mir ein Fehler in Zeile 4 angezeigt!
mfg, ÜM!T

