include("http:// ...

Raven280438

Erfahrenes Mitglied
Hi,

ich inklude eine PHP-Datei mittels http
PHP:
include("http://www.blabla.com/check.php?wert=abcd");
In dieser Datei wird der $wert geprüft.
Wie bekomme ich es hin, dass nun das Ergebnis der Prüfung, z.b. als Variable $pruefung im Hauptskript verfügbar ist?


Gruß
 
Gegenfrage: Wie muss das Ergebnis denn zurückgeschickt werden? :)

Bei normalen includes ohne http sind ja die Variablen aus der Datei auch in der Hauptdatei verfügbar. Das funktioniert hier aber nicht.
 
In dem du [phpf]return[/phpf] verwendest.

Auch [phpf]include[/phpf] kann [phpf]return[/phpf] verarbeiten und somit ganz bequem in eine Variable speichern.
 
Und wie hat das mit dem return auszusehen?

PHP:
<?php
$test = "Hallo Welt";
return $test;
?>
PHP:
$test = include("http:// ....");
echo $test;
gibt dann 1 aus, also nicht den Rückgabewert des inkludes.
 
Hier die include-Anweisung zu verwenden, wäre nur dann sinnvoll, wenn als Ergebnis der HTTP-Anfrage gültiger, in einen PHP-Block eingebetteter PHP-Code zurückgegeben würde. Denn nur dann kann dieser PHP-Code in das laufende Skript eingebunden und ausgeführt werden. (Denn genau das macht die include-Anweisung.)
PHP-Code von einem fremden Server entgegenzunehmen und auszuführen, birgt jedoch große Sicherheitsrisiken. Deswegen rate ich dir davon ab.
Besser wäre es besser, die Antwort mit einer anderen Funktion abzuholen, die die Antwort nicht als PHP-Code interpretiert, sondern als normale Zeichenkette. Das ist beispielsweise mit der file_get_contents()-Funktion möglich, die als Rückgabewert gleich das Ergebnis der HTTP-Anfrage zurückliefert.
 
Naja, das sind ja keine fremden Server.
Ich möchte in allen Skripten auf den verschiedenen Servern die gleiche Schnittstelle zum Prüfen nutzen.

Btw. die Variablen auf dem Include-Skript zu nutzen geht jetzt.
Am Ende der Datei steht jetzt sowas in der Art:

echo "<?php \$pruefung = $pruefung; ?>";


Vielen Dank für die Hilfe :)
 
Zurück