PHPの組み込み変数の値

PHPには、下記のような定義済み変数が各種用意されており、様々な情報にアクセスできる。

------------------------------------------------------------------------------

------------------------------------------------------------------------------

 
次のphpプログラムを作成し、実際にこれらの変数に格納された値を列挙してみる。($_SERVERを列挙した例)
 
 
 

■$_SERVER変数の一覧 (CGIの仕様に沿った環境変数値と同じ)

・列挙に使ったphpソース
<html>
<body>
<?php
foreach ($GLOBALS as $key => $v) {
echo $key . ' => ' . $v . "<BR>";
}
?>
</body>
</html>
 
・列挙した結果
MIBDIRS => F:/Program/xampp/php/extras/mibs
MYSQL_HOME => \xampp\mysql\bin
OPENSSL_CONF => F:/Program/xampp/apache/bin/openssl.cnf
PHP_PEAR_SYSCONF_DIR => \xampp\php
PHPRC => \xampp\php
TMP => \xampp\tmp
HTTP_HOST => 127.0.0.1
HTTP_USER_AGENT => Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0
HTTP_ACCEPT => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
HTTP_ACCEPT_LANGUAGE => ja,en-US;q=0.7,en;q=0.3
HTTP_ACCEPT_ENCODING => gzip, deflate
CONTENT_TYPE => application/x-www-form-urlencoded
CONTENT_LENGTH => 7
HTTP_DNT => 1
HTTP_CONNECTION => keep-alive
HTTP_UPGRADE_INSECURE_REQUESTS => 1
HTTP_CACHE_CONTROL => max-age=0
PATH => C:\Windows\system32;C:\Windows; ・・・<省略>
SystemRoot => C:\WINDOWS
COMSPEC => C:\WINDOWS\system32\cmd.exe
PATHEXT => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.RB;.RBW
WINDIR => C:\WINDOWS
SERVER_SIGNATURE =>
Apache/2.4.38 (Win64) OpenSSL/1.1.1a PHP/7.3.2 Server at 127.0.0.1 Port 80

SERVER_SOFTWARE => Apache/2.4.38 (Win64) OpenSSL/1.1.1a PHP/7.3.2
SERVER_NAME => 127.0.0.1
SERVER_ADDR => 127.0.0.1
SERVER_PORT => 80
REMOTE_ADDR => 127.0.0.1
DOCUMENT_ROOT => F:/Program/xampp/htdocs
REQUEST_SCHEME => http
CONTEXT_PREFIX =>
CONTEXT_DOCUMENT_ROOT => F:/Program/xampp/htdocs
SERVER_ADMIN => postmaster@localhost
SCRIPT_FILENAME => F:/Program/xampp/htdocs/test/test.php
REMOTE_PORT => 63925
GATEWAY_INTERFACE => CGI/1.1
SERVER_PROTOCOL => HTTP/1.1
REQUEST_METHOD => POST
REQUEST_URI => /test/test.php
SCRIPT_NAME => /test/test.php
PHP_SELF => /test/test.php
REQUEST_TIME_FLOAT => 1551663337.763
REQUEST_TIME => 1551663337
 
 

■$_GET変数 と $_POST変数 (QUERY_STRINGの取得)

・使用する index.html

f:id:ittokoton:20190304122803p:plain

 
・使用するphpスクリプトは以下。
<html>
<body>
<?php
echo "■GET<br>\n";
foreach ($_GET as $key => $v) {
echo "・$key=>$v<br>\n";
}

echo "■POST<br>\n";
foreach ($_POST as $key => $v) {
echo "・$key=>$v<br>\n";
}
?>
</body>
</html>
 
・実行
index.htmlを表示し、フォームに "val2"と入力し、送信ボタンを押す。

f:id:ittokoton:20190304123108p:plain

 
・実行結果

  f:id:ittokoton:20190304123727p:plain

$_GET変数は、Request LineのQuery String部分が取得できる。
$_POST変数は、Request Bodyの値が取得できる。
 
 
■$_FILES変数 (ファイルのアップロード)
・使用するindex.html
<html>
<body>
<form enctype="multipart/form-data" action="/test/test.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
このファイルをアップロード: <input name="userfile" type="file" />
<br>
<input type="submit" value="ファイルを送信" />
</form>
</body>
</html>
 
・使用するphpスクリプト
<html>
<body>
<?php
$f = $_FILES['userfile'];
foreach ($f as $key => $v) {
echo "・$key=>$v<br>\n";
}
?>
</body>
</html>
 

・実行

参照ボタンを押して、ファイルチューザーが表示されるので、file.txt というファイルを選択したところ。

 f:id:ittokoton:20190304130316p:plain
 
・実行結果

  f:id:ittokoton:20190304130622p:plain

 
 
 

---------------------------------------
 ■ITとことんのトップページ
 ┗■PHPのトップページ
   ┗■本ページ