[CodeIgniter2] ディレクトリ構成・ファイル確認

公開
更新日

スポンサーリンク

CodeIgniterでディレクトリ構成やファイルの有無を確認する方法のメモです。

CodeIgniterにはファイルヘルパーディレクトリヘルパーが用意されていますので、目的に応じてどちらかを利用するのが良いでしょう。

$this->load->helper('directory');//ディレクトリヘルパーをロード
$map = directory_map('./');//CodeIgniter内の全ディレクトリとファイル名を取得

これでCodeIgniter内の全ディレクトリとファイルが配列で取得されます。

もう少し絞り込んで、ライブラリ内にある特定ユーザーのためのフォルダの存在を確認する場合なら以下のようになります。

$this->load->helper('directory');
$map = directory_map('./application/libraries/users/');

これでlibrariesディレクトリ直下のusersディレクトリ内のファイル一覧が取得できます。

返り値は配列です。ディレクトリの場合はディレクトリ名がキーに、ファイルの場合はファイル名がキー0から順に入っています。

この例で、libraries/users/にuser_id_1.phpが存在するかどうかを確認するなら以下のコードになります。

$this->load->helper('directory');
$map = directory_map('./application/libraries/users/');
if( in_array('user_id_1.php', $map) ){
  //あり
}else{
  //なし
}

サブディレクトリ「sub」が存在するかどうかを調べるなら以下のコードです。

$this->load->helper('directory');
$map = directory_map('./application/libraries/users/');
if( array_key_exists('sub', $map) ){
  //あり
}else{
  //なし
}

存在しないディレクトリを指定するとdirectory_map()falseを返します。

スポンサーリンク


Comment