PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのis_dir()関数とは?使い方とサンプルコードをわかりやすく解説

PHPのis_dir()関数は、指定したパスがディレクトリ(フォルダ)であるかどうかを判定するための関数です。指定されたパスが実際に存在するディレクトリであれば TRUE を返し、そうでなければ FALSE を返します。

ファイル操作やアップロード処理など、対象がファイルなのかディレクトリなのかを事前に確認したい場面でよく使われる、非常に便利な関数です。

基本構文

is_dir(ファイルパス)

パラメータ

  • file_path(ファイルパス): 判定対象となるファイルまたはディレクトリへのパスを文字列で指定します。相対パスと絶対パスのどちらも使用できます。

戻り値

指定したパスが存在するディレクトリであれば TRUE を返し、存在しない場合やディレクトリ以外(通常のファイルなど)の場合は FALSE を返します。

使用例

以下の例では、変数に格納したパスがディレクトリかどうかを判定し、結果に応じて異なるメッセージを出力しています。

<?php
    $check = "D:/tutorials";
    if (is_dir($check))
    echo ("ディレクトリです!");
    else
    echo ("ディレクトリではありません!");
?>

出力結果

ディレクトリではありません!

補足:注意点と活用のヒント

結果はキャッシュされる

PHPのファイルシステム関連の関数(is_dir() を含む)は、実行結果をキャッシュします。同じスクリプト内でディレクトリを作成・削除した直後に再度判定を行う場合は、clearstatcache() 関数を呼び出してキャッシュをクリアすると、正確な結果を得られます。

相対パスの扱いに注意

相対パスを指定した場合、現在の作業ディレクトリ(カレントディレクトリ)を基準に判定されます。意図しない結果になることを防ぐため、可能であれば __DIR__ 定数などを利用した絶対パスでの指定をおすすめします。

関連する関数

  • is_file():指定したパスが通常のファイルかどうかを判定します。

  • file_exists():ファイル・ディレクトリを問わず、パスが存在するかどうかを判定します。

  • mkdir():新しいディレクトリを作成します。

これらの関数と組み合わせることで、より堅牢なファイルシステム操作を実現できます。

  1. PHPのdirname()関数の使い方を徹底解説!パスからディレクトリ名を取得する方法

    PHPのdirname()関数は、指定されたパスからディレクトリ名(親ディレクトリのパス)を取得するための組み込み関数です。ファイル操作やパス処理を行う際に非常に便利な関数で、パスにスラッシュが含まれていない場合は、カレントディレクトリを示すドット(.)が返されます。 構文 dirname(string $path, int $levels = 1): string パラメータ $path − ディレクトリ名を取得したい対象のファイルパスを指定します。 $levels − (PHP 7以降)さかのぼる親ディレクトリの階層数を指定します。デフォルト値は「1」です。 戻り値 dirname()

  2. PHPのfile_exists()関数の使い方を徹底解説!ファイル・ディレクトリの存在確認

    file_exists()関数は、指定されたファイルまたはディレクトリが存在するかどうかをチェックするためのPHP組み込み関数です。引数には、存在を確認したいファイルまたはディレクトリへのパスを渡します。 file_exists()関数の主な用途 処理を実行する前に、対象のファイルが実際に存在するかどうかを確認したい場合に便利です。 新しいファイルを作成する際に、同名のファイルがすでに存在していないかを事前にチェックできます。 これにより、存在しないファイルを読み込もうとしてエラーが発生するといったトラブルを未然に防ぐことができます。 構文(シンタックス) file_exists($fil