前回のおさらい
第3回では、ErogameScapeからデータを取得して画面に表示する、ということをしました。
ただ、毎度毎度「”Hello,world.”」と表示させるだけのためにErogameScapeにアクセスするのは、ネットワークアクセス分だけレスポンスが遅いですし、ErogameScapeのDB負荷的にもよろしくありません。
ということで、ファイルに取ってきたデータを保存することを考えます。
まずは書き込み
<?php
$result['gamename']="”Hello,world.”";
$fp=fopen('/home/nog/test.txt','w');
fwrite($fp,$result['gamename']);
fclose($fp);
保存したらコマンドラインから実行します。
[nog@nogjp ~]ls
test.php
[nog@nogjp ~]php ./test.php
”Hello,world.”
[nog@nogjp ~]ls
test.php test.txt
[nog@nogjp ~]cat test.txt
”Hello,world.”[nog@nogjp ~]
こんな感じでデータが保存されます。
書いたモノの解説
保存したいテキスト
$result['gamename']="”Hello,world.”";
前回の続き、ということで”Hello,world.”を設定しましたが、別に何の文字列でもいいです。
ファイルを開く
$fp=fopen('/home/nog/test.txt','w');
ファイルを書き込みモード(w)で開きます。第1引数はファイルパス、第2引数がモードになります。
書き込み
fwrite($fp,$result['gamename']);
ファイルへのデータの書き込みを行います。自動では改行コードも書き込まれませんので、必要に応じて記載する必要があります。
なお、よくあるPHPの参考書では、fputs関数で解説されていることが多いように思いますが、機能差はないので好みで使って下さい
ファイルを閉じる
fclose($fp);
ファイルを閉じます。PHPの場合、プログラムが終わると勝手に閉じてくれますが、複数ファイル扱い出したりすると訳が分からなくなる場合もあるので、なるべくオープンとクローズをセットに書く癖をつけておくとよいかと思います。
まとめ
このプログラムでは、データをファイルに保存することを行いました。
前回のデータをErogameScapeからとってくるプログラムと連結することで、DBからのデータをファイルに保存することが出来ます。
特にオチはなく、次回、ファイルからの読み込みへつづくっ