ホームページ  >  記事  >  毎日のプログラミング  >  PHPで現在の完全なURLアドレスを取得する方法

PHPで現在の完全なURLアドレスを取得する方法

藏色散人
藏色散人オリジナル
2018-12-08 15:09:0034004ブラウズ

PHP 学習者は、$_SERVER がヘッダー、パス、スクリプトの場所などの情報を含む配列であることを知っているはずです。明らかに、PHP は主に $_SERVER システム変数を使用して、現在のページの完全な URL アドレスを取得します。

PHPで現在の完全なURLアドレスを取得する方法

# PHP で完全な URL を取得する実装方法を具体例を用いて紹介します。

最初に $_SERVER を直接出力します。コード例は次のとおりです。

<?php
echo "<pre class="brush:php;toolbar:false">";
var_dump($_SERVER);

出力結果、いくつかのスクリーンショットは次のとおりです。

PHPで現在の完全なURLアドレスを取得する方法

$_SERVER の出力結果は図のとおり、41 個の要素を含む配列になります。

では、現在の完全な URL を取得するにはどうすればよいでしょうか?つまり、現在のページが HTTP か HTTPS かをどのように判断し、ドメイン名とパスを取得するかということです。

解決策のコードは次のとおりです。

<?php

$uri = $_SERVER[&#39;REQUEST_URI&#39;];
echo $uri;//输出:URI 
echo "<br>";
$protocol = ((!empty($_SERVER[&#39;HTTPS&#39;]) && $_SERVER[&#39;HTTPS&#39;] != &#39;off&#39;) || $_SERVER[&#39;SERVER_PORT&#39;] == 443) ?
    "https://": "http://";
    
$url = $protocol . $_SERVER[&#39;HTTP_HOST&#39;] . $_SERVER[&#39;REQUEST_URI&#39;];
echo $url;//输出完整的url

ここで、 $uri はファイルのパス アドレスを取得すること、つまり REQUEST_URI 添字の値を取得することです。次に、上記の方法を使用して、現在の URL ヘッダーが HTTP または https で始まるかどうかを確認します。最後に、ヘッダー転送プロトコル、ドメイン名、ファイル アドレス パスを含む完全な URL の 3 つの部分を結合します。

結果は次のようになります。

PHPで現在の完全なURLアドレスを取得する方法

図に示すように、現在のページの完全な URL アドレスを取得することに成功しました。

:

'REQUEST_URI'、URIはアクセスするページを指定するために使用されます。

'HTTPS' は、スクリプトが HTTPS プロトコル経由でアクセスされる場合、空ではない値に設定されます。

'SERVER_PORT', Web サーバーによって使用されるポート。デフォルト値は「80」です。 SSL セキュア接続を使用する場合、この値はユーザーが設定した HTTP ポートです。 ($_SERVER['SERVER_PORT'] が 443 に等しい場合は、URL に直接アクセスできることを意味します。8443 に等しい場合は、ポート番号にアクセスする必要があることを意味します。)

'HTTP_HOST'、現在のリクエスト ヘッダー内の Host: 項目の内容 (存在する場合)。

この記事は、PHP で現在の完全な URL アドレスを取得する方法の紹介です。これも非常にシンプルで理解しやすいものです。

以上がPHPで現在の完全なURLアドレスを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。