まず、公式 PHP マニュアルで include のファイル検索原則の説明を見てみましょう:
Files for including are first looked for in each include_path entry relative to the current working directory, and then in the directory of current script. E.g. if your include_path is libraries , current working directory is , you included and there is include "b.php" in that file, is first looked in and then in . If filename begins with ./ or ../ , it is looked only in the current working directory.
include ファイル を見つける順序は、最初に現在の作業ディレクトリを基準とした include_path の下で検索し、次に現在実行中のスクリプトが配置されているディレクトリに移動します。 include_path の下を探します。たとえば、 include_path は . 、現在の作業ディレクトリは 、スクリプトには を含める必要があり、ファイル内に include "b.php" という文がある場合、検索の順序は最初に 、次に です。 。ファイル名が ./ または ../ で始まる場合、現在の作業ディレクトリを基準とした include_path の下でのみ検索されます。
したがって、ファイル構造は以下のようになります
----a.php
----include/b.php
----include/c.php
ここで、a.php
<?php include 'include/b.php'; ?> ----------------------- b.php <?php include 'c.php'; include 'include/c.php'; ?>
------------------------
c.php
<?php echo 'c.php'; ?>
-------------- - ----------
はすべて正しく実行できます。これは、b.php 内の 2 つの異なるインクルード パスが実行可能であり、インクルードに従ってインクルードされたファイルを検索することで c.php を見つけることができることを示しています。
しかし、最善の方法は絶対パスを使用することです。絶対パスを使用すると、PHP カーネルはインクルード パスでファイルを 1 つずつ検索することなく、パスを介してファイルを直接ロードするため、コードの実行効率が向上します
<?php define('ROOT_PATH',dirname(FILE)); include ROOT_PATH.'/c.php'; ?>
さまざまなファイルインクルード方法、プログラムの実行パフォーマンスの詳細については、この記事を参照してください
<script type="text/ javascript "><!-- google_ad_client = "ca-pub-1944176156128447"; /* cnblogs 首页横幅 */ google_ad_slot = "5419468456"; google_ad_width = 728; google_ad_height = 90; //--></script> <script type="text/javascript" src=" </script>
以上がPHP インクルード ファイル インクルード パス検索の問題の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。