【问题标题】:CodeIgniter : Unable to load the requested file:CodeIgniter:无法加载请求的文件:
【发布时间】:2012-05-25 19:10:43
【问题描述】:

您好,我是 codeigniter 的新手。我的网站在本地运行,但是当我上传它时,我收到了这个错误:

遇到错误 无法加载请求的文件:home\home_view.php

这是我的控制器:

<?php
class home extends CI_Controller{

function index(){

  $data=array();
  if($query=$this->home_model->get_dynamic_main_menu())
  {
  $data[‘main_menu’] = $query;
  }

  $this->load->view(‘home\home_view’,$data);
}


}

谢谢!

【问题讨论】:

  • 在我的情况下,文件夹的第一个字母是大写字母,而我写的代码很小..它在本地工作,但在生产中不起作用

标签: php codeigniter web-hosting


【解决方案1】:

“无法加载请求的文件”

也可能是linux下的访问权限导致的,请确保为目录“views/home”设置了正确的读取权限

【讨论】:

  • 确认这是一个可能的原因 :)
【解决方案2】:

试试 $this-&gt;load-&gt;view('home/home_view',$data);

而不是这个:

$this-&gt;load-&gt;view(‘home\home_view’,$data);

【讨论】:

    【解决方案3】:

    遇到错误无法加载请求的文件:

    有时我们会遇到此错误,因为请求的文件在该目录中不存在。

    假设我们在views 目录中有一个文件夹home 并尝试将home_view.php 文件加载为:

    $this->load->view('home/home_view', $data);// $data is array
    

    如果home_view.php 文件在views/home 目录中不存在,则会引发错误。

    遇到错误无法加载请求的文件: 主页\home_view.php

    那么如何解决这个错误去views/home 并检查home_view.php 文件是否存在,如果不存在则创建它。

    【讨论】:

      【解决方案4】:

      我在 PyroCMS 中遇到了这个错误。

      您可以改进库代码中的 Loader.php 文件中的错误消息。

      打开 Loader.php 文件并找到对show_error 的任何调用。我用以下内容替换了我的:

      show_error(sprintf("Unable to load the requested file: \"%s\" with instance title of \"%s\"", $_ci_file, $_ci_data['_ci_vars']['options']['instance_title']));

      然后我可以看到是哪个文件导致了我的问题。

      【讨论】:

        【解决方案5】:

        我出错了。当您尝试访问不在director 中的文件时。仔细检查视图中的路径

         $this->load->view('path');
        

        视图函数的默认根路径是 application/view

        我有同样的错误。我试图访问这样的文件

         $this->load->view('pages/view/file.php');
        

        其实我有 Pages 类和函数。我用一个参数构建了该函数,以从主管 application/view/pages 调用任何文件。我被放错了路。当您尝试访问控制器时,可以使用上述路径 pages/view/files。不是为了风景。 MVC 给了很多混乱。我有这个问题。我只是解决它。 谢谢。

        【讨论】:

          【解决方案6】:

          文件名区分大小写 - 请检查您的文件名。在视图文件夹中应该是相同的情况

          【讨论】:

          • 如果文件名正确但仍然有错误怎么办。
          【解决方案7】:

          试试

          $this->load->view('home/home_view',$data);
          

          (请注意您使用的“'”而不是“'”)

          【讨论】:

          • 哦-还有一个想法-检查文件名“home_view”是否为小写-它可能在不区分大小写的Windows机器上工作
          • 仍然,我有错误。 ` load->view('$main_content');?> ` 在 template.php 和 $data['main_content'] = 'login_form'; $this-&gt;load-&gt;view('includes/template',$data); 在 login.php....?
          猜你喜欢
          • 2018-07-20
          • 2017-09-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多