検索

キーワード


【PHP】URLからサーバー名、パラメーター取得(parse_url)

  • 公開日:2020-10-13 15:12:05
  • 最終更新日:2021-02-05 16:26:10

URL

PHPでは、サーバーや実行環境に関する情報を取得することができます。


$_SERVER

PHPにはスーパーグローバル変数というものがあり、「$_SERVER」変数を使うことで必要な情報を取得できます。

この「$_SERVER」にはサーバーの様々な情報が連想配列として格納されており、インデックスを指定することで情報が確認できます。

今回は、お役立ちBlogのhttps://以下のドメイン名を取得して表示してみます。

var_dump($_SERVER["HTTP_HOST"]);
works.forward-soft.co.jp/blog

HTTP_HOSTでドメイン名を取得することができます。

他にも「$_SERVER」で確認できる情報はたくさんありますので、詳しくは公式ドキュメントを参照ください。


クエリ文字

URLの末尾(?以降)の文字列のことをクエリ文字と呼びます。

例えば、GoogleでPHPという文字列を検索すると以下のようなクエリ文字列になります。

https://www.google.com/search?safe=off&sxsrf=ALeKk036_gZhsYpWWwhm99-teHayKbfG_Q%3A1602146289024&source=hp&ei=8M9-X8aGPIfm-AaF1ZT4Aw&q=PHP&oq=PHP&gs_lcp=CgZwc3ktYWIQAzIECCMQJzIECCMQJzIECCMQJzIECAAQQzIFCAAQsQMyBwgAELEDEEMyBAgAEEMyBAgAEEM6CggAELEDEIMBEAQ6CAgAELEDEIMBUMgKWNgLYNkPaABwAHgAgAGGAYgB1wKSAQMxLjKYAQCgAQGqAQdnd3Mtd2l6&sclient=psy-ab&ved=0ahUKEwjGvruDzKTsAhUHM94KHYUqBT8Q4dUDCAg&uact=5

このsearch以降の文字列がクエリ文字です。

クエリ文字列は、「変数」と「値」からなり、ユーザーの意図・動作などをサーバーに伝える役割を持っています。

変数1=値1&変数2=値2&変数3=値3……


parse_url

parse_url関数は、URLの様々な構成要素のうち特定できるものに関して 連想配列にして返します。

parse_url(対象のURL)

それでは、この記事のURLの構成要素を解析してみましょう。

$url = "https://works.forward-soft.co.jp/blog/detail/10223";
print_r(parse_url($url));
Array
(
    [scheme] => https
    [host] => works.forward-soft.co.jp/blog
    [path] => /detail/10223
)


まとめ

PHPで扱えるURLについてまとめてみました。

$_SERVERなどのグローバル変数は、PHPの開発でとても役に立つので、是非覚えておきましょう!


【著者】

當山

主にPHPでのフレームワーク開発やWebアプリの開発に携わってきました。 得意分野はHTML5とCSSによるフロントエンド開発。

よく読まれている記事