関数の概要
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を使ってファイルの種類を把握すると良いでしょう。
