包括外部类php

时间:2010-09-02 21:20:30

标签: php include external

如何在php文件中包含外部类? 例如:

//Test.class.php

<?php 
class Test{
    function print($param){
        echo $param;
        }
    }
?>

//######################################################

//test.php
<?php
include('http://www.test.com/Test.class.php');

 $obj = new Test();

echo $obj->print("hola");
?>

该课程在另一台服务器上。我启用了allow_url_includeallow_url_fopen。 为什么我不能调用函数print

3 个答案:

答案 0 :(得分:2)

远程文件必须输出php源代码,而不是执行它。

要输出PHP代码而不是执行,只需从文件中删除.php扩展名即可。

PS:你真的,真的,确定你需要远程包容吗?这是 BIG 安全风险!

答案 1 :(得分:0)

您从其他服务器中包含的内容不是PHP背后的代码,而是它的输出(如果您在浏览器中访问该页面,如果您查看源代码,则看不到PHP代码?)< / p>

您需要重新配置其他服务器不执行代码但显示它(如果它以任何方式共享或者需要执行它自己的代码,不是一个好主意),或者将另一个文件重命名为不是首先解释(尝试otherfile.php.txt

答案 2 :(得分:0)

查看documentation

  

(...)如果目标服务器将目标文件解释为PHP代码,则可以使用与HTTP GET一起使用的URL请求字符串将变量传递给包含的文件。严格来说,这与包含文件并使其继承父文件的变量范围完全相同;该脚本实际上正在远程服务器上运行,然后结果将包含在本地脚本中。

可能是服务器,您正在尝试从中获取文件,执行PHP文件并且仅包含结果(为空)。您必须以输出PHP代码的方式配置服务器。但如果它是合理的代码,这不是一个好主意。