PHP でファイルを要求したりインクルードしたりする場合、主に相対パスが使用されますが、これは頭痛の種です。
例:
(ウェブサイトのルートディレクトリ)
§フォルダ
│ │
│ └1.php
§フォルダ
│ │
│ └2.php
└index.php
質問: 1.php では、include (「../B/2.php」) を使用して B ディレクトリに 2.php ファイルが導入されています。
Index.php で、 include("A/1.php") を使用して、A ディレクトリに 1.php ファイルを導入します。
もちろん、実行時に問題が発生します。../B/2.php ファイルが見つかりません。
原則として、すべてのインクルード ステートメントは最終的にインクルード ファイル パスに基づいてインクルード パスに変換されるということを覚えておいてください。__FILE__ や $_SERVER['DOCUMENT_ROOT']
などの基本パスをすべてのパスの参照として使用することをお勧めします。
__FILE__: (さまざまな状況に適しています)
構成ファイル
でサイトのルート ディレクトリを構成します。
定義( "WEB_ROOT ", dirname(__FILE__) );
設定ファイルを Web サイトのルート ディレクトリ
に配置します。
他のファイルには構成ファイル、
が含まれます。
他のファイルを含める場合は、WEB_ROOT に従ってファイルを配置します。
require_once( WEB_ROOT . "/a.php " );
$_SERVER['DOCUMENT_ROOT']、非仮想ホスト (エイリアス) の状況に適しています
この記事へのリンク http://www.cxybl.com/html/wlbc/Php/20130319/37249.html
<ol class="dp-c"><li class="alt"><span><span><?php </span></span></li><li><span><span class="keyword">if</span><span> (!defined(</span><span class="string">"WETSITE_BASE_DIR"</span><span>)) </span></span></li><li class="alt"><span>define(<span class="string">"WETSITE_BASE_DIR"</span><span>, </span><span class="vars">$_SERVER</span><span>[</span><span class="string">'DOCUMENT_ROOT'</span><span>].</span><span class="string">'/Clare/'</span><span>); </span></span></li><li><span><span class="keyword">require_once</span><span>(WETSITE_BASE_DIR.</span><span class="string">'includes/global.inc.php'</span><span>); </span></span></li><li class="alt"><span>?> </span></span></li></ol>
ログイン後にコピー