在codeigniter中,文件路径相对于主站点index.php文件意味着什么?

时间:2012-01-13 17:07:05

标签: codeigniter url path fopen

我在codeigniter中使用文件和流,我遇到的一个问题是像fopen这样的函数无法检测同一文件夹中的文件。例如,

如果我的函数和文件都在HELPER文件夹中,我不能简单地指定fopen('file','r'),因为它不会检测到它。

所以我去网站查看有关文件的文档,这就是它指定的内容:

注意:路径是相对于主站点index.php文件,而不是您的控制器或视图文件。 CodeIgniter使用前端控制器,因此路径始终相对于主站点索引。

所以我改变了application / helper / filename的路径并且它有效。

我知道这是由于前端控制器(index.php)引起的某种类型的重新路由引起的,但我的理解还不完整。有人可以向我解释当我尝试像fopen这样的事情时CI会发生什么?

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

这很简单。有一个且只有一个文件处理控制器/模型/帮助器(称为“前端控制器”):/index.php。所以一切都通过这个脚本发生。

当您需要包含某些内容时,路径相对于index.php。一个好的做法是使用CodeIgniter环境常量包含您的文件。你可以看看这个:http://jimdoescode.blogspot.com/2011/01/some-codeigniter-constants.html

例如:

<?php
include(APPPATH ."/helpers/my_helper.php");
?>