説明
stringfalse realpath(string $path
)
パラメータ
-
path
-
調べたいパス。
注意:
path の指定は必須ですが、空の文字列を指定することもできます。
その場合はカレントディレクトリを指定したものとみなします。
戻り値
成功した場合は、正規化された絶対パス名を返します。
返されるパスはシンボリックリンク、/./
および /../
要素を含みません。
パスの末尾の区切り文字 (\
や /
など) は削除されます。
realpath は、
たとえばファイルが存在しないなどの失敗時に false
を返します。
注意:
指定した階層にあるすべてのディレクトリに対して、
実行中のスクリプトからの実行権限が必要です。もし権限がなければ
realpath は false
を返します。
注意:
大文字小文字を区別しないファイルシステムの場合は、realpath
が大文字小文字をどちらかにそろえるかもしれないし、そろえないかもしれません。
注意:
realpath 関数は、Phar の内部にあるファイルに対しては機能しません。
そのようなパスは、実際のパスではなく仮想パスになるからです。
注意:
Windows では、ディレクトリへのシンボリックリンクとジャンクションは、ひとつ分しか展開されません。
注意:
PHP の数値型は符号付整数であり、
多くのプラットフォームでは 32 ビットの整数を取るため、
ファイルシステム関数の中には
2GB より大きなファイルについては期待とは違う値を返すものがあります。
例
例1 realpath の例
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd') . PHP_EOL;
echo realpath('/tmp/') . PHP_EOL;
?>
例2 Windows 上での realpath
Windows 上で realpath
を実行すると、Unix 形式のパスを Windows 形式に変更します。
<?php
echo realpath('/windows/system32'), PHP_EOL;
echo realpath('C:\Program Files\\'), PHP_EOL;
?>
C:\WINDOWS\System32
C:\Program Files
参考
- basename
- dirname
- pathinfo