0

データベースから取得した値に基づいて、ファイルを含めたいと考えています。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 拡張子の直前のドットが省略されていました。助けてくれてありがとう:)

4

3 に答える 3

1

include("modules/tax.php)"; を使用する場合 それはうまく動作します。

あなたのコードでは、あなたが使用しています

include("/modules/".$page."php");
         ^-- Note the leading / 

を削除してみてください/

于 2013-01-13T17:37:04.753 に答える
0

あなたは"modules/".$page."php"存在するかどうかを見ています"/modules/".$page."php"が、おそらく同じものではないものを含めようとしています(/後者の先頭に注意してください)。

if(file_exists("modules/".$page."php")) include("modules/".$page."php");
于 2013-01-13T17:36:38.887 に答える
0

OK ive は解決しましたありがとう :) それぞれの答えは役に立ちました :) ( 答えはあなたの答えの組み合わせでした + 私からもう少し注意が必要でした .疲れているので、集中できるようにするために、少し休憩する必要があります)。みんなありがとう:)

于 2013-01-13T18:12:29.223 に答える