ラボ > PHP:PATHやURL関連

PHP PATHの正規化(realpath())

「/./」「/../」「/」などがついたPATHを絶対パスに変換

作成日:2017-12-27, 更新日:2018-02-14

基本

realpath() は、 入力 path のシンボリックリンクをすべて展開し、 「/./」「/../」「/」などの参照をすべて解決することにより、正規化された絶対パスを返します。

PHP: realpath - Manual

▼xampp環境(C:\xampp\htdocs\recatnap\zebra)で実行したサンプル

結果
echo realpath(__DIR__); C:\xampp\htdocs\recatnap\zebra
echo realpath(DIRECTORY_SEPARATOR); C:\
echo realpath(__DIR__ . DIRECTORY_SEPARATOR); C:\xampp\htdocs\recatnap\zebra
echo realpath("/"); C:\
echo realpath("./"); C:\xampp\htdocs\recatnap\zebra
echo realpath("../"); C:\xampp\htdocs\recatnap
echo realpath("/../"); C:\
echo realpath("../../"); C:\xampp\htdocs
echo realpath(__DIR__ . DIRECTORY_SEPARATOR . "../hole_zebra"); C:\xampp\htdocs\recatnap\hole_zebra
echo realpath("../hole_zebra"); C:\xampp\htdocs\recatnap\hole_zebra