【问题标题】:include a common file fails inside only one file Codeigniter仅在一个文件中包含一个公共文件失败 Codeigniter
【发布时间】:2015-07-20 19:42:20
【问题描述】:

我包括“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。

【问题讨论】:

  • 试试include(APPPATH.'views/navigation.php');
  • 有什么理由不用CodeIgniter的$this-&gt;load-&gt;view();吗?您可以在视图中包含视图。
  • @MonkeyZeus,该项目由另一个开发人员完成,我现在正在维护它。我将更改代码:)。但正如我所说,问题只出现在一个视图中,它没有特殊代码。其他视图与

标签: php codeigniter centos


【解决方案1】:

你可以使用APPPATH

APPPATH.'views/navigation.php'

how call another php file to Codeigniter view的可能重复

【讨论】:

  • 这行得通。谢谢你 。是否有任何可能的原因只有一个视图不起作用而其他视图工作正常,我知道这无法重新创建;)
【解决方案2】:

CodeIgniter 从单个入口脚本文件 index.php 运行。

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

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

声明&lt;? include(dirname(__FILE__)."/navigation.php"); ?&gt;

dirname 为您提供index.php 的路径。

当你在views中添加语句:&lt;? include("/navigation.php"); ?&gt;时,它会搜索views目录,因此会报错。

【讨论】:

  • 这行得通。谢谢你 。是否有任何可能的原因只有一个视图不起作用而其他视图工作正常,我知道这无法重新创建;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-25
  • 1970-01-01
  • 2011-09-14
  • 2011-07-17
  • 2013-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多