只在一个文件Codeigniter中包含一个通用文件失败


include a common file fails inside only one file Codeigniter

我包括"navigation.php",它在我所有的视图中都有通用菜单。

<div id="navigation">
    <? include("navigation.php"); ?>
</div>

这段代码可以在所有其他文件中工作,但是在一个文件中它给出了错误。

Severity: Warning
Message: include(navigation.php): failed to open stream: No such file or directory
Filename: views/readsinvo_index.php
Line Number: 2

Severity: Warning
Message: include(): Failed opening 'navigation.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php')
Filename: views/readsinvo_index.php
Line Number: 2

在"readsinvo_index.php"中,它与其他文件

相同
<div id="navigation">
    <? include("navigation.php"); ?>
</div>

和两个文件都在"views"中。这两个文件都有777权限。

但是当我尝试

<? include(dirname(__FILE__)."/navigation.php"); ?>

它工作得很好,但在所有其他页面中,当使用

时,它是工作的。
<? include("navigation.php"); ?>

是否有任何可能的原因,我不能把文件正常地只包含在这个文件中。我正在使用codeigniter框架和CentOS。

您可以使用APPPATH

APPPATH.'views/navigation.php'

和如何调用另一个php文件到Codeigniter视图的可能副本

CodeIgniter从单条目脚本文件index.php运行。

所以,当你说当前目录时,它是index.php的目录路径。

如果包含某个文件,它将首先搜索给定目录中存在的任何文件,然后在包含路径中搜索。

语句<? include(dirname(__FILE__)."/navigation.php"); ?>

dirname给出index.php的路径。

当你在views中添加statement: <? include("/navigation.php"); ?>时,它会搜索views目录,因此,出现错误