私が最初に php の includeinclude files を使い始めたとき、何の問題も見つかりませんでした。
徐々に、非常に深刻な問題を発見しました。たとえば、1 の
<web>(网站根目录) ├<A>文件夹 │ │ │ └1.php ├<B>文件夹 │ │ │ └2.php └index.php
。 php include("../B/2.php"); を使用して B ディレクトリに 2.php ファイルを導入します。 A ディレクトリ内の 1.php ファイル
もちろん、実行すると問題が発生します。 ../B/2.php ファイルが見つかりません
じっくりと分析してください。 A ディレクトリ内の 1.php ファイル。これは、
1.php が実行のために Index.php にコンパイルされると、1.php が Index.php と同様に Web サイトのルート ディレクトリに配置されるのと同じになります。ただし、そうではありません。 ("../B /2.php");"../"を含めるのを忘れてください。これはどういう意味ですか?上のディレクトリでは、ルートディレクトリに 1.php が存在します。このとき、1 つ上の階層に進むと、2.php が見つからないため、ここで問題が発生します。 それでは、どうすれば解決できるでしょうか? include("/B/2.php") は良くありませんが、php での "/" の使用も良くありません。 include は、Web サイトの想像上のルート ディレクトリが現在のディレクトリを表すものではないため、まだ機能しません。
解決策はないのでしょうか?もちろん、相対パスは使用できないため、代わりに絶対パスを使用できます。
realpath("./") は、現在の Web サイトのルート ディレクトリの絶対パスを取得するために使用されます。例: c:wampwww Web サイト名
したがって、 include("../B/2.php"); を次のように変更できます。 include(realpath ("./")."B/2.php");
この場合、ページがどのレベルのディレクトリにあっても参照できるので、心配する必要はありません。もうパスの問題はありません!
以上がPHPのインクルードページパスの問題の解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。