PHP インクルード パス: 視点の問題
PHP インクルード パスの複雑さをナビゲートするときは、呼び出しコード間のダイナミクスを把握することが不可欠ですファイルの場所。明確にするために、ファイル A.php にファイル B.php が含まれ、そのファイル B.php にファイル C.php が含まれるシナリオでは、C.php への相対パスは B.php の場所によって決まりません。
キーここでの原則は、PHP インクルードの相対パスは メイン スクリプト (この場合は A.php) に基づいているということです。これは、 include() 関数は基本的に、現在実行中のスクリプトにコードを挿入するためです。したがって、C.php への相対パスは、B.php ではなく、A.php の場所を基準にする必要があります。
この質問では、インクルードがどのファイルから呼び出されるかが重要かどうかという点も生じます。答えは断然ノーです。インクルードを開始するファイルに関係なく、メイン スクリプトが同じである限り、相対パスは同じままです。
ただし、相対パスを特定のファイル (例: B. php では、FILE 定数を使用してこれを実現できます。この定数は常に、インクルードを実行するコードを含む現在のファイルを指します。
例として、次のコードは B.php の場所を基準にして C.php をインクルードします。
include(dirname(__FILE__)."/C.PHP");
このように FILE 定数を利用することで、特定のコード要件に合わせて相対パスの決定をカスタマイズできます。
以上がPHP はどのようにインクルード パスを解決しますか? (メイン スクリプトまたはインクルード ファイルとの相対)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。