在CodeIgniter中我试图在加载视图之前检查文件是否存在于控制器,我试过 -
public function foo($file = "")
{
if (file_exists(APPPATH."views/log/{$file}.".EXT))
{
$this->load->view('log/'.$file);
}
else
show_404();
}
但该文件存在,然后file_exists()
方法返回false
,我也使用var_dump()
检查了它。我不知道这里有什么问题,我猜测有一些与映射有关的问题,因为目录结构就像 -
application
|--controllers
| |--ctrl.php //Controller file where I am checking
|--views
|--log
|-- .. //Checking files for here
但我该如何解决?
修改:错误输入'views'到'view'(我在file_exists()
中调用if
方法的代码中)更正了它。
答案 0 :(得分:6)
Codeigniter中的EXT
常量等于.php
并在index.php
中定义:
// The PHP file extension
// this global constant is deprecated.
define('EXT', '.php');
您正在添加一个额外的点:
APPPATH."views/log/{$file}.".EXT
// ^
这会产生类似views/log/myfile..php
由于常数被逐步取消,你应该避免它。