ファイルヘルパ
ファイルヘルパのファイルは、ファイルを処理するのに役立つ関数で構成されます。
ヘルパのロード
このヘルパは次のコードを使ってロードします:
$this->load->helper('file');
次の関数が利用できます:
read_file('path')
パスで特定されたファイルのデータを返します。例:
$string = read_file('./path/to/file.php');
パスは、サーバの相対パスかフルパスで指定します。読み込みに失敗した場合はFALSE (ブール値)を返します。
Note: パスは、メインの index.php ファイルからの相対パスで、コントローラファイルやビューファイルからの相対パスではありません。 CodeIgniter はフロントコントローラを使用するので、常にサイトのインデックスからの相対パスになります。
サーバで open_basedir の制限が有効になっている場合、呼び出したスクリプトより上の階層にあるファイルにアクセスしようとするとき、このメソッドは動作しないかもしれません。
write_file('path', $data)
パスで指定されたファイルにデータを書き込みます。ファイルが存在しない場合には、このメソッドによってファイルが作成されます。例:
$data = 'Some file data';
if ( ! write_file('./path/to/file.php', $data))
{
echo 'ファイルに書き込めません';
}
else
{
echo 'ファイルが書き込まれました!';
}
第3引数に書き込みモードをオプションで指定できます:
write_file('./path/to/file.php', $data, 'r+');
デフォルトのモードは、wb.です。指定できるモードについては、PHP ユーザガイドをご覧ください。
Note: この関数でファイルにデータを書き込めるようにするには、ファイルのパーミッションを書き込み可能なように (666、777、など)に設定しなければなりません。ファイルがまだ存在しない場合は、保存先のディレクトリが書き込み可能でなければなりません。
Note:パスは、メインの index.php ファイルからの相対パスで、コントローラファイルやビューファイルからの相対パスではありません。 CodeIgniter はフロントコントローラを使用するので、常にサイトのインデックスからの相対パスになります。
delete_files('path')
パスに含まれるすべてのファイルを削除します。例:
delete_files('./path/to/directory/');
第2引数を true にセットすると、指定したパスに含まれるいずれのディレクトリも削除されます。例:
delete_files('./path/to/directory/', TRUE);
Note: 削除するには、ファイルを書き込み可能にするか、所有者をシステムにしてください。
get_filenames('path/to/directory/')
サーバパスを入力として、そのパスに含まれる全ファイル名の配列を返します。オプションで、第2引数をTRUEに設定すると、ファイルのパスがファイル名に付加されます。