ファイルヘルパー¶
ファイルヘルパーのファイルは、ファイルを処理するのに役立つ関数で構成されます。
利用できる機能¶
次の関数が利用できます:
- read_file($file)¶
パラメータ: - $file (string) – ファイルパス
返り値: ファイルの内容または失敗時は FALSE
返り値の型: string
パスで特定されたファイルのデータを返します。
例:
$string = read_file('./path/to/file.php');
パスは、サーバの相対パスかフルパスで指定します。読み込みに失敗した場合は FALSE(ブール値)を返します。
注釈
パスは、メインの index.php ファイルからの相対パスで, コントローラファイルやビューファイルからの相対パスではありません。 CodeIgniter はフロントコントローラを使用するので、常にサイトのインデックスからの 相対パスになります。
注釈
この関数は廃止予定です。 かわりに file_get_contents() を使ってください。
重要
サーバで open_basedir の制限が有効になっている場合、 呼び出したスクリプト より上の階層にあるファイルにアクセスしようとするとき、このメソッド は動作しないかもしれません。
- write_file($path, $data[, $mode = 'wb'])¶
パラメータ: - $path (string) – ファイルパス
- $data (string) – ファイルに書き込むデータ
- $mode (string) – fopen() モード
返り値: 書き込みに成功した場合は TRUE 、エラーの場合は FALSE
返り値の型: bool
パスで指定されたファイルにデータを書き込みます。 ファイルが存在しない場合には、 このメソッドによってファイルが作成されます。
例:
$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 ユーザガイド をご覧ください。
注釈
パスは、メインの index.php ファイルからの相対パスで、コントローラファイルやビューファイルからの相対パスではありません。 CodeIgniter はフロントコントローラを使用するので、常にサイトのインデックスからの 相対パスになります。
注釈
この関数はファイルへデータを書き込んでいる間排他ロックを取得します。
- delete_files($path[, $del_dir = FALSE[, $htdocs = FALSE]])¶
パラメータ: - $path (string) – ディレクトリパス
- $del_dir (bool) – ディレクトリも合わせて削除するかどうか
- $htdocs (bool) – .htaccess やインデックスファイルの削除をスキップするかどうか
返り値: 成功した場合は TRUE 、失敗した場合は FALSE
返り値の型: bool
パスに含まれるすべてのファイルを削除します。
例:
delete_files('./path/to/directory/');
第2引数を true にセットすると、指定したパスに含まれるいずれの ディレクトリも削除されます。
例:
delete_files('./path/to/directory/', TRUE);
注釈
削除するには、ファイルを書き込み可能にするか、所有者をシステムにしてください。
- get_filenames($source_dir[, $include_path = FALSE])¶
パラメータ: - $source_dir (string) – ディレクトリパス
- $include_path (bool) – ファイルまでのパスを含めるかどうか
返り値: ファイル名の配列
返り値の型: array
サーバパスを入力として、そのパスに含まれる全ファイル名の配列を返します。 オプションで、第2引数を TRUE に設定すると、 ファイルのパスがファイル名に付加されます。
例:
$controllers = get_filenames(APPPATH.'controllers/');
- get_dir_file_info($source_dir, $top_level_only)¶
パラメータ: - $source_dir (string) – ディレクトリパス
- $top_level_only (bool) – 指定されたディレクトリのみを参照するかどうか (サブディレクトリを除外するということ)
返り値: 指定されたディレクトリの情報が含まれた配列
返り値の型: array
指定されたディレクトリを読み、ファイル名、ファイルサイズ、 日付、パーミッションから成る配列を作ります。指定ファイル以下のサブフォルダは、第 2 引数を FALSE に指定した場合のみすべて同様に 読まれます。
例:
$models_info = get_dir_file_info(APPPATH.'models/');
- get_file_info($file[, $returned_values = array('name', 'server_path', 'size', 'date')])¶
パラメータ: - $file (string) – ファイルパス
- $returned_values (array) – 戻り値の情報の形式
返り値: 指定されたファイルの情報が含まれた配列または失敗した場合 FALSE
返り値の型: array
ファイルとパスを引数に取り、name 、 path 、 size や date modified 等の ファイルの属性情報を返却(オプション)します。 第2引数は返却して欲しい情報を明示的に 指定することが可能です。
有効な $returned_values のオプション: name 、 size 、 date 、 readable 、 writeable 、 executable や fileperms.
- get_mime_by_extension($filename)¶
パラメータ: - $filename (string) – ファイル名
返り値: MIME タイプまたは失敗した場合 FALSE
返り値の型: string
config/mimes.php にある設定を元にファイル拡張子を MIMEタイプに変換します。 タイプが分からないときや MIME 設定ファイルが開けなかったときは FALSE を返します。
$file = 'somefile.png'; echo $file.' には以下のmimeタイプがついています '.get_mime_by_extension($file);
注釈
この方法は正確にファイルの MIME タイプを判別するものではなく、 あくまで簡単に取得するためだけのものです。セキュリティ用には 使わないでください。
- symbolic_permissions($perms)¶
パラメータ: - $perms (int) – パーミッション
返り値: シンボリックモードのパーミッション文字列
返り値の型: string
( fileperms() で返ってくるような) 数字のパーミッションを引数として渡すと、 文字列のファイルパーミッションを返します。
echo symbolic_permissions(fileperms('./index.php')); // -rw-r--r--
- octal_permissions($perms)¶
パラメータ: - $perms (int) – パーミッション
返り値: 8進数表記のパーミッション文字列
返り値の型: string
( fileperms() で返ってくるような) 数字のパーミッションを引数として渡すと、 8進数3文字のファイルパーミッションを返します。
echo octal_permissions(fileperms('./index.php')); // 644