Dirnameとは? わかりやすく解説

dirname

(PHP 4, PHP 5)
dirname — パス中のディレクトリ名の部分を返す

説明

string dirname ( string path )
この関数は、ファイルへのパス名を有する文字列を引数とし、 ディレクトリの名前を返します。
Windows では、スラッシュ(/)とバックスラッシュ (\)の両方がディレクトリ区切り文字として使われます。 その他の環境ではスラッシュ(/)になります。
例 588. 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() も参照ください。

dirname

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/02 10:15 UTC 版)

ナビゲーションに移動 検索に移動

dirnameは標準UNIXコンピュータプログラムである。dirnameパス名を与えると、その最後にあるスラッシュ ('/') 文字で始まる接尾辞を削除したものを結果として返す。dirnameSingle UNIX Specificationに記述されており主にシェルスクリプトで使われる。


使い方

dirnameのSingle UNIX Specification仕様によると、以下のようなコマンドである。

dirname string
string
パス

dirnameは後に続くスラッシュを無視することでパス名からディレクトリパス名を抽出する。

$ dirname /home/carpetsmoker/docs/base.wiki
/home/carpetsmoker/docs
$ dirname /home/carpetsmoker/docs/
/home/carpetsmoker
$ dirname base.wiki 
.
$ dirname /
/

パフォーマンス

dirnameは1つのオペランドしか受け入れないので、シェルスクリプトの内部ループ内で使用するとパフォーマンスに有害となる可能性がある。

 while read file; do
     dirname "$file"
 done < some-input

上記の例では入力行ごとにプロセスを呼び出してしまう。このため、通常はシェル置換を代わりに使用する。

 echo "${file%/*}";

また処理を必要とする関連パス名も同様である。

 if [ -n "${file##*/*}" ]; then
     echo "."
 else
     echo "${file%/*}";
 fi

これらの処理は後に続くスラッシュをdirnameとは異なって処理することに注意すること。

関連項目

外部リンク

  • dirname: return the directory portion of a pathname – The Open Group基本仕様書第7号2018年版「シェル及びユーティリティ」



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Dirname」の関連用語

Dirnameのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Dirnameのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2025 by the PHP Documentation Group.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのdirname (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS