如何在Code Igniter中包含来自辅助函数的视图文件?

时间:2012-03-20 23:20:52

标签: php codeigniter include

我正在尝试在Code Igniter的帮助文件中编写一个包含名为header.php的文件的函数。

// loads the header
function loadHeader() {
    require_once('../views/templates/header.php');
}

然而,PHP发出错误

Message: require_once(../views/templates/header.php) [function.require-once]: failed to open stream: No such file or directory

然后我尝试将地址设置为相对于调用loadHeader()的视图。

// loads the header
function loadHeader() {
    require_once('templates/header.php');
}

但是,此功能也会产生类似的错误。地址相对于什么?有没有方便的方法来找出PHP包含文件的相对路径?

2 个答案:

答案 0 :(得分:6)

有几种方法可以做到这一点:

标准视图加载:

<?php
function loadHeader() {
    $CI =& get_instance();
    $CI->load->view('templates/header');
}

绝对包括:

<?php
function loadHeader() {
    require_once(APPPATH.'views/templates/header.php');
}

相对包括:

<?php
function loadHeader() {
    $dir = getcwd();
    chdir(dirname(__FILE__));
    require_once(realpath('../views/templates/header.php'));
    chdir($dir);
}

答案 1 :(得分:2)

获取Codeigniter的实例,然后使用其load类:

function loadHeader() {
    $CI =& get_instance();
    $CI->load->view('templates/header');
}
相关问题