这让我很困惑,所以我在我的php中有一个简单的包含行,但由于某种原因,它并不总是正常工作。
基本上包含是加载我的主要内容部分…
如果$page['view']
是list
,我的页面将无法正确加载…
我的php文件是
include ('lib/views/' . $page['view'] . '.php');
但是页面没有加载,在该点以下的内容都没有加载,包括页脚…
正常运行
echo 'lib/views/' . $page['view'] . '.php';
我的apache2错误日志输出以下错误
include(): Failed opening 'lib/views/.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /home/site/www/lib/includes/main.php on line 3
当我尝试这个,页脚重新出现,但仍然相同的错误
$view = 'lib/views/' . $page['view'] . '.php';
include ($view);
这对我来说是相当令人困惑的,特别是考虑到如果$page['view']
是avatar
它然后工作
编辑1
根据@philwc的建议,我已经将此添加到我的代码
if (isset($page['view'])) {
var_dump($page['view']);
}
按预期输出list
试试这个:
include ("lib/views/{$page['view']}.php");
就像你说的那样,它会给你一个不同的错误,只要把它标记正确,这样它就不会处于不确定状态:)
$page['view']设置不正确。尝试用像
这样的isset来包装它if(isset($page['view'])){
include ('lib/views/' . $page['view'] . '.php');
}else{
echo 'Error!';
}