我正在尝试在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包含文件的相对路径?
答案 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');
}