PHPホスト名やスクリプト名、パスなどを取得するには

時々PHPでプログラム書くけど、忘れっぽいのでホスト名や、IPアドレス、スクリプトパスの取得方法をメモしておく

なおテストスクリプトは、次の場所で実行してる
sub.example.com/phptest/src/test.php

テストプログラム

<?php
echo 'サーバのIPアドレス $_SERVER["SERVER_ADDR"]' . "<br>\n" . $_SERVER["SERVER_ADDR"] . "<br>\n<br>\n";
echo 'クライアントのIPアドレス $_SERVER["REMOTE_ADDR"]' . "<br>\n" . $_SERVER["REMOTE_ADDR"] . "<br>\n<br>\n";
echo 'ホスト名 $_SERVER["HTTP_HOST"]' . "<br>\n" . $_SERVER["HTTP_HOST"] . "<br>\n<br>\n";
echo 'スクリプトの絶対パス $_SERVER["SCRIPT_FILENAME"]' . "<br>\n" . $_SERVER["SCRIPT_FILENAME"] . "<br>\n<br>\n";
echo 'スクリプトのパス $_SERVER["SCRIPT_NAME"]' . "<br>\n" . $_SERVER["SCRIPT_NAME"] . "<br>\n<br>\n";
echo 'スクリプトのディレクトリ絶対パス dirname($_SERVER["SCRIPT_FILENAME"]' . "<br>\n" . dirname($_SERVER["SCRIPT_FILENAME"]) . "<br>\n<br>\n";
echo '親ディレクトリのパス dirname($_SERVER["SCRIPT_NAME"])' . "<br>\n" . dirname($_SERVER["SCRIPT_NAME"]) . "<br>\n<br>\n";
echo 'スクリプト名 basename($_SERVER["SCRIPT_FILENAME"])' . "<br>\n" . basename($_SERVER["SCRIPT_FILENAME"]) . "<br>\n<br>\n";

実行結果例

サーバのIPアドレス $_SERVER[“SERVER_ADDR”]
000.000.000.000

クライアントのIPアドレス $_SERVER[“REMOTE_ADDR”]
000.000.000.000

ホスト名 $_SERVER[“HTTP_HOST”]
sub.example.com

スクリプトの絶対パス $_SERVER[“SCRIPT_FILENAME”]
/home/domain/sub.example.com/phptest/src/test.php

スクリプトのパス $_SERVER[“SCRIPT_NAME”]
/phptest/src/test.php

スクリプトのディレクトリ絶対パス dirname($_SERVER[“SCRIPT_FILENAME”]
/home/domain/sub.example.com/phptest/src

親ディレクトリのパス dirname($_SERVER[“SCRIPT_NAME”])
/phptest/src

スクリプト名 basename($_SERVER[“SCRIPT_FILENAME”])
test.php

コメント