1. ホーム
  2. php

[解決済み] PHP のインクルードパスは、ファイルからの相対パスですか?

2022-05-16 14:28:21

質問

PHP の相対インクルードパスに関するルールセットを理解するのに苦労しています。 ファイル A.PHP を実行し、ファイル A.PHP がファイル B.PHP をインクルードし、ファイル C.PHP をインクルードした場合、C.PHP への相対パスは B.PHP の位置と A.PHP の位置のどちらに関連付けるべきでしょうか? つまり、どの ファイル から呼び出されるのか、それとも現在の作業ディレクトリがどうなっているのかだけが重要なのでしょうか?

どのように解決するのですか?

メインスクリプト(この場合はA.php)からの相対的なものです。覚えておいてください include() は現在実行中のスクリプトにコードを挿入するだけです。

つまり、インクルードがどのファイルから呼び出されるかは重要ではありません。

いいえ。

もし、あなたが を作る にしたい場合は、B.php を相対的にインクルードするために __FILE__ 定数 (または __DIR__ これは、コード行が位置するリテラルな現在のファイルを常に指します。

include(dirname(__FILE__)."/C.PHP");