株式会社ジーテック

制御機器を小ロット多品種で設計製作

PHPの変数とファイル化を相互変換

PHPで何か作り込みしていると、ほぼ運用レベルに近くなった時に変数の受け渡しができているか?外部からのJSONの受け渡しはうまくいっているか?などなど、変数の状態を時々残したい時があります。それだけなら単純にfile_put_contentsでいいんですがもう一歩踏み込んで作ったファイルをまた変数にそのまま戻したいという事も稀(いつある?)にあります。
そんなときのちょっとした関数をメモに残します。

昔はfile_put_contentsとfile_get_contentsを使い、ファイルを変数に戻すときは独自に関数を作っていました。なんだかもっといい方法がありそうと思いつつそのままテンプレートとなっていました。
そこで再度調べてみると、serializeを使う方法とやらを見つけましたが、悪用される可能性があるとの事で、さらにjson_encodeを使う方法を見つけました。

サンプルコード

こんな感じです。

//保存先を指定
$file = 'test.txt';

//対象となる変数を用意
$tmp_array_a =
array ('a' => 'apple', 'b' => 'banana',
'c' => array ('x', 'y', 'z'));

//内容を表示して確認
print "json_encodeを使った方法
\r\n"; print "ファイル化前の表示
\r\n"; print_r ($tmp_array_a); print "
\r\n"; //変数内容をファイルに保存 //ファイルに保存した内容を変数に取得 file_put_contents($file, json_encode($tmp_array_a)); //内容を表示して確認 $tmp_array_b = json_decode(file_get_contents($file), TRUE); print "ファイル化後の表示
\r\n"; print_r ($tmp_array_b); print "
\r\n";

©ZEATEC co.,ltd.