包含的文件认为它在根目录中,而它在子文件夹中



我使用的是最新版本的CodeIgniter。在我的应用程序中,我必须包含一个PHP文件,例如"example.php"。我真的需要这个文件,因为将其重写为 CI 需要很多时间。包含只是用来在框架中包含一些旧的东西。

关键:包含工作正常,但包含的文件认为它在根目录中,而实际上它在子文件夹中。

该文件应位于:foo/bar/example.php。尽管如此,该文件实际上可以工作,但是在该文件中,我还必须包含其他文件。

尝试过的事情:

  1. 在示例中包含包含.php通过基本 URL(而不是 ../../秒包括.php)
  2. 此时它可以找到第二个包含,但它给出了一个大的浏览器错误(失去与服务器的连接);
  3. 尝试了 PHP chdir,但给出了与第 2 点相同的结果。

我不确定这是 CI 问题,还是我的服务器 (IIS7) 或其他问题。

当包含 FIle 查看根index.php文件

// Path to the system folder
define('BASEPATH', str_replace("\", "/", $system_path));
// Path to the front controller (this file)
define('FCPATH', str_replace(SELF, '', __FILE__));
// Name of the "system folder"
define('SYSDIR', trim(strrchr(trim(BASEPATH, '/'), '/'), '/'));
 // The path to the "application" folder
 define('APPPATH', $application_folder.'/');

因此,如果您要包含的文件位于目录中application/

使用APPPATH.'path/to/file'.EXT;

另一个例子

假设您在应用程序目录内的新目录中创建了一个新文件; application/custom_folder/custom_file.php

要包含此文件,您需要确定文件所在的位置,

然后使用上面定义的PATH

所以要包含你必须使用

APPPATH.'custom_folder/custom_file'.EXT.EXT只是PHP

假设包含的文件保存在视图中的包含文件夹中

然后,您可以轻松地将该文件包含在:

$this->load->view('includes/example.php');

作品像

include 'includes/example.php'; // in Core PHP

相关内容

  • 没有找到相关文章

最新更新