我想根据从数据库中获得的值包含一个文件。在 page.php 的类页面中,我有这个函数来获取我想要的数据:
function getPage(){
$page=array(
'title'=>$this->title,
'content'=>$this->content,
'module'=>$this->module
);
return $page;
}
在 pageview.php 中我这样称呼它:$elements=$page->getPage();
该函数工作得很好,我得到了我的内容,例如我可以像这样操作(我知道 heredox 不是要走的路,但请忽略它,这不是问题) :
echo <<<EOT
<div class='row-fluid'>
<H1> title:$elements[title]</H1></br>
$elements[content]
$elements[module]
</div>
EOT;
现在问题来了。我有一个名为 includeModule 的函数,它是这样的:
function includeModule($page){
$page=strtolower($page);
if(file_exists("modules/".$page."php")) include("/modules/".$page."php");
else Echo "No such Module Exists :".$page." </br>";
}
现在假设我想包含一个名为“tax.php”的页面。如果我使用include("/modules/tax.php)";
它就可以了。如果我尝试使用include("/modules/".$elements[module].".php)";
它什么都不做(一个 yes $elements[module] 确实只包含单词“tax”)。我什至尝试将 $elements[module] 的值分配给另一个变量,但没有。
最奇怪的是,如果我尝试使用我的函数(includeModule),即使我手动将 $page 变量设置为“tax”,它仍然不包含任何内容并说该文件不存在(即使它做) ?
对此有什么帮助吗?
编辑:我已经尝试删除 / 但如果我这样做,它不再包含任何内容
编辑:我稍微改变了功能,所以我可以得到一些反馈
if(file_exists("modules/".$page.".php")){
echo "<p>file exists</p>";
include("modules/".$page."**.**php");
}else{
echo getcwd();
Echo "<p>No such Module Exists :".$page."</p>";
}
好的解决了。感谢所有的答案。由于我的错误,后面的斜杠以及 php 扩展名之前的点被忽略了。感谢您的帮助:)