PHP インクルード ファイル インクルード パス検索の問題の概要

黄舟
リリース: 2023-03-11 12:02:01
オリジナル
2178 人が閲覧しました

まず、公式 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 &#39;include/b.php&#39;;
?>
-----------------------
b.php
<?php
include &#39;c.php&#39;;
include &#39;include/c.php&#39;;
?>
ログイン後にコピー

------------------------

c.php

<?php
echo &#39;c.php&#39;;
?>
ログイン後にコピー

-------------- - ----------

はすべて正しく実行できます。これは、b.php 内の 2 つの異なるインクルード パスが実行可能であり、インクルードに従ってインクルードされたファイルを検索することで c.php を見つけることができることを示しています。

しかし、最善の方法は絶対パスを使用することです。絶対パスを使用すると、PHP カーネルはインクルード パスでファイルを 1 つずつ検索することなく、パスを介してファイルを直接ロードするため、コードの実行効率が向上します

<?php
define(&#39;ROOT_PATH&#39;,dirname(FILE));
include ROOT_PATH.&#39;/c.php&#39;;
?>
ログイン後にコピー

さまざまなファイルインクルード方法、プログラムの実行パフォーマンスの詳細については、この記事を参照してください

<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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!