使用include从1域到另一个域没有变量值

时间:2014-05-02 12:17:21

标签: php php-include

我试图使用php include从一个域到另一个域获取变量的值,但它无法正常工作。

firstdomain.com/test1.php

<?php
  $i=10;
?>

seconddomain.com/test2.php

<?php
  include_once  "firstdomain.com/test1.php";
  echo $i;
?>

我已启用allow_url_include,因此我现在可以将 firstdomain.com/test1.php 文件包含在 seconddomain.com/test2.php 中,但是我如何获得$i的价值?

1 个答案:

答案 0 :(得分:0)

您不能包含跨域的PHP代码,因为远程服务器在发送文件之前会对其进行评估。

无论如何,您可以让第一个脚本输出您需要的变量,例如作为JSON-String并再次将输出读入JSON对象。

firstdomain.com/foo.php

<?php
$data["i"] = 1;
echo json_encode($data);
?>

输出(到您的Web浏览器以及您的其他PHP脚本):

{"i":1}

seconddomain.com/bar.php

<?php
$data = json_decode(file_get_contents("http://firstdomain.com/foo.php"));
echo $data["i"];
?>

输出:

1