We need to understand a concept first, what is cross-domain? For example, when the a.js file under a.com calls the b.js file in b.com, cross-domain behavior occurs. Browsers will restrict this behavior due to the protection of the same-origin policy. Of course, there are solutions. You can use search engines to search. The PHP we are talking about today is a server-side language. It is different from the browser and belongs to the back-end language. How is its cross-domain reference file implemented? This article provides some methods, hoping to be helpful to students in need.
First of all, we assume that the background language of these two hosts is php. You can choose two online environments, or one online and one local. environment, or use a virtual machine (this is not our focus today, please solve it yourself). Create a.php and b.php in two environments respectively. The codes are as follows:
a.php:
<?php echo '我是老A,呼叫老B,听到请回答:<br>'; /* 以下是源服务器的代码*/ /* 以上是源服务器的代码*/ ?>
b.php:
<?php header("Content-type:text/html;charset=utf-8"); echo "我是老B,叫我干嘛????";?>
Use a browser to access a.php and b.php respectively to view the effect before setting:
Method 1: Open a. php, enter the following code:
<?php echo '我是老a,呼叫老b,请回答:<br>'; /* 以下是源服务器的代码*/ $file_path = "此处输入b.php的访问地址"; $str = file_get_contents($file_path); $str = str_replace("\r\n","<br />",$str); echo $str; /* 以上是源服务器的代码*/ ?>
Revisit a.php and check the effect:
Method 2: Modify a.php and paste the following Code:
<?php echo '我是老a,呼叫老b,请回答:<br>'; /* 以下是源服务器的代码*/ $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; /* 以上是源服务器的代码*/ ?>
Revisit a.php and check the effect:
##Method 3: Modify a.php and paste the following code:<?php echo '我是老a,呼叫老b,请回答:<br>'; /* 以下是源服务器的代码*/ $file_path = "此处输入b.php的访问地址"; $file_arr = file($file_path); for($i=0;$i<count($file_arr);$i++){//逐行读取文件内容 echo $file_arr[$i]."<br />"; } /* 以上是源服务器的代码*/ ?>
<?php echo '我是老a,呼叫老b,请回答:<br>'; /* 以下是源服务器的代码*/ $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; /* 以上是源服务器的代码*/ ?>
The above is the detailed content of How to import files across domains in php. For more information, please follow other related articles on the PHP Chinese website!