filetype

関数の概要

PHPのfiletype関数は、指定したファイルの種類(タイプ)を取得するための関数です。ファイルが通常のファイル、ディレクトリ、シンボリックリンクなど、どの種類に分類されるかを調べたい場合に便利です。これにより、ファイル操作を行う際に適切な処理を選択することができます。

パラメータの説明

  • filename(文字列):ファイルタイプを調べたいファイルのパスを指定します。絶対パスでも相対パスでも構いません。

戻り値

指定したファイルのタイプを表す文字列を返します。主な戻り値は以下の通りです。

  • fifo:FIFOパイプ
  • char:キャラクターデバイスファイル
  • dir:ディレクトリ
  • block:ブロックデバイスファイル
  • link:シンボリックリンク
  • file:通常のファイル
  • socket:ソケット
  • unknown:不明なファイルタイプ

ファイルが存在しない場合は false を返します。

使用例

基本的な使い方

$type = filetype('example.txt');
echo $type; // 通常のファイルなら "file" が表示されます

ここでは、’example.txt’ のファイルタイプを調べて表示しています。通常のテキストファイルなら “file” が返されます。

ディレクトリかどうかの判定

$path = 'myfolder';
if (filetype($path) === 'dir') {
    echo "$path はディレクトリです。";
} else {
    echo "$path はディレクトリではありません。";
}

パスがディレクトリかどうかを確認し、結果に応じてメッセージを表示しています。

複数のファイルタイプをまとめて確認

$files = ['file.txt', 'link.lnk', 'folder'];
foreach ($files as $file) {
    $type = filetype($file);
    echo "$file のタイプは $type です。<br>";
}

配列に複数のパスを用意し、それぞれのファイルタイプをまとめて取得して表示しています。

関連する関数

  • is_file():指定したパスが通常のファイルかどうかを調べる
  • is_dir():指定したパスがディレクトリかどうかを調べる
  • mime_content_type():ファイルのMIMEタイプを調べる
  • stat():ファイルの詳細情報を取得する

まとめ

filetype関数は、ファイルの種類を調べるシンプルで便利な関数です。ファイルのタイプによって処理を変えたい場合や、ファイルの状態をチェックしたい場合に役立ちます。実務でもファイル操作を行う際に、安全かつ正確な判断材料として活用できます。これからPHPでのファイル操作を行う際は、まずfiletypeを使ってファイルの種類を把握すると良いでしょう。