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 | グローバルスコープで使用可能なすべての変数への参照 |
$_FILESには$_FILES[ 要素名 ][ 情報の項目名 ]の形式で、アップロードされた複数のファイルの情報が連想配列として格納されます。
| 情報の項目名 | 説明 |
|---|---|
| name | ファイル名 |
| type | MIMEタイプ |
| tmp_name | 一時ファイルのパス |
| error | エラーコード |
| size | ファイルサイズ |
| 番号 | コードの定数 | 説明 |
|---|---|---|
| 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の拡張モジュールがファイルのアップロードを中止した |
| 分類 | 連想配列のキー | 説明 |
|---|---|---|
| サーバ情報 | 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 | スクリプトに渡された引数の数 |
| 連想配列のキー | 説明 |
|---|---|
| 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 |