0

PHPファイルを含めるために次のスキームを使用します。

require($_SERVER['DOCUMENT_ROOT'] . "Path/To/My/Website/Path/To/My/File.php");

保存したい

$_SERVER['DOCUMENT_ROOT'] . 'Path/To/My/Website'

いくつかの変数で、と言って$my_website、次のように記述します。

require("$my_website/Path/To/My/File.php");

このように、自分のWebサイトへのパスを変更することにした場合、コード内の1か所でのみ変更する必要があります。

一部のPHPファイルは、異なるディレクトリレベルから数回含まれる場合があります。例えば:

$_SERVER['DOCUMENT_ROOT']
                         Path
                             To
                               My
                                 Website
                                        Dir1
                                            a.php
                                        Dir2
                                            b.php that includes a.php
                                        Dir3
                                            Dir4
                                                c.php that includes a.php

しかし、私はこれを行う方法を考えることができません。

提案してください。

4

3 に答える 3

1

インクルードパスを使用すると、作業が簡単になります(.htaccessからでも制御できます)。

于 2010-10-20T11:00:06.580 に答える
1

これを行うには2つの方法が考えられます。

  1. 変数を設定する、他のすべてのファイルに含まれる共通ファイルを作成します$my_website
  2. include_pathにWebサイトのパスを追加して、ファイルを含めるためにWebサイトのパスをまったく使用する必要がないようにします(require "Path/To/My/File.php";
于 2010-10-20T10:53:07.627 に答える
0

BASE_PATHとBASE_URIの定数をconfig.phpファイルに設定しました。このファイルは、スクリプトと同じフォルダーにあり、各スクリプトに含まれています(require('config.php')):

define('BASE_PATH', '/filesystem/path/to/application');
define('BASE_URI', '/uri/home');

次に、次を使用できます。

require(BASE_PATH . '/file.php');

もう1つのヒント-開発サイトとライブサイトが別々にある場合は、これらの定義をスイッチに入れることができます。

$mode = 'dev';
switch($mode){
    case 'dev':
        define('BASE_PATH', '/filesystem/path/to/application');
        define('BASE_URI', '/uri/home');
    break;
    case 'live':
        define('BASE_PATH', '/different/path/to/application');
        define('BASE_URI', '/');
    break;
}
于 2010-10-20T11:11:28.313 に答える