いくつかの「is_*」という形式の関数を使うことによって、引数に指定されたファイルの種類を取得できます。「is_*」関数の種類についてはこの例を参照してください。いずれの関数も、該当する種類であればTrue、そうでなければFalseを返します。
実在しないファイルを引数に指定した場合は、すべて返り値はFalseとなり、正確な判定ができません。なお、ファイルが実在するか不明の場合には、事前にfile_exists()関数で確認できます。
<?php header("Content-type: text/html; charset=utf-8"); $path = "images/gihyo.gif"; echo "ディレクトリか? → " . (is_dir($path) ? "Yes" : "No") . "<br>"; echo "ファイルか? → " . (is_file($path) ? "Yes" : "No") . "<br>"; echo "実行形式か? → " . (is_executable($path) ? "Yes" : "No") . "<br>"; echo "読み取り可能か? → " . (is_readable($path) ? "Yes" : "No") . "<br>"; echo "書き込み可能か? → " . (is_writable($path) ? "Yes" : "No") . "<br>"; ?>