gongzhonghao.png
扫码关注我们
最新赞助活动温馨提示:自愿赞助服务器费用,学生和没有工作的整站资源免费下载!
头像

php怎么样跨域引入文件

来源:http://erdangjiade.com/topic/1317.html 你好,世界。 2017-09-25 22:42浏览(26)

我们需要先明白一个概念,什么是跨域?比如a.com下面的a.js文件调用b.com中的b.js文件是就发生了跨域行为。浏览器出于对同源策略的保护会限制这种行为,当然也有解决的方案,大家可以使用搜索引擎搜索。而今天我们讲的php是服务器端语言,它是区别于浏览器的,属于后端语言。它的跨域引用文件是如何实现的呢,本文提供一些方法,希望对需要的同学有所帮助。

首先我们假设这两台主机的后台语言都是php,大家可以选择两台线上的环境,或者1台线上1台本地环境,或者使用虚拟机(这个不是我们今天重点内容,请自行解决)。分别在两个环境创建a.php,b.php,代码如下:

a.php:

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

b.php:

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

分别使用浏览器访问a.php,b.php查看未设置之前的效果:

方法一:打开a.php,输入以下代码:

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

重新访问a.php,查看效果:

方法二:修改a.php,粘贴以下代码:

<?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("
","<br />",$str);
echo $str;
/* 以上是源服务器的代码*/
?>

重新访问a.php,查看效果:

方法三:修改a.php ,粘贴以下代码:

<?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 />";
}
/* 以上是源服务器的代码*/
?>

方法四:修改a.php,调整如下代码:

<?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;
/* 以上是源服务器的代码*/
?>

注意:使用curl的时候请确保php开启了curl模块

以上就是php如何跨域引入文件的详细内容,更多请关注二当家的素材网其它相关文章!

评论0
头像

友情提示:垃圾评论一律封号 加我微信:826096331拉你进VIP群学习群

1 2