1.require() ステートメント
require() ステートメントは、C 言語の include() ステートメントと同様に、ステートメント自体の代わりにファイルを指定するために使用されます。 PHP 構成ファイル php.ini 内の URL fopen ラッパーがオンになっている場合 (デフォルトでオンになっています)、URL を使用してファイルの場所を指定し、リモート ファイル呼び出しを行うことができます。
1 つは、require() ステートメントと include() ステートメントを使用するときに特別な注意を払うことです。つまり、インクルードされたファイルでは、プロセッサは HTML モードに従ってコンテンツを解釈し、インクルードされたコンテンツを処理した後、PHP モードに戻ります。したがって、インクルードされたファイルで PHP 構文を使用する必要がある場合は、正しい PHP 開始タグと終了タグを使用してこれらのステートメントをインクルードする必要があります。
require() と include() は PHP の言語機能であり、関数ではありません。これらは多くの点で関数とは異なります。
例: require() に含まれるファイルには制御構造を含めることはできず、return などのステートメントは使用できません。 require() に含まれるファイルで return ステートメントを使用すると、処理エラーが発生します。 include() ステートメントとは異なり、require() ステートメントは、これらのステートメントが実行されるかどうかに関係なく、含まれるファイルの内容を無条件に読み取ります。したがって、異なる条件に従って異なるファイルをインクルードする場合は、include() ステートメントを使用する必要があります。もちろん、require() の位置にあるステートメントが実行されない場合、require() に含まれるファイル内のステートメントも実行されません。
require() は、ループ本体内の異なる条件に基づいて異なるファイルを含めることはできません。 require() ステートメントは、ステートメント自体を置き換えるために初めて実行されるときにのみ、ステートメントに含まれるファイルの内容を呼び出します。再度実行されるときは、最初に含まれるステートメントのみが実行されます。ただし、 include() ステートメントでは、ループ本体にさまざまなファイルを含めることができます。
require() ステートメント内の変数は、require() ステートメントが配置されている変数スコープを継承します。 require() ステートメントの場所でアクセスできるすべての変数は、require() ステートメントに含まれるファイル内でアクセスできます。 require() ステートメントが関数内にある場合、インクルードされたファイル内のステートメントは関数内で定義されているものと同等になります。
require() ステートメントは、PHP プログラムが実行される前に require によって参照されるファイルを読み取るため、通常、require はプログラムの先頭に置かれます。したがって、require ステートメントは少し強力であるという事実に特別な注意を払う必要があります。プログラムが参照ファイルを本当に必要とするかどうかに関係なく、require ステートメントを使用する限り、参照ファイルが含まれてしまいます。この関数を使用して条件制御ステートメントにインクルードすると、条件が true でなくても、参照されたファイルがインクルードされます。ゾンビが形成されると、操作中に目に見える影響はありませんが、明らかに負担が増加しますので、特に注意してください。 require ステートメントを使用してインクルード エラーが発生した場合、プログラムはエラー メッセージを出力して実行を停止します。 !
require() ステートメントにファイルの URL を宣言することによってリモート ファイルが含まれており、リモート サーバーが PHP コードに従ってファイルを解釈する場合、ローカル PHP ファイルに含まれるコンテンツはリモート サーバーでの処理の結果です。例:
コードをコピーします コードは次のとおりです:
/*
この例では、some_server サーバーは .php ファイルを解釈できるが、.txt ファイルは解釈できないことを前提としています。リモート ファイル
need 変数 $varfirst と $varfirst
*/
/* が正しく実行できないため、リモート サーバーは .txt ファイルを処理しません*/
require("http://some_server/file.txt?varfirst= 1&varsec>
/*不正解です。file.php ファイルはローカル マシン上でのみ見つかります*/
require("file.php?varfirst=1&varsec>
/*正しいステートメント*/
require("http://some_server /file.php?varfirst=1&varsec>
$varfirst=1; /*正しいステートメント*/
正しいステートメント*/
include() ステートメントは、require() ステートメントと多くの類似点があります。上記の require() ステートメントのうち、include() に適用できると明示されていない部分を除いて、require() ステートメントの関数は include() ステートメントの関数と機能に完全に適用できます。 require() ステートメントに含まれないステートメントを以下に紹介します。
エラー処理には、 include ステートメントを使用します。とすると、プログラムは include ステートメントをスキップします。エラー メッセージは表示されますが、プログラムは引き続き実行されます。 PHP プロセッサは include() ステートメントに遭遇するたびに再処理するため、 include() を使用できます。条件制御ステートメントとループ ステートメントに、さまざまな状況に応じてさまざまなステートメントを含めます。
例:
コードは次のとおりです。
$files=array('first.php','first.php','third.php');
for($i=0;$i
include $files[$i];
}
?>
return ステートメントは、php3.0 および php4.0 の include() ステートメントに含まれるファイルの値を返すために使用できます。 . そして、インクルードされたファイルの下のコンテンツの実行を停止します。ただし、php3.0 と php4.0 では、そのような状況の処理方法が異なります。 php3.0 では、return ステートメントを関数内にしない限り、{} 内に含めることはできません。これは、return ステートメントがファイルの戻り値ではなく関数の戻り値を表すためです。 php4.0 では、関数の戻り値と同様に、ファイル内で数値を返すこともできます。このようなステートメントは通常、
php3.0 のエラーを報告します。以下は例です:
インクルードされたファイルが test.inc で、メイン ファイル main.php がディレクトリにあると仮定します。 test.inc の内容は次のとおりです:
test.inc
コードをコピーします コードは次のとおりです:
echo "Before the return
n" ;
if(1)
{
return 27;
echo "After the return
?> main.php ファイルに次のステートメントが含まれているとします。コードをコピーします
コードは次のとおりです:
$retval=include('test.inc'); echo "File returns:'$retval'
n"; >
php3.0 の説明 コンパイラは 2 行目でエラーを報告し、include() ステートメントの戻り値を取得できません。しかし、php4.0 では、次の結果が得られます:
リターン前
返されたファイル: '27'
main.php が次のように変更されたと仮定します:
コードをコピー コードは次のとおりです:
include('test.inc'); echo "Back in main.html
n"
の出力結果php4.0 の出力は次のとおりです: Before the return
Back in main.html
php5.0 の出力も次のようになります:
Before the return
Back in main.html
php3.0 での出力 結果は次のとおりです:
リターンの前
27main.html に戻る
解析エラー:/apache/htdocs/phptest/main.html の 5 行目の解析エラー
上記return ステートメントが関数内ではなく {} 内にあるため、エラーが発生します。 {} を削除して test.inc の最外層に配置すると、出力結果は次のようになります。
return の前
27main.html に戻る
27 が表示される理由は、php3 にあるためです。 .0 Include() リターンはサポートされていません。
3.require_once() および include_once() ステートメント
require_once() および include_once() ステートメントは、それぞれ require() ステートメントおよび include() ステートメントに対応します。 require_once() および include_once() ステートメントは主に、複数のファイルをインクルードする必要がある場合に使用され、同じコード部分をインクルードすることによって発生する関数または変数の繰り返し定義でのエラーを効果的に回避できます。例: 2 つのファイル util.inc と folk.inc を作成する場合、プログラム コードは次のとおりです:
util.inc:
コードをコピーします
コードは次のとおりです:
php define(PHPVERSION ,floor(phpversion()));
echo "GLOBALS ARE NICE
n"; function goodTea() return "オーロン茶は美味しいです!"
?>
そして、fool .inc:
コードをコピーします
コードは次のとおりです:
require ("util.inc");
function showVar($var)
{
{ print_r($var); }
else
{ var_dump($var) } ?> 次に、これら 2 つのファイルを error_require に含めます。 php:
コードをコピーします
コードは次のとおりです:
require("fool.inc")
require("util.inc");// この文は次のようになります。エラーが発生します
$foo=array("1" ,array("complex","quaternion"));
echo "これはまた util.inc を必要としますが、これも
n です"; .incn";
echo "goodTea を実行中:".goodTea()."
n";
echo "foo:
n を印刷中";
showVar($foo);
?>
または、error_require.php を実行すると、出力結果は次のようになります:
globals are nice
globals are nice
致命的なエラー: Cannot RedeClare Goodtea () in Util.Inc on Line 4 ) ステートメントの代わりに require () ステートメントを使用すると、上記のエラーは発生しません。 error_require.php と folk.inc の require() ステートメントを require_once() ステートメントに変更し、その名前を error_require_once.php に変更しました。結果は次のようになります:
グローバルは素晴らしいです
これは再び util.inc を必要とします。これは、fool.inc でも
必須です ランニング GoodTea:Olong tea おいしい!
Printing foo:
Array([0] => 1 [1] => Array ([0] =>) ; complex [1] = quaternion))
include_once() ステートメントの構文は include() ステートメントと似ていますが、主な違いは、ファイルを複数回インクルードすることによって生じる関数または変数の定義の繰り返しを避けることです。
require_once ステートメントには参照チェーンがあり、ファイルがプログラムに 1 回だけ追加されることが保証され、変数値と関数名の競合が回避されます。
require_once ステートメントと同様に、include_once ステートメントは include の機能を拡張します。プログラムの実行中に、指定されたファイルがインクルードされます。そのファイルから参照されるプログラムが以前にインクルードされている場合、include_once() はそれを再度インクルードしません。つまり、同じファイルは 1 回しか参照できません。
include_once() ステートメントは、スクリプトの実行中に指定されたファイルをインクルードして実行します。この動作は include() ステートメントに似ていますが、唯一の違いは、ファイル内のコードが既にインクルードされている場合、再度インクルードされないことです。このステートメントの名前が示すように、このステートメントは 1 回だけ含まれます。
include_once() は、スクリプトの実行中に同じファイルが複数回インクルードされる可能性があり、関数の再定義や変数の再割り当てなどの問題を回避するために、ファイルが 1 回だけインクルードされるようにしたい場合に使用する必要があります。
require_once() と include_once() の使用例については、最新の PHP ソース プログラム配布パッケージの PEAR コードを参照してください。
戻り値はinclude()と同じです。ファイルが含まれている場合、この関数は TRUE を返します。
注: include_once() は PHP 4.0.1pl2 で新たに追加されました。
注: 大文字と小文字を区別しないオペレーティング システム (Windows など)
における include_once() および require_once() の動作は予期しない可能性があることに注意してください。
例: Windows では include_once() は大文字と小文字を区別しません
コードをコピーします
コードは次のとおりです:
include_once("a.php") // this .php が含まれます include_once("A.php"); // Windows では、.php が再度含まれます! (PHP 4 のみ)
この動作は PHP 5 で変更されました。が最初に指定されているため、C:PROGRA~1A.php と C:Program Filesa.php の実装は同じであり、ファイルは 1 回だけインクルードされます。
インクルードするファイルが存在しない場合、include は通知を求め、次のステートメントの実行を続行します。require は致命的なエラーを表示して終了します。
win32 プラットフォームでは、これらは最初にインクルードされてから実行されるため、ディレクトリの混乱を引き起こす可能性があるため、インクルードされたファイルに include ステートメントや require ステートメントを含めないことをお勧めします。 Linux では状況が異なる可能性がありますが、まだテストしていません。
ファイルを複数回インクルードしたくない場合は、include_once または require_once## を使用してドキュメント データを読み書きできます。
コードをコピーします コードは次のとおりです:
function r($file_name) { $filenum=@fopen($file_name,"r"); @flock( $filenum,LOCK_SH );
$file_data=@fread($filenum,filesize($file_name));$file_data を返す
}
関数 w($file_name,$data,$method) ="w" ){
$filenum=@fopen($file_name,$method);
$file_data=fwrite($filenum,$data); $file_data を返す
}
上記では、require、include、require_once、および include_once の違いを、関連する側面も含めて紹介しました。PHP チュートリアルに興味のある友人にとって役立つことを願っています。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

PHPはMySQLIおよびPDO拡張機能を使用して、データベース操作とサーバー側のロジック処理で対話し、セッション管理などの関数を介してサーバー側のロジックを処理します。 1)MySQLIまたはPDOを使用してデータベースに接続し、SQLクエリを実行します。 2)セッション管理およびその他の機能を通じて、HTTPリクエストとユーザーステータスを処理します。 3)トランザクションを使用して、データベース操作の原子性を確保します。 4)SQLインジェクションを防ぎ、例外処理とデバッグの閉鎖接続を使用します。 5)インデックスとキャッシュを通じてパフォーマンスを最適化し、読みやすいコードを書き、エラー処理を実行します。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPにより、インタラクティブなWebコンテンツを簡単に作成できます。 1)HTMLを埋め込んでコンテンツを動的に生成し、ユーザー入力またはデータベースデータに基づいてリアルタイムで表示します。 2)プロセスフォームの提出と動的出力を生成して、XSSを防ぐためにHTMLSPECIALCHARSを使用していることを確認します。 3)MySQLを使用してユーザー登録システムを作成し、Password_HashおよびPreprocessingステートメントを使用してセキュリティを強化します。これらの手法を習得すると、Web開発の効率が向上します。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

メモ帳++7.3.1
使いやすく無料のコードエディター

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

WebStorm Mac版
便利なJavaScript開発ツール
