PHPでURLを取得する

PHPで現在のURLを取得してみます。

サンプルコード

PHP(URL取得部分)

<?php
// プロトコル
$protocol = empty($_SERVER["HTTPS"]) ? 'http://' : 'https://'; // http://
// ホスト
$host = $_SERVER['HTTP_HOST']; // cly7796.net
// パス(パラメータを含む)
$path = $_SERVER['REQUEST_URI']; // /wp/sample/get-the-url-in-php/index.php?param=abc
// パス2(パラメータを含まない)
$path2 = $_SERVER['SCRIPT_NAME']; // /wp/sample/get-the-url-in-php/index.php
// パラメータ
$param = $_SERVER['QUERY_STRING']; // param=abc
// URL全体
$URL = $protocol . $host . $path; // https://cly7796.net/blog/sample/get-the-url-in-php/index.php?param=abc
?>

PHP(表示部分)

<dl>
	<dt>URLのプロトコル部分:</dt>
	<dd><?php echo $protocol; ?></dd>
</dl>
<dl>
	<dt>URLのホスト情報:</dt>
	<dd><?php echo $host; ?></dd>
</dl>
<dl>
	<dt>URLのパス(パラメータを含む):</dt>
	<dd><?php echo $path; ?></dd>
</dl>
<dl>
	<dt>URLのパス2(パラメータを含まない):</dt>
	<dd><?php echo $path2; ?></dd>
</dl>
<dl>
	<dt>URLのパラメータ:</dt>
	<dd><?php echo $param; ?></dd>
</dl>
<dl>
	<dt>URL全体を取得:</dt>
	<dd><?php echo $URL; ?></dd>
</dl>
$_SERVER[‘HTTPS‘] プロトコル部分がhttpの場合は空が、httpsの場合は空でない値が返ってくる。
$_SERVER[‘HTTP_HOST‘] ホスト情報が返ってくる。
$_SERVER[‘REQUEST_URI‘] ドメイン以下のパラメータを含むパスが返ってくる。
ハッシュ以下は含まれない。
$_SERVER[‘SCRIPT_NAME‘] ドメイン以下のパラメータを含まないパスが返ってくる。
ハッシュ以下は含まれない。
$_SERVER[‘QUERY_STRING‘] パラメータが返ってくる。

ハッシュは取得できないみたいです。

PHPでURLを取得するデモページ

 

【参考サイト】

 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年11月
 12
3456789
10111213141516
17181920212223
24252627282930