phpで現在のURLを取得する方法!



phpで現在のURLを取得する方法!

phpでは現在アクセスされているページのURLを取得することができます。また、その方法はいくつか用意されており、今回はその方法をサンプルソースを交え、わかりやすく解説していきます。

目次
  1. phpで現在のURLを取得する
  2. 現在アクセスされているパス
  3. ホスト名
  4. プロトコル (HTTP or HTTPS)
  5. 現在のURLを取得する
  6. まとめ

phpで現在のURLを取得する

現在のURL(自分のurl)を取得するにはスーパーグローバル変数にアクセスする必要があり、基本的には $_SERVER というスーパーグローバル変数にアクセスすることで値を取得することができます。

現在アクセスされているパス

$_SERVER の'REQUEST_URI'にアクセスすることで取得することができます。なお、この方法では、ホスト名は取得することができません。

echo $_SERVER['REQUEST_URI'];

結果

'/index.php'

ホスト名

$_SERVER の'HTTP_HOST'にアクセスすることで取得することができます。

echo $_SERVER['HTTP_HOST'];

結果

'localhost'

プロトコル (HTTP or HTTPS)

$_SERVER の'HTTPS'にアクセスすることで、HTTPでのアクセスかHTTPSでのアクセスなのかを判定することができます。

echo $_SERVER['HTTPS'];

結果

'on'

HTTPSでのアクセスの場合は、$_SERVER['HTTPS']の中には'on'という文字列が入っています。HTTPでのアクセスだった場合は、NULLとなります。 よって、下記のようにプロトコルの判定を行うことができます。

echo (empty($_SERVER['HTTPS']) ? 'http://' : 'https://')

結果

'https://'

現在のURLを取得する

プロトコル + ホスト名 + パス = 現在のURLとなります。下記のように実装することで、URLを取得することができます。

echo (empty($_SERVER['HTTPS']) ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

結果

'http://localhost/index.php'

まとめ

いかがだったでしょうか。phpで現在のURL(自分のurl)を取得する方法について解説しました。URLは、プロトコル + ホスト名 + パス で構成されているので、現在のURLを取得できる関数を1つ定義しておくと便利かもしれませんね。

ベンジャミン吉澤
この記事を書いた人
ベンジャミン吉澤
\ 無料体験開催中!/自分のペースで確実に習得!
オンライン・プログラミングレッスンNo.1のCodeCamp