dirname

(PHP 3, PHP 4, PHP 5)

dirname -- パス中のディレクトリ名の部分を返す

説明

string dirname ( string path )

この関数は、ファイルへのパス名を有する文字列を引数とし、 ディレクトリの名前を返します。

Windows では、スラッシュ(/)とバックスラッシュ (\)の両方がディレクトリ区切り文字として使われます。 その他の環境ではスラッシュ(/)になります。

例 1. dirname()の例

<?php
$path
= "/etc/passwd";
$file = dirname($path); // $file は "/etc" にセットされる
?>

注意: PHP4.0.3以降、dirname()は POSIXに準拠するよう変更されました。 これは原則としてpathにスラッシュが無い場合に カレントディレクトリを示すドット('.')が 返されることを意味します。また、戻り値は path/componentを付けない形で返されます。 これは、古いPHPではdirname()によって 空文字列が返されるような状況において、スラッシュやドットが 返される場合があることを意味します。

dirname() の動作は PHP 4.3.0 で変更されました。 次の例を確認してください:

<?php

// PHP 4.3.0 以前
dirname('c:/'); // '.' を返す

// PHP 4.3.0 以降
dirname('c:/'); // 'c:' を返す

?>

dirname() は PHP 5.0.0 からバイナリセーフになりました。

basename(), pathinfo(), realpath() も参照ください。