#navi(../)
* PHPでファイルなのかディレクトリなのかを確認する方法 [#u8e0205b]
PHPでファイルなのかディレクトリなのかを確認するには以下の関数を使用します。
- is_dir
- is_file
is_dir, is_fileについての詳細な内容は以下のリンクを参照してください。
- PHP: Manual~
http://php.net/manual/ja/function.is-file.php~
http://www.php.net/manual/ja/function.is-dir.php

#contents
#htmlinsertpcsp(ll-top.html,ll-sp.html)

* 関連記事 [#t546b5d8]
-[[PHPでファイルの存在確認を調べる方法>PHP/サンプル/ファイルの存在確認を調べる方法]]

* 使用したPHPとテスト環境 [#a61b3f08]
使用したOSは、CentOS 5.8, PHPは5.1.6になります。
- OS
 $ lsb_release -idc
 Distributor ID: CentOS
 Description:    CentOS release 5.8 (Final)
 Codename:       Final

- PHP
 $ php -version
 PHP 5.1.6 (cli) (built: May  7 2012 15:03:06) 
 Copyright (c) 1997-2006 The PHP Group
 Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

* ファイルかディレクトリかを確認するサンプルPHPスクリプト [#ac86871d]
本サンプルPHPスクリプトの動作確認は、コマンドラインから行いました。
#ref(is_file_dir.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関数にてファイルかディレクトリかどうかの確認を行っています。~
存在確認後、作成したaディレクトリとbファイルを削除しています。

* サンプルPHPスクリプトの実行結果 [#o30fd874]
サンプルPHPスクリプトの実行結果は以下のようになります。~
ディレクトリかファイルかの判別がされています。
 $ php is_file_dir.php 
 a is directory
 b is file.

* file_exist関数と一緒につかう [#m1fbca74]
ファイルが存在しないのに、is_dir, is_fileを使っても意味がないので、以下のようにすればファイルの存在をチェックしファイルかディレクトリかどうかを確認することができます。
#ref(is_file_dir2.php)

 <?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');
 ?>

* 備考 [#l5eed91c]
シンボリックリンクかどうかは、is_link()関数を使用してください。

#htmlinsertpcsp(ll-btm.html,ll-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS