PHP包含文件和If Then Else语句,包括不打印到浏览器的文件

时间:2013-10-21 20:55:58

标签: php if-statement include

我正在尝试根据网址更改菜单。 我尝试了几个不同的东西无济于事。

我尝试使用php来调用页面上的代码,(请参阅下面的代码,我使用了这个代码,而不是调用我在页面上调用代码本身的include文件),结果是浏览器中的空白页。

然后我尝试使用菜单代码调用我创建的包含文件。

菜单本身里面有一些PHP,我认为这可能就是它无法正常工作的原因。我尝试了对菜单包含文件的简单调用,菜单没有打印到浏览器。

<?php include("/wp-content/themes/wslh/inc/i_menu-wohl.php"); ?>

一旦菜单php启动就停止打印出来,所以当我查看源视图的时候只有这个:

<ul id="nav">
<li><a 

之后出现的php是:

<?php nav_active( 'about' ); ?> href="/about/">ABOUT<br>WSLH</a>

剩下的菜单代码,真的很长,所以我不会把它放在这里。菜单本身在页面上工作得很好,当我没有尝试将其包括在内时,如果然后声明:

<?php
$url = $_SERVER["REQUEST_URI"];
if (strpos($url, "/occupational/wohl/") === 0) {
echo '<?php include("/wp-content/themes/wslh/inc/i_menu-wohl.php"); ?>';
} else {
echo '<?php include("/wp-content/themes/wslh/inc/i_menu-wslh.php"); ?>';
}
?>

任何人都可以帮助我吗?我使用ASP创建了if then else语句,并且从未遇到过这个问题。预先感谢您的帮助。如果您有任何问题或者我没有提供足够的信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

首先,这段代码不会有用:

echo '<?php include("/wp-content/themes/wslh/inc/i_menu-wohl.php"); ?>';

它将做的是在浏览器中回显一串PHP代码。浏览器不知道该怎么做。

您实际需要的只是包含PHP文件本身,如下所示:

include "/wp-content/themes/wslh/inc/i_menu-wohl.php";

(注意:我删除了括号,因为include实际上并不是一个函数,如果你开始将其视为一个函数,它可能会导致错误。)

接下来,如果输出突然停止,而某些PHP代码正在尝试运行,那么您可能会收到错误,但会将错误设置为记录而不是显示。

查看this answer以及该页面上的其他信息,以帮助追踪错误。如果您在此之后仍然感到困惑,请发布一个新问题,其中包含产生错误的代码部分以及产生的确切错误消息