ホームページ >php教程 >php手册 >PHP の絶対パスと相対パスの include および require に関する問題

PHP の絶対パスと相対パスの include および require に関する問題

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-10-19 10:19:362035ブラウズ

PHP プログラムを作成するとき、他のファイルをインクルードするために include または require を使用することがよくありますが、各ファイルに含まれるファイルが多すぎると、パスの問題が発生します。

次のディレクトリ:

└index.php

ここで、ルートディレクトリのindex.phpにAフォルダー内の1.phpファイルを含める必要があります。 include "./A/1.php"を使用するだけです

そして、フォルダー 1 の 1.php にはフォルダー B の 2.php がインクルードされ、1.php に include "../B/2.PHP" と書き込みます

ただし、index.php に 1.php がインクルードされる場合、コンパイルは Index.php で実行されること、つまり、index.php に含まれるファイルのインクルードは、index.php を基準としており、1.php は、index.php にインクルードされることを知っておく必要があります。 Index.php の場合は、index.php に関連する 2.php を見つける必要があります。上で述べたように、1.php に記述されているのは「../B/2.php」です。これで、コンパイルされたファイルは Web サイトのルート ディレクトリ (つまり、index.php に対する相対) となります。 ../" という意味です。では、上位ディレクトリに戻って検索する必要がありますが、どうすれば見つけられるでしょうか?

私もインターネット上でいくつかの方法を検索しましたが、最良の方法は絶対パス方法を使用することです。単一のエントリ ファイルを定義し、含めるファイルをインクルードし、定数を定義することができます。define("__ROOT__",dirname(__FILE__)); その後、後続のファイルを作成するプロセスでは、絶対メソッドと__ROOT__ を追加します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。