(PHP 4, PHP 5)
dirname — 親ディレクトリのパスを返す
ファイルあるいはディレクトリへのパスを含む文字列を受け取って、 親ディレクトリのパスを返します。
パス。
Windows では、スラッシュ(/)とバックスラッシュ (\)の両方がディレクトリ区切り文字として使われます。 その他の環境ではスラッシュ(/)になります。
親ディレクトリのパスを返します。 path にスラッシュが無い場合は、 カレントディレクトリを示すドット ('.') を返します。それ以外の場合は、スラッシュ以降の /component 部分を取り除いた path を返します。
バージョン | 説明 |
---|---|
5.0.0 | dirname() がバイナリセーフとなりました。 |
4.0.3 | dirname() が POSIX 準拠となりました。 |
例1 dirname() の例
<?php
echo "1) " . dirname("/etc/passwd") . PHP_EOL; // 1) /etc
echo "2) " . dirname("/etc/") . PHP_EOL; // 2) / (Windows の場合は \)
echo "3) " . dirname("."); // 3) .
?>
注意:
dirname() は、入力文字列を単純にそのまま処理します。 実際のファイルシステムを確認したり ".." のようなパスを気にしたりすることはありません。
注意:
dirname() はロケールに依存します。 マルチバイト文字を含むパスで正しい結果を得るには、それと一致するロケールを setlocale() で設定しておかなければなりません。
注意:
PHP 4.3.0 以降では、これまでは dirname() が空文字列を返していたような状況で スラッシュやドットを返すことが多くなりました。
以下の例で変更点をご確認ください。
<?php
// PHP 4.3.0 より前のバージョン
dirname('c:/'); // '.' を返します
// PHP 4.3.0 以降のバージョン
dirname('c:/x'); // 'c:\' を返します
dirname('c:/Temp/x'); // 'c:/Temp' を返します
dirname('/x'); // '\' を返します
?>