PHP包括不起作用

时间:2012-07-24 13:34:26

标签: php oop

我正在处理两个文件 - 包含类Background的a.php和包含a.php的b.php。 *在a.php中,在类范围之外,有一个echo语句“background check”。

当我加载b.php时,我可以看到输出“background check”,但是当我尝试创建一个后台对象时,会出现下一条警告消息:

Fatal error: Class 'Background' not found in ....

以下是来自b.php的代码示例:

<?php
        include ('http://localhost/wT/sf/a.php');
        $url2="http://www.google.com";
        $b = new Background($url2);
?>

5 个答案:

答案 0 :(得分:4)

如果http://localhost/wT/sf/a.php(在Web浏览器中)的输出不是PHP源代码,那么您的include将无效。您可能(在您的情况下)必须包含文件系统中的文件,而不是通过HTTP地址。

答案 1 :(得分:3)

使用包含的相对路线,一个网址。

换句话说,您所包含的文件必须与您所包含的文件位于同一服务器上(或能够在同一服务器上访问)。

答案 2 :(得分:1)

尝试使用此类功能:

<?php
        include ('/var/www/wT/sf/a.php'); //your filesystem location to a.php
        $url2="http://www.google.com";
        $b = new Background($url2);
?>

答案 3 :(得分:0)

您正在使用web-url而不是使用系统路径,如

<?php
        include ($_SERVER['document_root'].'/a.php');
        $url2="http://www.google.com";
        $b = new Background($url2);
?>

答案 4 :(得分:0)

在include方法中,您应该使用相对文件路径

根据给定的文件路径包含文件,如果没有给出,则指定include_path。如果在include_path中找不到该文件,include将最终在失败前检入调用脚本自己的目录和当前工作目录。如果找不到文件,include构造将发出警告