ファイルヘルパー

ファイルヘルパーのファイルは、ファイルを処理するのに役立つ関数で構成されます。

ヘルパーのロード

このヘルパーは次のコードを使ってロードします:

$this->load->helper('file');

利用できる機能

次の関数が利用できます:

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

ファイルとパスを引数に取り、namepathsizedate modified 等の ファイルの属性情報を返却(オプション)します。 第2引数は返却して欲しい情報を明示的に 指定することが可能です。

有効な $returned_values のオプション: namesizedatereadablewriteableexecutablefileperms.

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