0

我刚刚遇到一个非常令人沮丧的错误。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_v并且home_v在同一个文件夹中(views)。

4

4 回答 4

2

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

$this->load->view('file-in-views-folder')
于 2013-04-06T14:31:34.980 回答
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.
于 2013-04-06T14:40:48.450 回答
1

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

$this->load->view('header_v');
$this->load->view('home_v');
于 2013-04-06T14:31:44.330 回答
1

如果你想输出一些东西,请使用

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

如果它是一个视图

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

如果它是一个 php 库或一个助手(所以你不必输出一些东西,而只需要或包含类和方法):

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

记住

意见必须留在/application/views文件夹下

下的图书馆/application/libraries

下的帮手/application/helpers

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

于 2013-04-06T18:19:09.200 回答