変数 (variable)

定数

グローバル定数

define()関数によって定義します。C言語の#defineはキーワードですが、PHPでは関数です。
PHP: define - Manual

define( 'CONSTANT', 256 );

クラス定数

constキーワードによって定義します。

class Foo
{
    const CONSTANT = 256;
}

可変変数

変数を利用して変数を定義することで、動的に変数を使い分けられるようになります。
PHP: 可変変数 - Manual

$a = 'value';

$$a = 256;    // 変数valueが定義され数値が格納される

echo $value;  // 256と表示される

可変変数は配列に対して特に有効です。例えば配列$_POSTの要素を可変変数で処理することで、配列のキーから変数を作成できます。

定義済み定数

定義済み変数

定義済み変数 説明
$_GET HTTP GET変数

(urldecode()で処理されて渡される)

$_POST HTTP POST変数
$_COOKIE HTTPクッキー
$_REQUEST HTTPリクエスト変数 ($_GET、$_POST、$_COOKIEをまとめたもの)
$_SESSION セッション変数
$_FILES HTTPファイルアップロード変数
$_SERVER サーバ情報および実行時の環境情報
$_ENV 環境変数
$php_errormsg 直近のエラーメッセージ
$http_response_header HTTPレスポンスヘッダ
$argc スクリプトに渡された引数の数
$argv スクリプトに渡された引数の配列
$HTTP_RAW_POST_DATA 生のPOST データ
$GLOBALS グローバルスコープで使用可能なすべての変数への参照
PHP: 定義済の変数 - Manual

$_FILES

$_FILESには$_FILES[ 要素名 ][ 情報の項目名 ]の形式で、アップロードされた複数のファイルの情報が連想配列として格納されます。

情報の項目名 説明
name ファイル名
type MIMEタイプ
tmp_name 一時ファイルのパス
error エラーコード
size ファイルサイズ
PHP: $_FILES - Manual
PHP: POST メソッドによるアップロード - Manual
エラーコード
番号 コードの定数 説明
0 UPLOAD_ERR_OK エラーはなく、ファイルアップロードは成功している
1 UPLOAD_ERR_INI_SIZE アップロードされたファイルは、php.iniのupload_max_filesizeディレクティブの値を超えている
2 UPLOAD_ERR_FORM_SIZE アップロードされたファイルは、HTMLフォームで指定されたMAX_FILE_SIZEを超えている
3 UPLOAD_ERR_PARTIAL アップロードされたファイルは、一部のみしかアップロードされていない
4 UPLOAD_ERR_NO_FILE ファイルはアップロードされていない
6 UPLOAD_ERR_NO_TMP_DIR テンポラリフォルダがない
7 UPLOAD_ERR_CANT_WRITE ディスクへの書き込みに失敗した
8 UPLOAD_ERR_EXTENSION PHPの拡張モジュールがファイルのアップロードを中止した
PHP: エラーメッセージの説明 - Manual

$_SERVER

分類 連想配列のキー 説明
サーバ情報 SERVER_ADMIN サーバのSERVER_ADMINに設定されている値
SERVER_ADDR サーバのIPアドレス
SERVER_NAME サーバのホスト名
SERVER_SOFTWARE サーバの認識文字列
SERVER_PORT サーバの通信ポートとして使用されているポート番号
SERVER_SIGNATURE サーバのバージョン名バーチャルホスト名
GATEWAY_INTERFACE サーバが使用しているCGIのバージョン
クライアント情報 REMOTE_ADDR 現在のページにアクセスしているユーザーの、IPアドレス
REMOTE_HOST 現在のページにアクセスしているホスト名
REMOTE_PORT 現在のページにアクセスしているユーザーが、サーバへの通信に使用しているポート番号
スクリプト DOCUMENT_ROOT 実行しているスクリプトが存在するドキュメントルート ディレクトリ
SCRIPT_FILENAME 実行しているスクリプトの絶対パス
SCRIPT_NAME 実行しているスクリプトのパス
PHP_SELF 実行しているスクリプトのファイル名
QUERY_STRING クエリー文字列
リクエスト SERVER_PROTOCOL ページがリクエストされた際のプロトコル名バージョン
REQUEST_METHOD ページがリクエストされた際のメソッド名 (GET、POST、HEADなど)
REQUEST_TIME ページがリクエストされた際の、タイムスタンプ
REQUEST_URI ページにアクセスするために指定されたURI (/index.htm)
リクエスト ヘッダの内容 HTTP_ACCEPT リクエストのAcceptヘッダの内容
HTTP_ACCEPT_CHARSET リクエストのAccept-Charsetヘッダの内容
HTTP_ACCEPT_ENCODING リクエストのAccept-Encodingヘッダの内容
HTTP_ACCEPT_LANGUAGE リクエストのAccept-Languageヘッダの内容
HTTP_CONNECTION リクエストのConnectionヘッダの内容
HTTP_HOST リクエストのHostヘッダの内容
HTTP_REFERER リクエストのRefererヘッダの内容 (リファラ)
HTTP_USER_AGENT リクエストのUser-Agentヘッダの内容 (ユーザーエージェント)
  HTTPS HTTPSプロトコルで実行されているかどうか
  ORIG_SCRIPT_NAME  
ORIG_SCRIPT_FILENAME  
  PATH_INFO  
PATH_TRANSLATED バチルからマッピングされた後の、現スクリのファイルシステム上でのパス
スクリプトの引数 argv スリトに渡された引数の配列
argc スクリプトに渡された引数の数
PHP: $_SERVER - Manual

$_ENV

連想配列のキー 説明
HTTP_ACCEPT  
HTTP_ACCEPT_CHARSET  
HTTP_ACCEPT_ENCODING  
HTTP_ACCEPT_LANGUAGE  
HTTP_CONNECTION  
HTTP_COOKIE  
HTTP_KEEP_ALIVE  
HTTP_USER_AGENT  
REMOTE_ADDR  
REMOTE_PORT  
SCRIPT_FILENAME  
SERVER_NAME  
SERVER_PORT  
GATEWAY_INTERFACE  
SERVER_PROTOCOL  
REQUEST_METHOD  
QUERY_STRING  
REQUEST_URI  
SCRIPT_NAME  
LD_PRELOAD  
PDNET  
PATH  
DOCUMENT_ROOT  
ORIG_SCRIPT_NAME  
ORIG_SCRIPT_FILENAME  
PATH_INFO  
PATH_TRANSLATED  
PHP: $_ENV - Manual