2

最近、CodeIgniter をダウンロードし、XAMPP htdoc にインストールしました -> codeigniter(application,system,user guide,index.php,license.txt)

静的ページの作成に関する CodeIgniter のユーザー ガイドに掲載されているチュートリアルに従おうとしましたが、このエラーが発生し続けます。

要求されたファイルを読み込めません: pages/home.php

コントローラーは application/controllers/pages.php にあり、次のコードがあります。

class Pages extends CI_Controller 
{

    public function view($page = 'home')
    {
        if(file_exists('application/views/pages/'.$page.'.php'))
        {
            //whoops we don't have a page for that!
            show_404();
        }

        $data['title'] = ucfirst($page); //Capitalize the first letter
        $this->load->view('templates/header', $data);
        $this->load->view('pages/'.$page, $data);
        $this->load->view('templates/footer', $data);
    }
}

このチュートリアルでは、application/views/templates/header.php に header.php を作成し、application/views/templates/footer.php に footer.php を作成することについても言及しました。これらは単なる html コードであり、ページ タイトルをエコーし​​ます。

最後に、application/views/pages/ ディレクトリに home.php と about.php を作成します。home.php と about.php については、プレーン テキストのみを入力します。

どこで私は間違えましたか。アドバイスをいただければ幸いです。:) ありがとうございました。

4

4 に答える 4

3

この行を変更してみてください:

if(file_exists('application/views/pages/'.$page.'.php'))

これに:

if(!file_exists( APPPATH . 'views/pages/'.$page.'.php'))
于 2012-05-02T09:41:06.140 に答える
1

この行をで変更できますか

if(file_exists('application/views/pages/'.$page.'.php'))

何かのようなもの

if(file_exists(dirname(dirname(__FILE__)).'/views/pages/'.$page.'.php'))

それがうまくいくかどうか教えてください。

于 2012-05-02T09:29:22.893 に答える
0

コントローラーではなくビューを探しているため、形式が mysite.com/index.php/home であるか mysite.com/home であるかは問題ではありません。

if(file_exists('application/views/pages/'.$page.'.php'))

する必要があります

if(!file_exists('application/views/pages/'.$page.'.php'))

ただし、それが問題の原因ではありません。true と評価されると 404 が表示されます。これは、ファイルが実際には存在しないことを意味します。ファイルが存在する場合、404 ページが表示されます。

徹底的にチェックして、「application/views/pages/home.php」というファイルがあることを確認してください。

于 2012-05-02T09:52:06.673 に答える