我包括" 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
in&#34; readsinvo_index.php&#34;它与其他文件相同
<div id="navigation">
<? include("navigation.php"); ?>
</div>
并且这两个文件都在&#34; views&#34; 。两个文件都有权限777。
但是当我尝试
时<? include(dirname(__FILE__)."/navigation.php"); ?>
它完美无缺,但在所有其他页面中,它在使用时正常工作
<? include("navigation.php"); ?>
是否有任何可能的原因我不能正常包含该文件在此文件中。我正在使用codeigniter框架和CentOS。
答案 0 :(得分:2)
答案 1 :(得分:1)
CodeIgniter从单个条目脚本文件index.php
运行。
因此,当您说当前目录时,它是index.php
目录的路径。
如果您包含某个文件,它将首先搜索给定目录中存在的任何文件,然后搜索包含路径。
声明<? include(dirname(__FILE__)."/navigation.php"); ?>
dirname
为您提供index.php
的路径。
在视图中添加语句:<? include("/navigation.php"); ?>
时,它将搜索views目录,因此会出错。