アクア:パル

File operation function module

概要
File operation function module(FOFM)は、PHP言語で書かれたファイル操作を行う命令セットです。
FOFMを用いることで、面倒なファイルの読み書きが一行で行えます。
また、多次元の連想配列をキー名などを維持したまま保存/復元が可能な機能などを備えており、簡単に高度なデータ処理が可能です。
Usage
FOFMの命令セットを使用したいPHPソースの先頭に、以下の一行を追加してください。
require_once("./fofm.php");

※同梱の"ref.html"はリファレンスマニュアルですので、動作には必要ありません。
Download
2006/03/07版
fofm.zip <2KB>
Reference Manual
FOFMでは、以下の命令をサポートします。
  1. fload() - テキスト形式でのファイル読み込み
  2. faload() - 配列形式でのファイル読み込み
  3. fvaload() - 連想配列形式でのファイル読み込み
  4. fxaload() - 多次元連想配列形式でのファイル読み込み
  5. fsave() - テキスト形式でのファイル書き込み
  6. fasave() - 配列形式でのファイル書き込み
  7. fvasave() - 連想配列形式でのファイル書き込み
  8. fxasave() - 多次元連想配列形式でのファイル書き込み
  9. parsexarray() - 多次元連想配列のテキスト化
  10. reparsexarray() - テキストの多次元連想配列化
命令詳細の読み方について:
返り値 string←(1) : 成功した場合、読み込んだデータが返ります。←(2)
faload(←(3)
  file(string←(4)) : ファイルのパス←(5)
  [comment(string)]←(6) : 行頭にある場合にその行を無視するコメント文字
  [skip(off=0/on=1)] : 空行をスキップ
  [cs_out(string)] : 返す文字コード
  [cs_in(string)] : 読み込むファイルの文字コード("auto"または省略で自動判別)
);
(1) 返り値の形式を表します。stringは文字列(数値)、true/falseはboolean、arrayは配列で返されることを意味します。
(2) 戻り値の詳細について解説します。

(3) 命令の名前を定義しています。実際に命令を呼び出す場合に、この命令名を記述してください。
(4) 引数の形式を表します。stringは文字列(数値)、true/falseはboolean、arrayは配列でなければなりません。
(5) 引数の詳細について解説します。

(6) 引数が[]が囲まれている場合は、値の入力が任意(省略可)であることを表します。

fload() - テキスト形式でのファイル読み込み
指定したファイルのデータを読み込みます。
返り値 string : 成功した場合、読み込んだデータが返ります。ファイルが見つからないなどで失敗した場合は、false(boolean)が返ります。
faload(
  file(string) : ファイルのパス
  [comment(string)] : 行頭にある場合にその行を無視するコメント文字
  [skip(off=0/on=1)] : 空行をスキップ
  [cs_out(string)] : 返す文字コード
  [cs_in(string)] : 読み込むファイルの文字コード("auto"または省略で自動判別)
);
例:
echo fload("a.txt"); //読み込んだa.txtの内容を出力
echo fload("b.txt", "", 0, "SJIS"); //不明な文字コードで書かれたテキストファイルをSJISに変換して出力


faload() - 配列形式でのファイル読み込み
指定したファイルのデータを改行ごとに配列で読み込みます。
返り値 array : 成功した場合、読み込んだデータが配列で返ります。ファイルが見つからないなどで失敗した場合は、false(boolean)が返ります。
faload(
  file(string) : ファイルのパス
  [comment(string)] : 行頭にある場合にその行を無視するコメント文字
  [skip(off=0/on=1)] : 空行をスキップ
  [cs_out(string)] : 返す文字コード
  [cs_in(string)] : 読み込むファイルの文字コード("auto"または省略で自動判別)
);
例:
$data = faload("a.txt"); //a.txtを配列で読み込み$dataに代入
print_r($data); //配列$dataを出力


fvaload() - 連想配列形式でのファイル読み込み
fvasave()で書き込んだ連想配列形式のデータを読み込みます。
キー名も同時に読み込まれ、書き込み時と同じ連想配列を再現できます。

*空行や正しくない形式の行は無視されます。
返り値 array : 成功した場合、読み込んだデータの配列が返ります。失敗した場合は、false(boolean)が返ります。
fvaload(
  file(string) : ファイルのパス
  [cs_out(string)] : 返す文字コード
  [cs_in(string)] : 読み込むファイルの文字コード("auto"または省略で自動判別)
);
例:
$data = faload("a.txt"); //a.txtを配列で読み込み$dataに代入
print_r($data); //配列$dataを出力


fxaload() - 多次元連想配列形式でのファイル読み込み
fxasave()で書き込んだ多次元連想配列形式のデータを読み込みます。
キー名も同時に読み込まれ、書き込み時と同じ多次元連想配列を再現できます。

*空行や正しくない形式の行は無視されます。
戻り値 array : 成功した場合、読み込んだファイルのデータが配列で返されます。失敗した場合は、false(boolean)が返ります。
fxaload(
  file(string) : ファイルのパス
  [cs_out(string)] : 返す文字コード
  [cs_in(string)] : 読み込むファイルの文字コード("auto"または省略で自動判別)
);
例:
$data = faload("a.txt"); //a.txtを配列で読み込み$dataに代入
print_r($data); //配列$dataを出力


