現在開いている・アクセスしているページのURLをPHPで取得したいときがあります。
今回は、現在開いているページ・アクセスしたページの正しい URL をPHPで取得する方法を解説していきます。
目次から探す
現在の URL を PHP で取得する方法
現在の URL を PHP で取得したい場合、少し工夫する必要があります。
現在のURL情報は$_SERVER
に格納されていますが、プロトコル・ホスト名・パスがそれぞれ別々に管理されており、一つのURLにしたい場合はそれぞれのパラメーターを正しく結合しなければなりません。
ただし結合しなければいけないといっても特に覚える必要なく、以下のコードをコピーペーストするだけでオーケーです。
$url = (empty($_SERVER['HTTPS']) ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
少し行数が長いですが、上記コードをコピーすればいいだけなので特に覚える必要はありません。
何度もコピーするのが嫌なら以下のように関数化するといいでしょう。
//アクセスしたページのURLを取得する関数
function get_current_url(){
return (empty($_SERVER['HTTPS']) ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
}
$url = get_current_url();
関数化すれば、何度も長い行をコピーする必要がなくなるのでオススメです。