is_dir

関数の概要

PHPの is_dir 関数は、指定したパスが存在し、かつそれがディレクトリであるかどうかを調べるための関数です。ファイル操作の際に、対象がフォルダなのかファイルなのかを区別したい場合に役立ちます。

パラメータの説明

  • string $filename — チェックしたいパスを表す文字列です。ローカルの絶対パスや相対パスを指定できます。

戻り値

is_dir は、引数のパスが存在していて、そのパスがディレクトリの場合に true を返します。そうでなければ false を返します。

使用例

基本的な使い方

<?php
$path = 'example_directory';
if (is_dir($path)) {
    echo "{$path} はディレクトリです。";
} else {
    echo "{$path} はディレクトリではありません。";
}
?>

指定した文字列がディレクトリかどうかを判定し、その結果に応じてメッセージを出力しています。

ファイルかディレクトリかを判別する

<?php
$path = 'test_path';

if (is_dir($path)) {
    echo "{$path} はディレクトリです。";
} elseif (is_file($path)) {
    echo "{$path} はファイルです。";
} else {
    echo "{$path} は存在しません。";
}
?>

is_dir と合わせて is_file を使うことで、対象がファイルかディレクトリか、さらには存在しない場合の処理を簡単に分けられます。

スクリプト内でディレクトリの存在確認と作成

<?php
$dir = './uploads';

if (!is_dir($dir)) {
    mkdir($dir, 0755, true);
    echo "ディレクトリ {$dir} を作成しました。";
} else {
    echo "ディレクトリ {$dir} はすでに存在します。";
}
?>

アップロード先のフォルダなどが存在しない場合に、自動的にディレクトリを作成する用途です。is_dir で存在をチェックし、なければ mkdir で作成しています。

関連する関数

  • is_file — パスがファイルかどうか判定する
  • file_exists — ファイルまたはディレクトリが存在するか確認する
  • mkdir — 新しいディレクトリを作成する
  • rmdir — 空のディレクトリを削除する

まとめ

PHPの is_dir 関数は、指定したパスがディレクトリかどうかを簡単に確認できる便利な関数です。ファイル操作やフォルダ管理、存在チェックと組み合わせて使うことで、安全なファイルシステム操作が可能になります。初心者の方でも扱いやすく、実務においても頻繁に利用される基本的な関数です。