dirname

(PHP 4, PHP 5, PHP 7)

dirname親ディレクトリのパスを返す

説明

dirname ( string $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

参考

  • basename() - パスの最後にある名前の部分を返す
  • pathinfo() - ファイルパスに関する情報を返す
  • realpath() - 正規化された絶対パス名を返す