2
2

More than 1 year has passed since last update.

PHP7技術者認定初級試験に出る$_SERVER配列

Posted at

PHPの$_SERVER配列をPHP7初級に出る値だけでまとめました
※$_SERVER内のkey=>value多い!全部覚えてられない!

$_SERVER配列とは連想配列で、サーバー変数と呼ばれています
$_SERVER['key']でvalueが出ます

では早速はじめてのPHP(オライリー本)で出現するサーバー変数を見て行きます
これに載ってないのは出ないハズ

1.$_SERVER['PHP_SELF']

オライリー様曰く、
「現在のリクエストURLのパス名を保持します」
らしい
つまり
http://うんたら.com/あーでも/こーでも.php
というURLにアクセスする場合、
$_SERVER['PHP_SELF']は
/あーでも/こーでも.phpになる
サイトによっては現在実行しているURLのパス名部分と書いてあったりする
パス名が欲しいなら$_SERVER['SCRIPT_NAME']が推薦されているらしい※テストに出るかは不明

2.$_SERVER['REQUEST_METHOD']

オライリー様が仰るには
「Webブラウザが現在のページのリクエストに使ったHTTPメソッド」
らしいGETとかPOSTとかPUTとか
値はかならず大文字で返って来る

3.$_SERVER['QUERY_STRING']

そのままクエリを返す
クエリとはURLで言うと?以降の事
ここで表示するモノを変更できるとかの部分
youtubeのURLとか見るとわかりやすいかも
https://www.youtube.com/watch?v=-7Emqf81ros
だったらv=-7Emqf81rosの分が入ってる※ビデオID

4.$_SERVER['PATH_INFO']

最下層のパス情報
↑みたいにクエリを使わずに最下層のパスを知りたい時に使う
http://うんたら.com/あーでも/こーでも.php なら
/こーでも.phpが入ってる

5.$_SERVER['SERVER_NAME']

スクリプトが実行されているサーバーのホスト名

基本うんたら.jpとかなんたら.comが入ってるっぽい

仮想なら仮想ドメインが入ってる※上の.comとかもドメインです

6.$_SERVER['DOCUMENT_ROOT']

webサーバ上のディレクトリが入る
aaa.comならusr/local/htdocsとかがドキュメントルートになってたりする
この/の方が値として入ってる
僕等が編集してる側のディレクトリが入ってるイメージでいいのかな?

7.$_SERVER['REMOTE_ADDR']

webサーバーにリクエストを行ったユーザのIP
例:172.22.33.12 みたいな
これなんかテストに出るイメージ

8.$_SERVER['REMOTE_HOST']

webサーバー上でユーザーのIPをホスト名に変換することができるらしく、
変更した場合はREMOTE_HOSTにユーザのホスト名が入る
処理に時間がかかるらしく、殆どのwebサーバーでは変換しないでipのまんまらしい
つまりREMOTE_ADDRがメインで使われる

9.$_SERVER['HTTP_REFERER']

ページに来る前にユーザが閲覧していたサイトのURLが入っている
がしかし。。。簡単に偽装できるらしく信頼性は低い

10.$_SERVER['HTTP_USER_AGENT']

webブラウザの名前が入ってる
クロームとかIE()とか
これも偽装できるらしいけど普通のユーザは偽装しないし統計には役立つやんってオライリー様が言ってました

とりあえずこんな感じです
試験勉強ついでにPHP7技術者認定初級試験に特化した$_SERVERについてまとめてみました
明後日試験なので手遅れかもしれませんね!
※模擬試験では1問足らず落ちました(ケアレスミス多々あり)

明日余裕があればクッキーとセッションについてもまとめてみます
ではでは

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2