-1

私のルートhtmlディレクトリには、SMFのインストールと、CodeIgniterのインストールがあります。CIで使用するSMFSSIのカスタムライブラリを作成していますが、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');

4

6 に答える 6

2

ファイルをhtml/application/librariesフォルダーに入れ、含めるファイルをhtml/forumsフォルダーに入れるため、以下のコードを使用して含めることができます。

../../forums/SSI.php
于 2012-09-22T04:35:15.373 に答える
1

これがライブラリで利用できるかどうかはわかりませんが、FCPATH は通常 CI ルート ディレクトリを指し、APPPATH は通常アプリケーション ディレクトリを指します。多少役立つことを願っています。これらはCIルートのindex.phpファイルに設定されています

/**
 * 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');

あなたが探しているものを正しく理解していれば、そのようなことはうまくいくかもしれません。

于 2012-09-22T07:14:05.077 に答える
1

ベース ディレクトリを取得するには、次のいずれかを使用します。

  $_SERVER['SERVER_NAME'];

また:

  $_SERVER['DOCUMENT_ROOT'];
于 2012-09-22T04:29:03.153 に答える
0

1つではなく2つの期間です。1つは現在のディレクトリを表し、2つは親を表し、その他は実際のディレクトリを表します。

require_once('../{URL}');
于 2012-09-22T04:08:05.507 に答える
0

絶対パスを使用することをお勧めします。

include __DIR__ . '/../../forums/SSI.php';                             // php version >= 5.3 
include dirname(__FILE__) . '/../../forums/SSI.php'              //  php version < 5.3
于 2012-09-22T04:31:57.353 に答える