fsave() - テキスト形式でのファイル書き込み
指定したファイルへのデータ書き込みを行います。
*ファイルが存在しない場合、自動的に生成されます。
返り値 string : 成功した場合、書き込んだデータが返ります。失敗した場合は、false(boolean)が返ります。
fsave(
  file(string) : ファイルのパス
  data(string) : 書き込む文字列
  [mode(normal=0/追記=1/挿入=2)] : 書き込みモード
  [cs_out(string)] : 書き込む文字列を変換する文字コード
  [cs_in(string)] : 書き込む文字列の文字コード("auto"または省略で自動判別)
);
例:
fsave("a.txt", "abc"); //a.txtに"abc"と書き込む
fsave("a.txt", "def", 1); //a.txtに"def"と追記(a.txtの元のデータ+"def")
fsave("a.txt", "def", 2); //a.txtに"def"と挿入("def"+a.txtの元のデータ)

fasave() - 配列形式でのファイル書き込み
*連想配列のキー名は破棄されます。
*多次元配列は正しく処理されません。

返り値 string : 成功した場合、書き込んだ配列をテキスト化した文字列が返ります。失敗した場合は、false(boolean)が返ります。
fasave(
  file(string) : ファイルのパス
  data(array) : 書き込む文字列が代入された配列
  [mode(normal=0/追記=1/挿入=2)] : 書き込みモード
  [cs_out(string)] : 書き込む文字列を変換する文字コード
  [cs_in(string)] : 書き込む文字列の文字コード("auto"または省略で自動判別)
);
例:
$data = array("aa", "bb", "cc"); //配列$dataに値を代入
fasave("a.txt", $data); //配列$dataの内容をa.txtに値ごとを改行で区切って書き込み


fvasave() - 連想配列形式でのファイル書き込み
連想配列をキー名を含ませて書き込みます。fvasave()で書き込んだデータは
fvaload()で連想配列のまま読み込むことができます。

*連想配列のキー名に":"が含まれると正しく動作しません。
*多次元配列を扱う場合はfxasave()を使用してください。

返り値 string : 成功した場合、書き込んだ配列をテキスト化した文字列が返ります。失敗した場合は、false(boolean)が返ります。
fvasave(
  file(string) : ファイルのパス
  data(array) : 書き込む文字列が代入された連想配列
  [mode(normal=0/追記=1/挿入=2)] : 書き込みモード
  [cs_out(string)] : 書き込む文字列を変換する文字コード
  [cs_in(string)] : 書き込む文字列の文字コード("auto"または省略で自動判別)
);
例:
$data = array("aa", "bb", "ccc"); //配列$dataに値を代入
$data["aa"] = "11"; //配列$dataの"aa"に"11"を代入
$data["bb"] = "22"; //配列$dataの"bb"に"22"を代入
$data["cc"] = "33"; //配列$dataの"cc"に"33"を代入
fvasave("a.txt", $data); //配列$dataの内容をa.txtに書き込み


fxasave() - 多次元連想配列形式でのファイル書き込み
多次元連想配列を配列の構造を維持したまま書き込みます。
読み込み時にfxaload()を使うことで、配列構造とデータをそのまま復元できます。

*連想配列のキー名に":"が含まれると正しく動作しません。
*データに":"が含まれる場合は全角に置き換えられます。
*あまりに次元が深すぎるデータの書き込みは推奨されません。

返り値 string : 成功した場合、書き込んだ配列をテキスト化した文字列が返されます。失敗した場合は、false(boolean)が返ります。
fxasave(
  file(string) : ファイルのパス
  data(array) : 書き込む文字列が代入された連想配列
  [mode(normal=0/追記=1/挿入=2)] : 書き込みモード
  [cs_out(string)] : 書き込む文字列を変換する文字コード
  [cs_in(string)] : 書き込む文字列の文字コード("auto"または省略で自動判別)
);
例:
$data = array();
$data["aa"]["a"] = "11"; //多次元連想配列に値を代入
$data["aa"]["b"] = "22";
$data["bb"]["a"]["a"] = "33";
$data["bb"]["a"]["b"] = "33";
fvasave("a.txt", $data); //配列$dataの内容をa.txtに書き込み


parsexarray() - 多次元連想配列のテキスト化
多次元連想配列をネストのない平文テキスト化します。
*内部処理のために用意された命令のため、通常は利用しません。独自のデータ処理を行うなどの、特別な場合に使用してください。
返り値 string : 成功した場合、多次元連想配列をテキスト化した文字列が返ります。失敗した場合は、false(boolean)が返ります。
parsexarray(
  array(array) : テキスト化する多次元連想配列
  [prefix(string)] : 直前の保存キー名
);

reparsexarray() - テキストの多次元連想配列化
parsexarray()でテキスト化した多次元連想配列を復元します。
*内部処理のために用意された命令のため、通常は利用しません。独自のデータ処理を行うなどの、特別な場合に使用してください。
返り値 array : 成功した場合、テキストを多次元連想配列化した配列が返ります。失敗した場合は、false(boolean)が返ります。
reparsexarray(
  data(string) : 多次元連想配列化するテキスト
);

(c) 2006-2007 aqua:pal. All Rights Reserved.