データベースから取得した値に基づいて、ファイルを含めたいと考えています。page.php のクラス ページ内には、必要なデータを取得するための次の関数があります。
function getPage(){
$page=array(
'title'=>$this->title,
'content'=>$this->content,
'module'=>$this->module
);
return $page;
}
そして pageview.php では、私はそれを次$elements=$page->getPage();
のように呼び出します: 関数は問題なく動作し、コンテンツを取得します。たとえば、このように操作できます (ヒアドックスが進むべき道ではないことはわかっていますが、無視してください。問題ではありません)。 :
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 拡張子の直前のドットが省略されていました。助けてくれてありがとう:)