Home
PHP
PHPでURLやパラメータを取得する方法

PHPでURLやパラメータを取得する方法

PHPでURLやパラメータを取得する方法

どうも!かけちまるです!

PHPで現在表示中のサイトURLを取得する方法をご紹介します。

URLだけでなくパスやパラメータなど別の値も取得できます。

この記事では、

  • ・PHPでURLの情報を取得する色々な方法

がわかります。

PHPで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

URLの取得

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で取得する方が良さそうですね。

おわり

かけちまる
かけちまる
Webエンジニアをしています。
HTML/CSS/JavaScript/jQuery/PHPができます。
WEB制作を中心に日々学びになったこと、興味が沸いたことについて初心者の方でもわかりやすいようにアウトプットしていくブログです。

関連記事

gsapのstaggerで順番にアニメーションさせる方法

gsapのstaggerで順番にアニメーションさせる方法

【WordPress】PHPテンプレートでショートコードを使う方法

【WordPress】PHPテンプレートでショートコードを使う方法

JSでユーザが使っているブラウザを判定する方法【userAgent】

JSでユーザが使っているブラウザを判定する方法【userAgent】

【CSSのみ】指定行数を超えたテキストを非表示にする方法

【CSSのみ】指定行数を超えたテキストを非表示にする方法

【’関数名’ is not defined】TypeScriptでHTMLイベント属性を使う時の対処法

【’関数名’ is not defined】TypeScriptでHTMLイベント属性を使う時の対処法

記事の目次にカレント表示機能を導入する😤

記事の目次にカレント表示機能を導入する😤