PHPでファイルなのかディレクトリなのかを確認する方法 †PHPでファイルなのかディレクトリなのかを確認するには以下の関数を使用します。
スポンサーリンク 関連記事 †使用したPHPとテスト環境 †使用したOSは、CentOS 5.8, PHPは5.1.6になります。
ファイルかディレクトリかを確認するサンプルPHPスクリプト †本サンプルPHPスクリプトの動作確認は、コマンドラインから行いました。 <?php mkdir('a'); touch('b'); /* check a */ if (is_file('a')) { echo 'a is file.' . PHP_EOL; } if (is_dir('a')) { echo 'a is directory' . PHP_EOL; } /* check b */ if (is_file('b')) { echo 'b is file.' . PHP_EOL; } if (is_dir('b')) { echo 'b is directory' . PHP_EOL; } rmdir('a'); unlink('b'); ?> 上記のサンプルPHPスクリプトは、aディレクトリ、bファイルを作成しis_file, is_dir関数にてファイルかディレクトリかどうかの確認を行っています。 サンプルPHPスクリプトの実行結果 †サンプルPHPスクリプトの実行結果は以下のようになります。 $ php is_file_dir.php a is directory b is file. file_exist関数と一緒につかう †ファイルが存在しないのに、is_dir, is_fileを使っても意味がないので、以下のようにすればファイルの存在をチェックしファイルかディレクトリかどうかを確認することができます。 <?php mkdir('a'); if (file_exists('a')) { if (is_file('a')) { echo 'a is file.' . PHP_EOL; } elseif(is_dir('a')) { echo 'a is directory.' . PHP_EOL; } elseif(is_link('a')) { echo 'a is link file.' . PHP_EOL; } else { echo 'unknown' . PHP_EOL; } } rmdir('a'); ?> 備考 †シンボリックリンクかどうかは、is_link()関数を使用してください。 スポンサーリンク |