PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPの事前定義された変数


はじめに

すべてのPHPスクリプトは、いくつかの事前定義された変数にアクセスできます。ただし、それらの多くは、Webサーバーソフトウェア、PHPバージョン、およびその他の要因に依存しています。これらの変数の一部は、コマンドラインモードで実行されているスクリプトでは使用できません。 $ GLOBALS変数は、グローバルに使用可能なすべての事前定義変数の参照を格納します。これらの変数のほとんどはphpinfo.phpによって表示されます。ここでは、一般的に使用される事前定義変数のいくつかについて説明します。

$ _ SERVER

これは、HTTPヘッダー、スクリプト、および環境に関する情報を含む配列変数です。以下は、このアレイの著名なメンバーの一部です

PHP_SELF −現在実行中のスクリプトのファイル名を保存します。たとえば、ローカルサーバーのドキュメントルートのテストフォルダにあるスクリプトは、次のようにパスを返します-

<?php
echo $_SERVER['PHP_SELF'];
?>

出力

これにより、http://localhost/test/testscript.php URL

を使用してブラウザに次の出力が表示されます。
/test/testscript.php

SERVER_ADDR −配列のこのプロパティは、現在のスクリプトが実行されているサーバーのIPアドレスを返します。

SERVER_NAME −現在のスクリプトが実行されているサーバーホストの名前。ローカルで実行されているサーバーの場合、 localhost 返されます

QUERY_STRING −クエリ文字列は、キーと値のペアの文字列で、&記号で区切られ、?の後にURLに追加されます。シンボル。例: http:// localhost / testscript?name =xyz&age =20 URLは末尾のクエリ文字列を返します

REQUEST_METHOD − POST、GET、POST、PUT、DELETEなどのURLへのアクセスに使用されるHTTPリクエストメソッド。上記のクエリ文字列の例では、クエリ文字列に添付されたURLは? symbolはGETメソッドでページを要求します

DOCUMENT_ROOT −ドキュメントルートとして設定されているサーバー上のディレクトリの名前を返します。 XAMPP Apacheサーバーでは、ドキュメントルートの名前としてhtdocsを返します

C:/xampp/htdocs

DOCUMENT_ROOT −これは、ページにアクセスしているユーザーエージェント(ブラウザ)を示す文字列です。

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36

REMOTE_ADDR −ユーザーが現在のページを表示しているマシンのIPアドレス。

SERVER_PORT −Webサーバーが着信要求をリッスンしているポート番号。デフォルトは80です

$ _ GET

デフォルトでは、クライアントブラウザはHTTPGETメソッドによってサーバー上のURLの要求を送信します。 URLに添付されたクエリ文字列には、&記号で連結されたキーと値のペアが含まれる場合があります。 $ _GET連想配列は、これらのキーと値のペアを格納します

ブラウザのURLがhttp:// localhost / testscript?name =xyz&age =20であると仮定します

<?php
echo "Name : " . $_GET["name"] . "<br>";
echo "Age : " . $_GET["age"];
?>

出力

これにより、次の結果が生成されます-

Name : xyz
Age : 20

$ _ POST

リクエストでURLEncodedまたはmultipart/form-datacontent-typeを使用するHTTPPOSTメソッドによってURLに渡されるキーと値のペアの連想配列。

データは、以下のようにHTMLフォームtest.htmlでaction =POSTを指定することにより、POSTメソッドを使用してPHPスクリプトに送信されます-

<form action="testscript.php" method="POST">
<input type="text" name="name">
<input type="text" name="age">
<input type ="submit" valaue="submit">
</form>

PHPスクリプトは次のとおりです-

<?php
echo "Name : " . $_POST["name"] . "<br>";
echo "Age : " . $_POST["age"];
?>

出力

これにより、次の結果が生成されます-

Name : xyz
Age : 20

$ _ FILES

この変数は、HTTPPOSTメソッドを介してアップロードされたアイテムを含む連想配列です。ファイルをアップロードするには、enctype属性がmultipart/form-dataに設定されたHTTPPOSTメソッドフォームが必要です。

<form action="testscript.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type ="submit" valaue="submit">
</form>

PHPスクリプトでは、_FILES変数は次のようにアクセスされます-

<?php
print_r($_FILES);
?>

出力

Array ( [file] => Array ( [name] => hello.html [type] => text/html [tmp_name] => C:\xampp\tmp\php9647.tmp [error] => 0 [size] => 56 ) )

$ _ REQUEST

この変数は、$ _ GET、$ _ POST、および$_COOKIEの事前定義された変数の内容を提供する連想配列です。

$ _ SESSION

この変数は、HTTPセッションを表す変数の連想配列です。

$ _ ENV

環境変数の配列は、この事前定義された変数を形成します。これらの変数は、PHPのグローバル名前空間にインポートされます。

$ _ COOKIE

サーバーは、特定のデータをCookieの形式でクライアントのコンピューターに保存できます。これらのCookieは、リクエストが行われるたびに送信されます。 _COOKIE変数は、Cookie変数とその値の連想配列です。


  1. PHPのextract()関数

    extract()関数は、変数を配列から現​​在のシンボルテーブルにインポートします。正常に抽出された変数の数を返します。 構文 extract(arr, rules, prefix) パラメータ 到着 −指定された配列 ルール −無効な変数名の処理方法を指定します。可能な値は次のとおりです- EXTR_OVERWRITE −デフォルト。衝突すると、既存の変数が上書きされます EXTR_SKIP −衝突時に、既存の変数は上書きされません EXTR_PREFIX_SAME −衝突時に、変数名にプレフィックスが付けられます EXTR_PREFIX_

  2. JavaScript変数をPHPに渡す方法は?

    PHPの同じページでJavaScript変数値を簡単に取得できます。次のコードを試してください。 <script> var res = "success"; </script> <?php echo "<script>document.writeln(res);</script>"; ?>