関数・クラス解説

realpath

version:PHP 4, PHP 5, PHP 7 (公式)

正規化された絶対パス名を返す

公式リファレンス

書式

realpath ( string $path ) : string

説明

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

パラメータ

path
調べたいパス。
注意: path の指定は必須ですが、空の文字列を指定することもできます。 その場合はカレントディレクトリを指定したものとみなします。

返値

成功した場合は、正規化された絶対パス名を返します。 返されるパスはシンボリックリンク、/./ および /../ 要素を含みません。 パスの末尾の区切り文字 (\ や / など) は削除されます。 realpath() は、 たとえばファイルが存在しないなどの失敗時に FALSE を返します。

注意: 指定した階層にあるすべてのディレクトリに対して、 実行中のスクリプトからの実行権限が必要です。もし権限がなければ realpath() は FALSE を返します。
注意: 大文字小文字を区別しないファイルシステムの場合は、realpath() が大文字小文字をどちらかにそろえるかもしれないし、そろえないかもしれません。
注意: realpath() 関数は、Phar の内部にあるファイルに対しては機能しません。そのようなパスは、実際のパスではなく仮想パスになるからです。
注意: PHP の数値型は符号付整数であり、 多くのプラットフォームでは 32 ビットの整数を取るため、 ファイルシステム関数の中には 2GB より大きなファイルについては期待とは違う値を返すものがあります。

サンプル

例1 realpath() の例

chdir('/var/www/'); echo realpath('./../../etc/passwd') . PHP_EOL; echo realpath('/tmp/') . PHP_EOL;

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

/etc/passwd /tmp

例2 Windows 上での realpath()

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

echo realpath('/windows/system32'), PHP_EOL; echo realpath('C:\Program Files\\'), PHP_EOL;

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

C:\WINDOWS\System32 C:\Program Files

参考

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


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール