0

我正在使用两个文件 - a.php 包含类 Background 和 b.php 包含 a.php 。*在 a.php 中,在类范围之外,有一个 echo 语句“背景检查”。

当我加载 b.php 时,我可以看到输出“背景检查”,但是当我尝试创建背景对象时,会出现下一条警告消息:

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);
?>
4

5 回答 5

4

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

于 2012-07-24T13:36:13.283 回答
3

对包含使用相对路由,而不是URL。

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

于 2012-07-24T13:36:25.193 回答
1

尝试这样的事情来完成这项工作:

<?php
        include ('/var/www/wT/sf/a.php'); //your filesystem location to a.php
        $url2="http://www.google.com";
        $b = new Background($url2);
?>
于 2012-07-24T13:38:18.727 回答
0

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

<?php
        include ($_SERVER['document_root'].'/a.php');
        $url2="http://www.google.com";
        $b = new Background($url2);
?>
于 2012-07-24T13:38:40.967 回答
0

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

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

于 2012-07-24T13:41:31.320 回答