我在索引页面中包含两个文件:
$PageData = new Page_Data();
$PageData->title ="Welcome to my page";
$div= "<div class='login-form'>" . include_once "views/navigation.php" . include_once "controllers/login.php" . "</div>";
$PageData->content .=$div;
我得到了这两个错误。
警告:include_once(controllers / login.php):无法打开 stream:没有这样的文件或目录 C:\ Users \ kalle_000 \ Documents \ KEA \ 3rd Semester \ 3rd 第9行的Module \ Module_8 \ PHP_new \ index.php
警告:include_once():打开'controllers / login.php'失败 包含(include_path ='。; C:\ php \ pear')in C:\ Users \ kalle_000 \ Documents \ KEA \ 3rd Semester \ 3rd 第9行上的Module \ Module_8 \ PHP_new \ index.php测试内容
我做错了什么?所有文件都在正确的文件夹中。任何帮助表示赞赏!
答案 0 :(得分:3)
include_once "views/navigation.php" . include_once "controllers/login.php" . "</div>"
这基本上被评估为
include_once ("views/navigation.php" . (include_once ("controllers/login.php" . "</div>")))
这意味着首先尝试包含"controllers/login.php" . "</div>"
,然后views/navigation.php0
("views/navigation.php"
+第一个include
的结果)。这显然不会很好。
此外,包含的内容可能也不会连接到$div
,而是直接输出
你可能想要:
ob_start();
echo "<div class='login-form'>";
include_once "views/navigation.php";
include_once "controllers/login.php";
echo "</div>";
$div = ob_get_clean();
答案 1 :(得分:0)
我将语法更改为:
$PageData = new Page_Data();
$PageData->title ="Welcome to my page";
$div= "<div class='login-form'>";
$div.= include_once ("views/navigation.php");
$div.= include_once ("controllers/login.php");
$div.= "</div>";
$PageData->content .=$div;
出于某种原因,浏览器不理解以前的语法,但得到了这个,现在它完美地运行了。谢谢你的帮助。