在父文件夹PHP中包含文件

时间:2012-09-22 04:04:32

标签: php codeigniter include

在我的root html目录中,我安装了SMF,还安装了CodeIgniter。我正在创建一个SMF SSI的自定义库,用于CI,但我遇到包括SSI.php文件的问题。这就是我的html根目录:

- html/root
  /forums (html/forums)
      -SSI.php
  /application
      /libraries
          -SMF.php(html/application/libraries)
  /system

所以在文件application / libraries / smf.php中,我如何包含SSI.php?这就是我正在使用的,但它说找不到文件

include('.../forums/SSI.php');

6 个答案:

答案 0 :(得分:2)

当您的文件进入html/application/libraries文件夹并且您要包含的文件位于html/forums文件夹中时,您可以使用下面的代码来包含。

../../forums/SSI.php

答案 1 :(得分:1)

要获取基本目录,请使用以下其中一个:

  $_SERVER['SERVER_NAME'];

或:

  $_SERVER['DOCUMENT_ROOT'];

答案 2 :(得分:1)

我不知道它是否在库中可用,但FCPATH通常指向CI根目录,APPPATH通常指向您的应用程序目录。希望有所帮助,那些设置在CI根index.php文件中你可以尝试回显它们,看看他们是否到了库,如果不在其中添加一个setter像

/**
 * Storage holder for the include files paths, is changed by $this->include_file()
 *
 * @access protected
 * 
 * @var string
 */
protected $_path;

/**
 * Sets the path for include files.
 *
 * @access private
 * 
 * @param string $path Path of files to include.
 */
private function set_path($path)
{
  $this->_path = $path;
}

// ------------------------------------------------------------------------

/**
 * Includes file.
 * 
 * @param  string $file Filename to include
 * 
 * @return void
 */
function include_file($file)
{
  include($this->_path . $file);
}

然后使用

从CI范围设置它
<?php
  $this->library->set_path(FCPATH);
  $this->library->include_file('SI.php');

如果我理解你正确寻找的东西,这样的东西可能有用。

答案 3 :(得分:0)

这是两个时期,而不是一个时期。一个表示当前目录,两个表示父目录,其他任何表示真实目录:

require_once('../{URL}');

答案 4 :(得分:0)

你最好使用绝对路径。

include __DIR__ . '/../../forums/SSI.php';                             // php version >= 5.3 
include dirname(__FILE__) . '/../../forums/SSI.php'              //  php version < 5.3

答案 5 :(得分:0)

USE

If ((Get-ChildItem "hklm:SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full\" | Get-ItemPropertyValue -Name Release | % { $_ -ge 394802 }) -like 'True')

FCPATH是CodeIgniter安装的根文件夹