どうも!かけちまるです!
PHPで現在表示中のサイトURLを取得する方法をご紹介します。
URLだけでなくパスやパラメータなど別の値も取得できます。
この記事では、
がわかります。
PHPの$_SERVER
変数でURLやドメインを取得できます。$_GET
変数を使うとパラメーターの値を取得できます。
この記事では、次のURLから情報を取得することを想定します。
「http://127.0.0.1:5502/index.html?page=2#pagetop」
PHPコピー// ドメイン以下のパスの取得 <?php echo $_SERVER['REQUEST_URI']; ?> // 結果:/index.html?page=2#pagetop
PHPコピー// ドメインの取得 <?php echo $_SERVER['HTTP_HOST']; ?> // 結果:kakechimaru.com
PHPコピー// プロトコルの取得 if(isset($_SERVER['HTTPS'])){ echo 'https'; }else{ echo 'http'; } // 結果:http
PHPコピー// URLの取得 <?php $url = ''; if(isset($_SERVER['HTTPS'])){ $url .= 'https://'; }else{ $url .= 'http://'; } $url .= $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; echo $url; ?> // 結果:http://127.0.0.1:5502/index.html?page=2#pagetop
PHPコピー// パラメーターの取得 $url = 'http://127.0.0.1:5502/index.html?page=2#pagetop'; $parameter = parse_url($url, PHP_URL_QUERY); echo($parameter); // 結果:page=2
PHPコピー// ポート番号の取得 $url = 'http://127.0.0.1:5502/index.html?page=2#pagetop'; $port = parse_url($url, PHP_URL_PORT); echo($port); // 結果:5502
PHPコピー// ホスト名の取得 $url = 'http://127.0.0.1:5502/index.html?page=2#pagetop'; $host = parse_url($url, PHP_URL_HOST); echo($host); // 結果:127.0.0.1
PHPでURLの情報を取得する方法を解説しました。
JavaScriptでもURLの情報を取得でき、かつPHPよりも簡単なのでPHPでURLを取得する必要がなければJavaScriptで取得する方が良さそうですね。
おわり
フィードバックを送信
記事についてのフィードバックはTwitterかお問い合わせフォームから受け付けております。