PHP の事前定義変数 $_SERVER は、ヘッダー、パス情報、スクリプトの場所を含む配列です。配列のエンティティは Web サーバーによって作成されます。
$_SERVER 配列を使用すると、URL のフルパスと実際のパスを取得でき、それらを自由に使用できるようになります。
$_SERVER['SERVER_NAME'] // スクリプトが現在実行されているサーバーホストの名前。
$_SERVER[SERVER_PORT'] //ユーザーがサーバーに接続するために使用するポート。
$_SERVER['REQUEST_URI'] //ホスト名を除く、現在実行中のスクリプトのリクエスト URL。
$_SERVER['DOCUMENT_ROOT'] //現在実行中のスクリプトが配置されているドキュメント ルート ディレクトリ。
URL の例: http://www.cndong.cn/Test/Test.php
$_SERVER['SERVER_NAME']: www.cndong.cn
$_SERVER['SERVER_PORT'] : 80www.2cto.com
$_SERVER['REQUEST_URI'] : /Test/Test.php
$_SERVER['DOCUMENT_ROOT'] : /home/var/www/cndong.cn/htdocs
したがって、完全な URL パスは次のようになります: "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']
説明:
1. デフォルトの http ポートは 80 なので、通常、$_SERVER['SERVER_PORT'] には完全な URL パスが含まれません。もちろん、特殊な場合は特別に処理されます。
2. ホスト名を取得するために $_SERVER['REMOTE_HOST'] を使用する人もいますが、その意味は次のとおりです: 現在のページを閲覧しているユーザーのホスト名 (この変数は Web サーバーによって作成される必要があります)。
拡張子:
$_SERVER['REMOTE_HOST'] の null 値の解決策
Apache サーバー設定ファイル httpd.conf の HostnameLookups を On
に変更します。
著者:徐秀軍
http://www.bkjia.com/PHPjc/478162.html