realpath_cache_size
rename
ファイルシステム 関数
PHP Manual

# realpath

(PHP 4, PHP 5)

realpath — 絶対パス名を返す

### 説明

string realpath ( string `$path` )

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

### パラメータ

`path`

  調べたいパス。

  > 注意:

  > path の指定は必須ですが、空白や `NULL` を指定することもできます。 その場合はカレントディレクトリを指定したものとみなします。

### 返り値

成功した場合は正規化した絶対パス名を返します。 返されるパスはシンボリックリンクや「/./」「/../」要素を含みません。

realpath() は、 たとえばファイルが存在しないなどの失敗時に `FALSE` を返します。

> 注意:

> 指定した階層にあるすべてのディレクトリに対して、 実行中のスクリプトからの実行権限が必要です。もし権限がなければ realpath() は `FALSE` を返します。

> 注意: PHP の数値型は符号付整数であり、 多くのプラットフォームでは 32 ビットの整数を取るため、 ファイルシステム関数の中には 2GB より大きなファイルについては期待とは違う値を返すものがあります。

### 変更履歴

バージョン | 説明
--- | ---
5.3.0 | これより前のバージョンでは、*BSD システムでは realpath() は最後の `path` コンポーネントのみが存在しない場合には失敗となりませんでした。 このバージョン以降では失敗となります。
5.0.0 | これより前のバージョンでは、`path` に空白や `NULL` を指定すると realpath() はスクリプトディレクトリ名を返していました。

### 例

例1 realpath() の例

`<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd');
?>`

上の例の出力は以下となります。

    /etc/passwd

例2 Windows 上での realpath()

Windows 上で realpath() を実行すると、Unix 形式のパスを Windows 形式に変更します。

`<?php
echo realpath('/windows/system32');
?>`

上の例の出力は以下となります。

    C:\WINDOWS\System32

### 参考

- basename() - パスの最後にある名前の部分を返す
- dirname() - 親ディレクトリのパスを返す
- pathinfo() - ファイルパスに関する情報を返す

realpath_cache_size
rename
ファイルシステム 関数
PHP Manual