ホームページ > バックエンド開発 > PHPの問題 > PHPでファイルを参照するにはいくつかの方法があります

PHPでファイルを参照するにはいくつかの方法があります

青灯夜游
リリース: 2023-03-09 16:38:01
オリジナル
6682 人が閲覧しました

php がファイルを参照するには 4 つの方法があります: 1. include() 関数を使用します (PHP スクリプト内の任意の場所に配置できます); 2. require() 関数 (通常は PHP の先頭に配置します)スクリプト; 3. include_once () 関数; 4. require_once() 関数。

PHPでファイルを参照するにはいくつかの方法があります

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

ファイルをロードするステートメントは 4 つあります。 PHP: include、require、include_once、require_once

基本構文

require: require 関数は通常、PHP スクリプトの先頭に配置され、require 仕様はその前に読み込まれます。 PHP が実行され、インポートされたスクリプト ファイルを含むファイルが実行されます。 require の仕組みは PHP の実行効率を高めるためのもので、同じ Web ページ内で一度解釈されると、2 回目は解釈されなくなります。ただし、同様に、インポートされたファイルを繰り返し解釈しないため、PHP でファイルを導入するためにループまたは条件ステートメントを使用する場合は include を使用する必要があります。

include: は、PHP スクリプト内のどこにでも (通常はプロセス コントロールの処理部分に) 配置できます。 includeで指定したファイルに対してPHPスクリプトを実行すると、インクルードされて実行が試行されます。この方法により、プログラムの実行プロセスを簡略化できます。同じファイルに 2 回目に遭遇した場合でも、PHP は再度それを再解釈します。 include の実行効率は、require の実行効率よりもはるかに低くなります。同時に、インポートされたファイルにユーザー定義関数が含まれている場合、 PHP では、解釈プロセス中に関数定義が繰り返されるという問題が発生します。

require_once/include_once: これらの関数は、それぞれ require/include と同じです。違いは、実行時に、ターゲット コンテンツが以前にインポートされているかどうかを最初にチェックすることです。インポートされているため、同じコンテンツが再度導入されることはありません。

#include と require の違い:

include には戻り値がありますが、require には戻り値がありません

include はファイルをロードしています 失敗すると、警告 (E_WARNING) が生成され、エラー発生後もスクリプトは実行を継続します。そのため、実行を継続して結果をユーザーに出力したい場合には include を使用します。

//test1.php
<?php
include &#39;./tsest.php&#39;;
echo &#39;this is test1&#39;;
?>

//test2.php
<?php
echo &#39;this is test2\n&#39;;
function test() {
    echo &#39;this is test\n&#39;;
}
?>

//结果:
this is test1
ログイン後にコピー

require は、ロードが失敗すると致命的なエラー (E_COMPILE_ERROR) を生成し、エラーの発生後にスクリプトの実行が停止します。通常、後続のコードがロードされたファイルに依存する場合に使用されます。

//test1.php
<?php
require &#39;./tsest.php&#39;;
echo &#39;this is test1&#39;;
?>

//test2.php
<?php
echo &#39;this is test2\n&#39;;
function test() {
    echo &#39;this is test\n&#39;;
}
?>
ログイン後にコピー

結果:

include および include_once:

include で読み込まれたファイルは重複かどうかの判定はされず、include 文がある限り (重複読み込みが発生しても) 一旦読み込まれます。 include_once がファイルをロードするとき、前のコードがロードされているかどうかを判断する内部判断メカニズムが存在します。ここで注意する必要があるのは、include_once はファイルの内容ではなく、同じパスのファイルが以前にインポートされているかどうかに基づいて判断されることです (つまり、インポートされる 2 つのファイルの内容が同じです)。 、 include_once を使用すると、依然として 2 つが導入されます)。
//test1.php
<?php
include &#39;./test2.php&#39;;
echo &#39;this is test1&#39;;
include &#39;./test2.php&#39;;
?>

//test2.php
<?php
echo &#39;this is test2&#39;;
?>

//结果:
this is test2this is test1this is test2


//test1.php
<?php
include &#39;./test2.php&#39;;
echo &#39;this is test1&#39;;
include_once &#39;./test2.php&#39;;
?>

//test2.php
<?php
echo &#39;this is test2&#39;;
?>

//结果:
this is test2this is test1


//test1.php
<?php
include_once &#39;./test2.php&#39;;
echo &#39;this is test1&#39;;
include &#39;./test2.php&#39;;
?>

//test2.php
<?php
echo &#39;this is test2&#39;;
?>

//结果:
this is test2this is test1this is test2


//test1.php
<?php
include_once &#39;./test2.php&#39;;
echo &#39;this is test1&#39;;
include_once &#39;./test2.php&#39;;
?>

//test2.php
<?php
echo &#39;this is test2&#39;;
?>

//结果:
this is test2this is test1
ログイン後にコピー

require と require_once:

include と include_once と同じ違いです。

読み込み時の実行処理1. include(require)文からphpスクリプトモードを終了(htmlコードモードに入る)

2. includeで設定した設定を読み込みステートメント ファイル内のコードを実行してみます

3. HTML モードを終了し、php スクリプト モードに再度入り、後続のスクリプト プログラムの実行を続行します

//test1.php
<html>
<body>
主文件开始位置:
<?php
    echo "<br> 主文件中位置 A";
    include "./test2.php";    //要载入的文件
    echo "<br> 主文件中位置 B";
?>
<br> 主文件结束位置
</body>
</html>

//test2.php
<br> 被载入文件位置 1
<?php
echo "<br> 被载入文件位置 2";
?>
<br> 被载入文件位置 3
ログイン後にコピー

結果分析:

比較戻り値

上で述べたように、include には戻り値がありますが、require には戻り値がありません。

对于include,如果载入成功,有返回值,返回值为1;如果载入失败,则返回false.

对于require,如果载入成功,有返回值,返回值为1;如果载入失败,无返回值。

//test1.php
<?php

$a = include "./test2.php";
var_dump($a);
echo "<br>";

$b = include "./test2.phps";
var_dump($b);
echo "<br>";

$c = require "./test2.php";
var_dump($c);
echo "<br>";

$d = require "./test2.phps";
var_dump($d);

?>
ログイン後にコピー

输出:

PHPでファイルを参照するにはいくつかの方法があります

当文件中有return:

当被载入文件中有return语句时,会有另外的机制,此时return语句的作用是终止载入过程,即被载入文件中return语句的后续代码不再载入。return语句也可以用于被载入文件载入时返回一个数据。

//test1.php
<?php
$a = include "./test2.php";
echo "<br>";
var_dump($a);
?>


//test2.php
//该文件中有return语句
<?php
$b = &#39;test2&#39;;
echo "被载入的文件:A 位置";
return $b;
echo "<br 被载入的文件: B 位置";
?>
ログイン後にコピー

结果:

PHPでファイルを参照するにはいくつかの方法があります

推荐学习:《PHP视频教程

以上がPHPでファイルを参照するにはいくつかの方法がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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