Php CodeIgniter检查文件

Php CodeIgniter检查文件,php,codeigniter,Php,Codeigniter,我正在为我的CodeIgniter项目编写一个模板加载器。像往常一样,我的模板需要几个安全层。其中一个是第一个,检查文件是否存在 现在,我的问题是:我无法配置给模板加载器的地址。当我使用名为“include()”的简单php函数时,它可以工作,但使用我的模板加载器函数时,它无法工作 这是我的实际页面(index.php): 出于兴趣,您将向函数传递什么作为$arg参数 听起来您只需要使用文件的正确路径,即文件系统中文件的绝对路径 要获得绝对路径,可以在sites index.php中创建一个新的

我正在为我的CodeIgniter项目编写一个模板加载器。像往常一样,我的模板需要几个安全层。其中一个是第一个,检查文件是否存在

现在,我的问题是:我无法配置给模板加载器的地址。当我使用名为“include()”的简单php函数时,它可以工作,但使用我的模板加载器函数时,它无法工作

这是我的实际页面(index.php):


出于兴趣,您将向函数传递什么作为
$arg
参数

听起来您只需要使用文件的正确路径,即文件系统中文件的绝对路径

要获得绝对路径,可以在sites index.php中创建一个新的全局变量,以指向views文件夹

webroot/index.php:

if (realpath('../application/views') !== FALSE)
{   
    $views_path =realpath('../application/views').'/';
    define('VIEWSPATH', $views_path);
}

现在您可以使用它作为
$arg
参数
VIEWSPATH.$path\u to_file

的基础。请参见(自动加载功能,标记为答案)抱歉,您似乎误解了我的问题,或者我误解了您的回答。我已经在控制器中加载了库,唯一的错误是地址问题。由于file_exists找不到parameter.oh中给定的文件,我明白了,请尝试使用
base_url($arg)
base\u url()
位于url帮助程序中)。我确信给
文件\u exists()
的路径是错误的,甚至可以尝试使用CIs constanst作为
APPPATH
。。请看这里的完整列表,我现在已经完成了。它又失败了。当我使用include()时,一切都是合适的,但是对于CI,它失败了。为什么要这样做?看起来类似于codeigniter视图技术。不管怎样,你有什么错误?
class Template_loader 
{
    function load_template ($arg)
    {
        $base_name = basename($arg);

        $CI =&  get_instance();

        if(file_exists($arg) === true)
        {                       
                echo 'it is also good.';
                if (pathinfo($base_name, PATHINFO_EXTENSION) == 'php' ||
                pathinfo($base_name, PATHINFO_EXTENSION) == 'html'
                )
                {                   
                    $file_name_check = substr($base_name, 0, 4);
                    if($file_name_check === TEMP_FILE_INDICATOR)
                    {                       
                        include($arg);
                    }
                    else
                    {
                        redirect($CI->base_url . '/error/show_problem');                    
                    }
                }
                else
                {
                redirect($CI->base_url . '/error/show_problem');    

                }
        }
        else
        {
            redirect($CI->base_url . '/error/show_problem');            
        }       
    }
}
if (realpath('../application/views') !== FALSE)
{   
    $views_path =realpath('../application/views').'/';
    define('VIEWSPATH', $views_path);
}