ファイルの種類を判定する - PHP5 プログラミング

PROGRAM


ファイルの種類を判定する

PHP5 には、パスで指定されたファイルの種類を調べる関数が用意されています。

例えば、あるパスが通常のファイルであるかを調べるには次のようにします。

is_file($path)

これで、指定されたパスが存在し、それが通常のファイルである場合に "true" となります。

 

同じように、パスの存在を調べる関数として、次のようなものが用意されています。

file_exists($path) 指定したパスが存在するかを調べます。
is_file($path) 指定したパスが存在し、それが "通常のファイル" であるかを調べます。
is_dir($path) 指定したパスが存在し、それが "ディレクトリー" であるかを調べます。
is_link($path) 指定したパスが存在し、それが "シンボリックリンク" であるかを調べます。
is_readable($path) 指定したパスが存在し、それが "読み取り可能" であるかを調べます。
is_writable($path) 指定したパスが存在し、それが "書き込み可能" であるかを調べます。
is_executable($path) 指定したパスが存在し、それが "実行可能" であるかを調べます。

これらの関数を利用することで、ファイルの種類を判定することができます。

 

ほかにも、次のようにして、そのファイルの種類を意味する文字列を取得することも可能です。

$type = filetype($path);

このようにすることで、$type には、次のような種類を示す文字列を取得することができるようです。

file 通常のファイル
dir ディレクトリー
link シンボリックリンク
fifo 名前付きパイプ
block ブロックデバイス
socket ネットワークソケット
char キャラクタースペシャルデバイス
unknown 不明

なお、取得に失敗した場合には false を返すとのことでした。


[ もどる ]