FOFMでは、以下の命令をサポートします。
- fload() - テキスト形式でのファイル読み込み
- faload() - 配列形式でのファイル読み込み
- fvaload() - 連想配列形式でのファイル読み込み
- fxaload() - 多次元連想配列形式でのファイル読み込み
- fsave() - テキスト形式でのファイル書き込み
- fasave() - 配列形式でのファイル書き込み
- fvasave() - 連想配列形式でのファイル書き込み
- fxasave() - 多次元連想配列形式でのファイル書き込み
- parsexarray() - 多次元連想配列のテキスト化
- 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) : 多次元連想配列化するテキスト
); |