php の include の機能は、指定されたファイルをインクルードして実行することです。インクルードされたファイルは、パラメータで指定されたパスに従って最初に検索されます。ディレクトリが指定されていない場合は、指定されたディレクトリに従って検索されます使用例としては、「include 'vars.php';」などが挙げられます。
この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。
php の include の機能とは何ですか?
include (PHP 4、PHP 5、PHP 7、PHP 8)
include 式は、指定されたファイルをインクルードして実行します。
次のドキュメントは require
にも適用されます。
インクルードされたファイルは、最初にパラメータで指定されたパスに従って検索され、ディレクトリが指定されていない場合 (ファイル名のみ)、include_path で指定されたディレクトリに従って検索されます。ファイルが include_path の下に見つからない場合、include は最終的に、呼び出し元のスクリプト ファイルが配置されているディレクトリと現在の作業ディレクトリを検索します。 include 構造体は、ファイルが最後に見つからない場合に E_WARNING を発行します。これは、E_ERROR を発行する require とは異なります。
ファイルにアクセスできない場合、include と require の両方が、それぞれ最後の E_WARNING または E_ERROR を発行する前に、追加の E_WARNING を発行することに注意してください。
パスが定義されている場合 - 絶対パス (Windows ではドライブ文字または \ で始まり、Unix/Linux では / で始まる) か、現在のディレクトリへの相対パス (. またはで始まる) であるか。 ..) --include_path は完全に無視されます。たとえば、ファイルが ../ で始まる場合、パーサーは現在のディレクトリの親ディレクトリでファイルを検索します。
PHP がインクルード ファイルとインクルード パスを処理する方法の詳細については、include_path セクションのドキュメントを参照してください。
ファイルがインクルードされると、そのファイルに含まれるコードは、インクルードが配置されている行の変数スコープを継承します。その時点から、呼び出し側ファイルのその行で使用可能な変数は、呼び出されたファイルでも使用できるようになります。ただし、インクルード ファイルで定義されたすべての関数とクラスはグローバル スコープを持ちます。
例 #1 基本的な include の例
vars.php
<?php $color = 'green'; $fruit = 'apple'; ?>
test.php
<?php echo "A $color $fruit"; // A include 'vars.php'; echo "A $color $fruit"; // A green apple ?>
呼び出しに include が含まれる場合ファイルを作成すると、呼び出されたファイルに含まれるすべてのコードは、関数内で定義されているかのように動作します。したがって、その関数の変数スコープに従います。この規則の 1 つの例外はマジック定数です。マジック定数は、包含が行われる前にパーサーによって処理されます。
例 #2 関数にインクルードする
<?php function foo() { global $color; include 'vars.php'; echo "A $color $fruit"; } /* vars.php 在 foo() 范围内,所以 $fruit 在范围为不可用。 * * $color 能用是因为声明成全局变量。 */ foo(); // A green apple echo "A $color $fruit"; // A green ?>
ファイルがインクルードされると、パーサーは PHP モードを終了し、ターゲット ファイルの先頭で HTML モードに入り、復元します。ファイルの最後に。このため、PHP コードとして実行する必要があるオブジェクト ファイル内のコードは、有効な PHP 開始タグと終了タグ内に含める必要があります。
PHP で「URL インクルード ラッパー」が有効になっている場合は、ローカル ファイルの代わりに URL (HTTP またはその他のサポートされているラッピング プロトコル経由 - サポートされているプロトコルとラッピング プロトコルを参照) を使用して、含めるコンテンツを指定できます。 。 書類。ターゲット サーバーがターゲット ファイルを PHP コードとして解釈する場合は、HTTP GET の URL リクエスト文字列を使用して、インクルードされたファイルに変数を渡すことができます。これは、ファイルを含めて親ファイルの変数空間を継承することと厳密には同じではありません。スクリプト ファイルは実際にはリモート サーバー上で実行されており、ローカル スクリプトにはその結果が含まれています。
例 3 は HTTP 経由でインクルードします
<?php /* 这个示例假定 www.example.com 配置为解析 .php 文件而不解析 .txt 文件。 * * 此外 “Works” 意味着 $foo 和 $bar 变量在包含的文件中是可用的。 */ // 无法执行; file.txt 没有被 www.example.com 当作 PHP 处理。 include 'http://www.example.com/file.txt?foo=1&bar=2'; // 无法执行;在本地文件系统中查找名为 “file.php?foo=1&bar=2” 的文件。 include 'file.php?foo=1&bar=2'; // 正常。 include 'http://www.example.com/file.php?foo=1&bar=2'; ?>
警告
リモート ファイルはリモート サーバーによって処理される可能性があります (ファイルのサフィックスによって異なります)。 (リモート サーバーが PHP を実行しているかどうかによって異なります) ただし、有効な PHP スクリプトはローカル サーバーによって処理されるため、生成する必要があります。リモート サーバーのファイルをリモートで実行し、結果のみを出力する必要がある場合は、readfile() 関数を使用することをお勧めします。また、リモート スクリプトが正当な必要なコードを生成するように細心の注意を払ってください。
推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHPのインクルードの機能は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。