Heim  >  Artikel  >  Backend-Entwicklung  >  So importieren Sie Dateien domänenübergreifend in PHP

So importieren Sie Dateien domänenübergreifend in PHP

PHP中文网
PHP中文网Original
2017-07-29 18:19:071648Durchsuche

Wir müssen zuerst ein Konzept verstehen: Was ist domänenübergreifend? Wenn beispielsweise die a.js-Datei unter a.com die b.js-Datei in b.com aufruft, tritt domänenübergreifendes Verhalten auf. Browser schränken dieses Verhalten aufgrund des Schutzes der Same-Origin-Richtlinie ein. Natürlich gibt es Lösungen für die Suche. Das PHP, über das wir heute sprechen, ist eine serverseitige Sprache. Sie unterscheidet sich vom Browser und gehört zur Back-End-Sprache. Wie wird die domänenübergreifende Referenzdatei implementiert? Dieser Artikel stellt einige Methoden vor und hofft, für Studierende in Not hilfreich zu sein.

Zunächst gehen wir davon aus, dass die Hintergrundsprache dieser beiden Hosts PHP ist. Sie können zwei Online-Umgebungen oder eine Online- und eine lokale Umgebung auswählen. oder verwenden Sie eine virtuelle Maschine (dies ist heute nicht unser Fokus, lösen Sie es bitte selbst). Erstellen Sie a.php und b.php jeweils in zwei Umgebungen. Die Codes lauten wie folgt:

a.php:

<?php
echo &#39;我是老A,呼叫老B,听到请回答:<br>&#39;;
/* 以下是源服务器的代码*/
/* 以上是源服务器的代码*/
?>

b.php:

<?php
header("Content-type:text/html;charset=utf-8");
echo "我是老B,叫我干嘛????";?>

Verwenden Sie einen Browser, um auf a.php bzw. b.php zuzugreifen, um den Effekt vor der Einstellung anzuzeigen:

Methode 1: Öffnen Sie a.php und geben Sie den folgenden Code ein:

<?php
echo &#39;我是老a,呼叫老b,请回答:<br>&#39;;
/* 以下是源服务器的代码*/
$file_path = "此处输入b.php的访问地址";
$str = file_get_contents($file_path);
$str = str_replace("\r\n","<br />",$str);
echo $str;
/* 以上是源服务器的代码*/
?>

Besuchen Sie a.php erneut, um den Effekt zu sehen:

Methode 2: Ändern Sie a.php und fügen Sie den folgenden Code ein:

<?php
echo &#39;我是老a,呼叫老b,请回答:<br>&#39;;
/* 以下是源服务器的代码*/
$file_path = "此处输入b.php的访问地址";
$fp = fopen($file_path,"r");
$str = "";
$buffer = 1024;
    while(!feof($fp)){
          $str .= fread($fp,$buffer);
     }
$str = str_replace("\r\n","<br />",$str);
echo $str;
/* 以上是源服务器的代码*/
?>

Besuchen Sie a.php erneut, um den Effekt zu sehen:

Methode 3: Ändern Sie eine.php, fügen Sie den folgenden Code ein:

<?php
echo &#39;我是老a,呼叫老b,请回答:<br>&#39;;
/* 以下是源服务器的代码*/
$file_path = "此处输入b.php的访问地址";
$file_arr = file($file_path);
for($i=0;$i<count($file_arr);$i++){//逐行读取文件内容
echo $file_arr[$i]."<br />";
}
/* 以上是源服务器的代码*/
?>

Methode 4: Ändern Sie eine.php und passen Sie den folgenden Code an:

<?php
echo &#39;我是老a,呼叫老b,请回答:<br>&#39;;
/* 以下是源服务器的代码*/
$url = "此处输入b.php的访问地址";
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout)
$contents = curl_exec($ch);
curl_close($ch);
echo $contents;
/* 以上是源服务器的代码*/
?>

Hinweis: Stellen Sie bei der Verwendung von Curl bitte sicher, dass das Curl-Modul in PHP aktiviert ist


Das obige ist der detaillierte Inhalt vonSo importieren Sie Dateien domänenübergreifend in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn