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 回答
1

在静态页面教程中,您被要求:

使用以下代码在 application/controllers/pages.php 创建一个文件。

但这不起作用,因为文件名需要以这样的大写字母开头:

应用程序/控制器/Pages.php

这对我有用

于 2014-07-09T10:34:16.330 回答
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'))

不过,这不是导致您的问题的原因。当它评估为真时显示 404,这意味着该文件实际上不存在。如果文件存在,您将获得 404 页面。

彻底检查并确保您拥有文件“application/views/pages/home.php”。

于 2012-05-02T09:52:06.673 回答