PHPでは、現在のURLやパス、ファイル名など様々なものが取得できます。
様々なケースで取得する方法を一覧にしてみました。
下記では一意のURLとパスで取得します。
URL:https://xxxxx.com/hoge/index.html?id=1&get=1
パス:/home/www/xxxxx-com/hoge/index.html
現在のプロトコルを取得
if (isset($_SERVER['HTTPS']) AND $_SERVER['HTTPS'] == 'on') { $protocol = 'https://'; }else{ $protocol = 'http://'; } echo $protocol ;
出力:https://
現在のドメインを取得する
echo $_SERVER["HTTP_HOST"];
出力:xxxxx.com
現在のドメイン以下のパスとファイルを取得する
echo $_SERVER["PHP_SELF"];
出力:/hoge/index.html
現在のファイル名を取得する
echo basename($_SERVER["PHP_SELF"]);
出力:index.html
現在のパラメータを取得する
echo $_SERVER["QUERY_STRING"];
出力:id=1&get=1
現在のパラメータなしのURLを取得する
if (isset($_SERVER['HTTPS']) AND $_SERVER['HTTPS'] == 'on') { $protocol = 'https://'; }else{ $protocol = 'http://'; } echo $protocol.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
出力:https://xxxxx.com/hoge/index.html
現在のドメイン以下のパスとファイルとパラメータを取得する
echo $_SERVER["REQUEST_URI"];
出力:/hoge/index.html?id=1&get=1
現在のフルURLを取得
if (isset($_SERVER['HTTPS']) AND $_SERVER['HTTPS'] == 'on') { $protocol = 'https://'; }else{ $protocol = 'http://'; } echo $protocol.$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
出力:https://xxxxx.com/hoge/index.html?id=1&get=1
現在のフルパスとファイル名を取得する
echo __FILE__;
出力:/home/www/xxxxx-com/hoge/index.html
現在のディレクトリを取得する
echo basename(pathinfo(__FILE__)['dirname']);
出力:hoge
コメント