Stellen Sie sich ein Szenario vor, in dem Sie zwei PHP-Dateien auf separaten Servern haben. Sie müssen die zweite Datei von der ersten einschließen.
// main.php (http://www.mysite.com/main.php) include "http://www.sample.com/includeThis.php"; echo $foo; // includeThis.php (http://www.sample.com/includeThis.php) <?php $foo = "this is data from file one";
Beim Versuch, die Remote-Datei einzubinden, tritt jedoch ein Problem auf.
Verstehen der Einschränkungen
Standardmäßig verbietet die Konfiguration von PHP das Einbeziehen von Dateien von Remote-Servern. Diese Einschränkung erfolgt aus Sicherheitsgründen. Um Remote-Dateien einzubinden, müssen Sie die Direktive „allow_url_include“ in php.ini aktivieren. Dies ist jedoch im Allgemeinen deaktiviert und wird aufgrund potenzieller Sicherheitsrisiken als schlechte Vorgehensweise angesehen.
Alternative Lösung: file_get_contents()
Wenn Sie Daten von einer Fernbedienung abrufen müssen Um eine Datei zu erstellen, ohne PHP-Code auszuführen, können Sie die Funktion file_get_contents() verwenden. Es gibt den Inhalt der Remote-Datei als Klartext zurück.
Um diese Methode zu verwenden, ändern Sie das Remote-Skript, um die erforderlichen Daten in einem Format zu generieren, das das lokale Skript verarbeiten kann (z. B. JSON). Dann im lokalen Skript:
$remoteData = file_get_contents("http://www.sample.com/includeThis.php"); $data = json_decode($remoteData);
Mit dieser Lösung können Sie Daten aus der Remote-Datei abrufen, ohne die Sicherheit zu beeinträchtigen.
Das obige ist der detaillierte Inhalt vonWie binde ich PHP-Dateien von einem anderen Server ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!