この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
目次
ユーザーが接続中のページのURLを取得する
PHPでユーザーがアクセスしているページのURLを取得する方法を説明していきます。
PHPが提供するSERVER変数を使って、「URL全て」や「ホスト名」、「URI」、クエリ文字などの取得方法を記述します。自身の用途に応じて必要なものをご使用してください。
URLやパラメータなどの取得方法
まずは一番用途の多いURLの取得方法を記述して、そのあとにスクリプト名、クエリなどの個別の取得方法をご紹介します。
なお今回の出力例は
https://www.t3a.jp/test.php?param1=1¶m2=2
にアクセスしたときの挙動として表示しています。
URLの取得方法
PHPにてURL全体を取得する方法を記載します。
(isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? ‘https://’ : ‘http://’) . $_SERVER[‘HTTP_HOST’] . $_SERVER[‘REQUEST_URI’]
各情報(スクリプト名やクエリ)の取得方法
URLを構成する各情報(スクリプト名やクエリなど)の取得方法を記載します。
説明 | 命令 | 出力例 |
---|---|---|
SSL | $_SERVER[‘HTTPS’] | on |
ホスト名 | $_SERVER[‘HTTP_HOST’] | www.t3a.jp |
ページ名 | $_SERVER[‘REQUEST_URI’] | /test.php?param=1¶m2=2 |
スクリプト名 | $_SERVER[‘SCRIPT_NAME’] | /test.php |
クエリ(パラメータ) | $_GET | array(2) { [“param”]=> string(1) “1” [“param2”]=> string(1) “2” } |
サンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
<?php echo '〇URL' . PHP_EOL; var_dump((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); echo PHP_EOL; echo '〇SSL' . PHP_EOL; var_dump($_SERVER['HTTPS']); echo PHP_EOL; echo '〇ホスト名' . PHP_EOL; var_dump($_SERVER['HTTP_HOST']); echo PHP_EOL; echo '〇URI' . PHP_EOL; var_dump($_SERVER['REQUEST_URI']); echo PHP_EOL; echo '〇スクリプト名' . PHP_EOL; var_dump($_SERVER['SCRIPT_NAME']); echo PHP_EOL; echo '〇パラメータ' . PHP_EOL; var_dump($_GET); echo PHP_EOL; |
サンプルプログラムの出力結果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
〇URL string(44) "https://www.t3a.jp/test.php?param=1¶m2=2" 〇SSL string(2) "on" 〇ホスト名 string(10) "www.t3a.jp" 〇URI string(26) "/test.php?param=1¶m2=2" 〇スクリプト名 string(9) "/test.php" 〇パラメータ array(2) { ["param"]=> string(1) "1" ["param2"]=> string(1) "2" } |
ウェブプログラミングについては下記の本も参考になるので、スキルアップにお役立てください。