codeigniter不需要这样的文件或目录

时间:2013-04-06 14:28:04

标签: php codeigniter require

我有一个非常令人沮丧的错误。当我尝试加载视图时,我总是使用require 'file_name'(例如:标题)。

我现在正在使用CI,我试图在我的<?php require 'header_v.php';?>中执行以下操作:home_v.php,但它总是给我没有这样的文件或目录错误。

这是header_v.php

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Backend-Vihara Dharma Bhakti</title>
<link href="../../../style/style_backend.css" rel="stylesheet" type="text/css">
<link href="<?php echo base_url(); ?>style/style_backend.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="<?php echo base_url(); ?>jquery/jquery-ui-1.10.2.custom/css/ui-lightness/jquery-ui-1.10.2.custom.min.css" />
<script language="javascript" type="text/javascript" src="<?php echo base_url(); ?>jquery/jquery-ui-1.10.2.custom/js/jquery-1.9.1.js"></script>
<script language="javascript" type="text/javascript" src="<?php echo base_url(); ?>jquery/jquery-ui-1.10.2.custom/js/jquery-ui-1.10.2.custom.min.js"></script>

<script>
  $(function() {
    $( "#datepicker" ).datepicker();
  });

  $(function() {
    $( "#tabs" ).tabs();
  });
</script>

<div id="header"><h1>HEADER</h1></div>
    <div id="tabs">
        <ul>
            <li><a href="backend/umat">Daftar Umat</a></li>
            <li><a href="backend/pengurus">Daftar Pengurus</a></li>
            <li><a href="backend/absensi">Absensi</a></li>
        </ul>
    </div>
</head>

这是home_v.php(需要header_v.php的那个):

<body>
    <link rel="stylesheet" href="<?php echo base_url(); ?>jquery/jquery-ui-1.10.2.custom/css/ui-lightness/jquery-ui-1.10.2.custom.min.css" />
    <script language="javascript" type="text/javascript" src="<?php echo base_url(); ?>jquery/jquery-ui-1.10.2.custom/js/jquery-1.9.1.js"></script>
    <script language="javascript" type="text/javascript" src="<?php echo base_url(); ?>jquery/jquery-ui-1.10.2.custom/js/jquery-ui-1.10.2.custom.min.js"></script>

    <script>
      $(function() {
        $( "#datepicker" ).datepicker();
      });
     </script>

    <?php require 'header_v.php';?>

    <div id="form_search">
        <?php echo form_open('backend/index') ?>
           <p>
               <?php echo form_dropdown('ddl_search', $data_search, 'id="ddl_search"');?>
           </p> 
            <p>
                Kelas :
                <?php echo form_dropdown('ddl_kelas1', $list_kelas, 'id="ddl_kelas1"');?> -
                <?php echo form_dropdown('ddl_kelas2', $list_kelas, 'id="ddl_kelas2"');?>
            </p>
            <p>
                Nama : <?php echo form_input('txt_nama');?>
                Alamat : <?php echo form_input('txt_alamat');?>
                Tanggal Lahir : <input type="text" id="datepicker" />
            </p>
                <?php echo form_submit('btn_search', 'Search');?>
        <?php echo form_close(); ?>
    </div>
    <div>
        <?php echo $table ?>
        <?php echo $pagination ?>
    </div>
</body>
</html>

我缺少什么?它是否与config.phproutes.php或其他CI的设置有关?因为我使用这种方式这么多时间并且除了现在它一直在工作。

感谢您的帮助:D

注意:文件名是正确的,header_vhome_v位于同一文件夹中(观看次数)。

4 个答案:

答案 0 :(得分:2)

加载视图文件的正确方法是:

$this->load->view('file-in-views-folder')

答案 1 :(得分:2)

要在CI中使用require函数,您必须键入该文件的完整路径。

像:

<?php require '/var/www/main/application/views/header_v.php';?>

但是,使用CI的正确方法是在控制器中加载视图。

 $this->load->view("header_v");

然后

 $this->load->view("home_v"); //remove the require function from your code.

答案 2 :(得分:1)

为什么不加载控制器文件?

$this->load->view('header_v');
$this->load->view('home_v');

答案 3 :(得分:1)

如果你想输出somenthing使用

echo $this->load->file('/path/to/myfile');

如果它是一个视图

echo $this->load->view('myviewname');

如果它是一个php库或帮助者(所以你没有输出somenthing但只需要或包含类和方法):

$this->load->helper();
$this->load->library();

记住

观看次数必须保留在/application/views文件夹

/application/libraries

下的

图书馆 /application/helpers

下的

帮助

常规文件类型可以保留在您想要的位置,因为您使用enteire路径加载它们/path/to/my/file