(PHP 4, PHP 5, PHP 7)
dirname — 親ディレクトリのパスを返す
$path
[, int $levels
= 1
] ) : string
ファイルあるいはディレクトリへのパスを含む文字列を受け取って、
カレントディレクトリから levels
レベルさかのぼった親ディレクトリのパスを返します。
注意:
dirname() は、入力文字列を単純にそのまま処理します。 実際のファイルシステムを確認したり ".." のようなパスを気にしたりすることはありません。
dirname() はロケールに依存します。 マルチバイト文字を含むパスで正しい結果を得るには、それと一致するロケールを setlocale() で設定しておかなければなりません。
path
パス。
Windows では、スラッシュ(/)とバックスラッシュ (\)の両方がディレクトリ区切り文字として使われます。 その他の環境ではスラッシュ(/)になります。
levels
親ディレクトリをどこまでさかのぼるか。
正の整数でなければいけません。
親ディレクトリのパスを返します。
path
にスラッシュが無い場合は、
カレントディレクトリを示すドット ('.')
を返します。それ以外の場合は、スラッシュ以降の
/component 部分を取り除いた
path
を返します。
バージョン | 説明 |
---|---|
7.0.0 |
オプションのパラメータ levels が追加されました。
|
5.0.0 | dirname() がバイナリセーフとなりました。 |
例1 dirname() の例
<?php
echo dirname("/etc/passwd") . PHP_EOL;
echo dirname("/etc/") . PHP_EOL;
echo dirname(".") . PHP_EOL;
echo dirname("C:\\") . PHP_EOL;
echo dirname("/usr/local/lib", 2);
?>
上の例の出力は、 たとえば以下のようになります。
/etc / (Windows の場合は \) . C:\ /usr