現在のURLやファイル名の取得とリファラーの取得方法

2012-10-24    798   1877

システムを構築中に今現在のURL(自身のURL)やファイル名を取得したいというケースがちょくちょく出てきます。サーバ環境変数に格納されているので取得は簡単です。

<?php
/*
現在のURLが以下だった場合
https://pinkmonky.net/test.php?id=47&cate=5
*/

echo $_SERVER['SERVER_NAME'];
echo $_SERVER['REQUEST_URI'];
echo $_SERVER['PHP_SELF'];
echo $_SERVER["SCRIPT_NAME"];

//表示結果
blog.pinkmonky.net
/test.php?id=47&cate=5
/test.php
/test.php
?>
SERVER_NAMEとREQUEST_URIを使えば現在のURLを完全に取得できます。
<?php
echo 'https://'.$_SERVER["SERVER_NAME"].$_SERVER['REQUEST_URI'];

//表示結果
https://pinkmonky.net/test.php?id=47&cate=5
?>
あと、現在のページはどのページから飛んできたのかというを知りたい場面もよく出てきます。それをリファラーといいます。アクセス解析のシステムでは重宝します。
<?php
echo $_SERVER['HTTP_REFERER'];

//結果
https://pinkmonky.net/test.php?id=47&cate=5
?>
リファラーは他ドメインの場合もあるのでURL全てが取得されます。そして、URLをパース(解析)する関数もあります。
<?php
$url = 'https://pinkmonky.net/test.php?id=47&cate=5';
print_r(parse_url($url));

//表示結果
Array
(
[scheme] => http
[host] => blog.pinkmonky.net
[path] => /test.php
[query] => id=47&cate=5
)
?>

カテゴリ: PHP

comment 登録なしでご自由にご入力いただけます(^^)ぜひぜひ記事のご感想をお聞かせ下さい。

お名前とコメントは入力必須です。

コメントの文字数が短すぎます。

この内容でコメントを送る
コメントをする

目が疲れている方向けにラジオ系Youtubeを始めました

オススメのPHPに関する記事

この記事がお役に立てましたら是非シェアのご協力お願いします。