17:05:38TwitterFacebookはてブPocketLINEPHPはWebサイトの画面作成、クライアントサイドの処理実装、サーバーサイドの処理実装、どれをとっても利便性の高い言語です。クライアントとサーバーの間の処理を自由に扱える点も魅力です。その中の簡単な機能の一つが現在アクセスしているページURLの取得です。その他のサーバー変数$_SERVERで現在のURLを取得する$_SERVERではスーパーグローバル変数と呼ばれるもので、ここにアクセスすると現在アクセスのあるURLを取得できます。具体的なコードは以下です。$_SERVER['REQUEST_URI']REQUEST_URIは、$_SERVERの中のURLが存在する場所です。ホスト名を取得したい場合、以下のようにHTTP_HOSTを指定します。$_SERVER['HTTP_HOST']URLを取得したい場合はREQUEST_URIを指定し、ホストを取得したい場合はHTTP_HOSTを指定します。HTTPSの判定ここ数年はGoogleの検索エンジンでもSSL化が重要視されており、HTTPでのアクセスかHTTPSでのアクセスかを判定する機会は増えています。ブログ運営者などは、特にHTTPとHTTPSを意識する機会は多いでしょう。ブログ運営の場合ツールで自動的に判別できるのですが、Webサイト制作においてはコードでも把握しておいた方が良いでしょう。の’HTTPS’にアクセスするだけです。サンプルコードは以下です。$_SERVER['HTTPS'];このコードを実行すると、「on」と出力されます。HTTPSでのアクセスを意味しています。HTTPでアクセスした場合、NULLになります。onとNULLで判別するのではなく、以下のようにあらかじめ出力コードを決めておくことも可能です。'https://')これを実行すると、「’https://’」となります。現在のURLを取得するコードは以下です。$_SERVER['REQUEST_URI'];index.phpという名称のファイルで編集していた場合、出力結果は以下になります。‘http://localhost/index.php’クエリ文字の処理クエリ文字列とは、WebブラウザなどがWebサーバーに送信するデータをURLの末尾に特定の形式で表記したものです。クライアントからサーバーにパラメーターを渡す際に付いている表記になります。具体的には、URLを後ろの方に付いている?の後ろにid等が付いているものです。厳密にはクエリ文字には二種類あり、「パッシブパラメーター」と「アクティブパラメーター」の二種類です。パッシブパラメーターは表示されるコンテンツには影響を与えないクエリ文字で、目的はWebサイトのアクセス解析のみです。パッシブパラメーターを見ることで、ユーザーがどこからWebサイトを訪問したのかわかります。Webサイトを収益化する際に使用します。次にアクティブパラメーターですが、これは表示されるコンテンツにも影響を与えるクエリ文字です。ECサイトの並べ替えやフィルタリングなどの機能がその代表例です。ECサイトを利用したことのある人は多いかと思いますが、もしかするとURLまでは見ていないかもしれません。並べ替えやフィルタリングにアクティブパラメーターが使われていることにピンと来ない方は、ぜひ今度並べ替えやフィルタリングを行ったときのURLをチェックしてみてください。ページ自体は変わっていないにも関わらず、URLの後半部分が変化しているはずです。ページ自体は変わっていないのに、ページの動的な動きに合わせて変化するのがアクティブパラメーターの役割です。クエリ文字の説明が長くなりましたが、このクエリ文字に処理を加えてURLを取得することが可能です。サンプルコードは以下です。'https://').$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];アドレスは適当に記載していますが、このように?id以降があるかないかで変わってきます。http://www.○○.com/url-○○?id=○○http://www.○○.com/url-○○またURL自体は取得せず、クエリ文字のみを取得することも可能です。$_SERVER['QUERY_STRING'];このコードの結果、「id=○○」のようにクエリ文字のみが取得できます。以下のようにクエリ文字を含めたURLを定数に固定することもできます。「$_SERVER[‘REQUEST_URI’]」と「$_SERVER[‘HTTP_HOST’]」を紹介しましたが、これ以外にもサーバー変数はいろいろあります。使用機会があるかもしれないので、有名どころを紹介しておきます。他にも数多いのですべては紹介しませんが、だいたいどのような変数が取得できるのかイメージは付くかと思います。PHPでWebサイトを構築する際には使用することもあるので、きっちり覚えるというよりはざっくり把握しておいてください。