PHPのdirname()関数の使い方を徹底解説!パスからディレクトリ名を取得する方法
PHPのdirname()関数は、指定されたパスからディレクトリ名(親ディレクトリのパス)を取得するための組み込み関数です。ファイル操作やパス処理を行う際に非常に便利な関数で、パスにスラッシュが含まれていない場合は、カレントディレクトリを示すドット(.)が返されます。
構文
dirname(string $path, int $levels = 1): string
パラメータ
$path − ディレクトリ名を取得したい対象のファイルパスを指定します。
$levels − (PHP 7以降)さかのぼる親ディレクトリの階層数を指定します。デフォルト値は「1」です。
戻り値
dirname()関数は、指定されたパスからディレクトリ部分のパスを文字列として返します。パスにスラッシュが含まれていない場合は、カレントディレクトリを表す「.」が返されます。
使用例
まず、Windows形式の絶対パスからディレクトリ名を取得する基本的な例を見てみましょう。
<?php $file_path = "D:/amit/java.docx"; $dir_name = dirname($file_path); echo "ディレクトリ名: $dir_name\n"; ?>
出力結果
ディレクトリ名: D:/amit
続いて、UNIX/Linux形式のパスを指定した場合の例です。
使用例
<?php $file_path = "/amit/java.docx"; $dir_name = dirname($file_path); echo "ディレクトリ名: $dir_name\n"; ?>
出力結果
ディレクトリ名: /amit
補足:$levelsパラメータで複数階層をさかのぼる
PHP 7以降では、第2引数の$levelsを利用することで、複数階層上のディレクトリを一度に取得することも可能です。
<?php $file_path = "/var/www/html/project/index.php"; echo dirname($file_path) . "\n"; // /var/www/html/project echo dirname($file_path, 2) . "\n"; // /var/www/html echo dirname($file_path, 3) . "\n"; // /var/www ?>
このように、dirname()関数を使えば、ファイルパスから必要なディレクトリ部分を簡単に抽出でき、設定ファイルの読み込み先指定や相対パスの生成など、さまざまな場面で活用できます。
-
PHPのis_dir()関数とは?使い方とサンプルコードをわかりやすく解説
PHPのis_dir()関数は、指定したパスがディレクトリ(フォルダ)であるかどうかを判定するための関数です。指定されたパスが実際に存在するディレクトリであれば TRUE を返し、そうでなければ FALSE を返します。ファイル操作やアップロード処理など、対象がファイルなのかディレクトリなのかを事前に確認したい場面でよく使われる、非常に便利な関数です。基本構文is_dir(ファイルパス)パラメータfile_path(ファイルパス): 判定対象となるファイルまたはディレクトリへのパスを文字列で指定します。相対パスと絶対パスのどちらも使用できます。戻り値指定したパスが存在するディレクトリであれば
-
PHPのfile_exists()関数の使い方を徹底解説!ファイル・ディレクトリの存在確認
file_exists()関数は、指定されたファイルまたはディレクトリが存在するかどうかをチェックするためのPHP組み込み関数です。引数には、存在を確認したいファイルまたはディレクトリへのパスを渡します。 file_exists()関数の主な用途 処理を実行する前に、対象のファイルが実際に存在するかどうかを確認したい場合に便利です。 新しいファイルを作成する際に、同名のファイルがすでに存在していないかを事前にチェックできます。 これにより、存在しないファイルを読み込もうとしてエラーが発生するといったトラブルを未然に防ぐことができます。 構文(シンタックス) file_exists($fil