この記事では、PHP で外部ファイルを呼び出す 4 つの関数の使用法と違いを紹介します。詳しく知りたい人は参考にしてください。
ファイルを参照するには、require と include の 2 つの方法があります。 2 つの方法により、使用上の柔軟性が異なります。
require は require("MyRequireFile.php"); のように使用されます。この関数は通常、PHP プログラムの先頭に配置され、PHP プログラムが実行される前に、まず require で指定されたファイルを読み込み、それを PHP プログラムの Web ページの一部にします。このようにして、よく使われる機能を Web ページに導入することもできます。
include は include("MyIncludeFile.php"); のように使用されます。この機能は通常、フロー制御の処理部分に配置されます。 PHP プログラムの Web ページは、インクルード ファイルを読み取るときにのみ読み取ります。これにより、プログラムの実行処理を簡略化することができる。
_once サフィックスは、ロードされたものがロードされていないことを意味します
1. エラーを報告する
ファイルをインクルードするときにエラーが発生すると、プロンプトが表示され、以下のコードが実行を継続します
require がファイルを導入するときにエラーが発生すると、プロンプトが表示され、次のコードの実行が停止します
注: PHP 4.3.5 より前では、インクルード ファイルの構文エラーによってプログラムが停止することはありませんでしたが、このバージョン以降は停止します。
2. 条件付き参照
include() は require() と同じ関数ですが、include() は条件付き包含関数であるのに対し、require() は無条件包含関数です。
たとえば、次の例では、変数 $somg が true の場合、ファイル somefile.php がインクルードされます:
コードは次のとおりです
| コードをコピー
|
if($some){ 'somefile.php' をインクルード } ;
|
しかし、$some がどのような値を取っても、次のコードはファイル somefile.php をファイルにインクルードします。
コードは次のとおりです
コードをコピー |
|
if($something){ 'somefile.php' が必要 } ;
|
次の例は、これら 2 つの関数の違いを完全に示しています
コードは次のとおりです
コードをコピー |
|
$i = 1;
while ($i
上記のコードから、プログラムがループするたびに同じファイルをインクルードすることがわかりますが、これは明らかに私たちが望んでいることではありません。
さまざまなファイルをインクルードするには、この関数を完了したい場合は、関数 include() のみを使用できます |
コードは次のとおりです
コードをコピー
| $i = 1;
while ($i
"somefile.$i.php" を含めます |
;
}
3.相対パスを使用する場合は必須
A が B を参照し、B が別のファイル C を参照する場合、C のパスが相対パスの場合、B' に対する相対パスではなく、A のパスに対する相対パスになります
4.require_once() ステートメントには、スクリプト実行中に指定されたファイルが含まれ、実行されます。この動作は require() ステートメントに似ていますが、唯一の違いは、ファイル内のコードが既にインクルードされている場合、再度インクルードされないことです。
include_once() ステートメントは、スクリプトの実行中に指定されたファイルをインクルードして実行します。この動作は include() ステートメントに似ていますが、唯一の違いは、ファイル内のコードが既にインクルードされている場合、再度インクルードされないことです。このステートメントの名前が示すように、このステートメントは 1 回だけ含まれます。
5..ファイル参照方法
include には戻り値がありますが、require には戻り値がありません
コードは次のとおりです |
コードをコピー |
$login = include('test.php');
if(!empty($login))
{ echo “ファイルは正常に含まれました”;
}
それ以外
{ echo "ファイルのインクルードに失敗しました";
}
|
include() の実行時に参照する必要があるファイルは、毎回読み込んで評価する必要があります。
require() の実行時に参照する必要があるファイルは 1 回だけ処理されます (実際には、実行中に参照する必要があるファイルの内容が require() ステートメントを置き換えます)
これらの命令のいずれかを含むコードや、複数回実行される可能性のあるコードがある場合は、require()、 を使用する方が効率的であることがわかります。
コードが実行されるたびに異なるファイルを読み取る場合、または一連のファイルを反復処理するループがある場合は、 include(), を使用します。
インクルードしたいファイル名の変数を設定できます。パラメータが include() の場合にこの変数を使用します。
コードは次のとおりです
コードをコピー |
|
conn.php
$dbh=mysql_connect('localhost','root','123456');
mysql_select_db('DB','$dbh');
?>
実際のアプリケーションでは、次のようなファイルを呼び出します:
require("conn.php") または include("conn.php");
しかし、次の場合:
ファイル名.php
require("conn.php");
関数 myfun($par1,$par2)
{データベース処理のステートメントが含まれています}
……
myfun($par1,$par2);
……
myfun($p1,$p2);
?>
|
まとめ
include は使用時にロードされます
require は最初にロードされます
_once サフィックスは、ロードされたものがロードされていないことを意味します
PHP システムには、PHP プログラムをロードするときに擬似コンパイル プロセスがあり、これによりプログラムの実行速度が向上します。ただし、インクルードドキュメントは依然として解釈されて実行されます
インクルードファイルにエラーがあります。メインプログラムは実行を継続します
必須ファイルにエラーがあり、メインプログラムが停止しました
したがって、インクルードされたファイルのエラーがシステムにほとんど影響を及ぼさない場合 (インターフェースファイルなど)、include を使用し、それ以外の場合は require を使用してください。
次のドキュメントは require() にも適用されます。 2 つの構造は、障害の処理方法を除いて同一です。 include() は警告を生成し、require() は致命的なエラーを引き起こします。つまり、ファイルが見つからない場合にページの処理を停止したい場合は、require() を使用します。 include() の場合はそうではなく、スクリプトは引き続き実行されます。また、適切な include_path が設定されていることを確認してください。
require() 関数は、それ自体を指定されたファイルの内容に置き換えます。この置換プロセスは、include() のように最初に計算されるのではなく、PHP エンジンがコードをコンパイルするときに行われます。 require() 関数は静的要素でよく使用され、include() は動的要素でよく使用されます。 include_once() と同様に、require_once() は、指定されたコードが挿入されているかどうかを最初に確認します。コードがすでに存在する場合、そのコードは再度挿入されません。
|
http://www.bkjia.com/PHPjc/631631.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631631.html技術記事この記事では、外部ファイルを呼び出すための 4 つの PHP 関数の使用法と違いを紹介します。詳しく知りたい人は参考にしてください。 ファイルを参照するには、require と include の 2 つの方法があります。言及する 2 つの方法...