情報を収集し、複数のテストを行った結果、他の Web プログラミング言語では相対パスは現在処理中のファイル ディレクトリに基づいていますが、PHP ではそうではないことがわかりました。 PHP の相対パスは、現在の処理ファイル ディレクトリではなく、現在の作業ディレクトリに基づいているため、開発プロセス中に多くの問題が発生します。
include または require を使用してファイルをインクルードする場合は、ファイル パスの前に dirname (__file__) を追加します。例: 現在、a.php、b.php、c.php、d.php の 4 つのファイルがあります。それらの関係は次のとおりです:
b.php (ルートディレクトリと同じレベル)
ルートディレクトリ/a.php
ルートディレクトリ/c.php
ルートディレクトリ/dir/d.php
これで、a.php には b.php と c.php が含まれるはずです。次のように書かれています。
include_once(dirname(__file__)."/../b.php");
include_once(dirname(__file__)."/c.php");
?> c.php に d.php が含まれている場合。次のように書かれています。
include_once(dirname(__file__)."/dir/d.php");
?> この方法は現在、パスのずれを解決する最も効果的な方法です