このサイトはPHPを独習する際に作成したスクリプトを基に、プログラム言語初心者のための入門講座として作成しました。PHPは初心者に親しみやすく、解りやすいプログラム言語です。これからプログラムを学ぶ人の参考になればと思います。
ファイルに保存
クライアント側の記憶装置がクッキーなら、サーバー側の記憶装置の代表はファイルです。 formで受け取ったデータを、PHPのスクリプトでファイルを作りそこに書きこんでしまおうというわけです。 もちろんフォルダを作ることもできます。書きこんだファイルからデータを読み出し、書き換えたり追加したりとさまざまなことができます。 例えば、掲示板では書込みがあるたびに、このファイルを開き、新しい書込みをファイルの中に記述し、上書き保存しているのです。
ファイルへの書き込み
次のスクリプトは $word に「おいらはプログラマー」を代入し、それを book フォルダの中の memo というファイルに書きこむと言う命令です。ファイルのロックとは同時に2つアクセスがあった場合にファイルが壊れるのを防ぐため、一度に1人だけしか書込みができないようにするためです。
<?php $word = "おいらはプログラマー"; $pointer=fopen("./book/memo", "w"); //ファイルを開きます flock($pointer, LOCK_EX); //ファイルをロックします fputs($pointer, $word); //書込みです flock($pointer, LOCK_UN); //ロックを解除します fclose($pointer); //ファイルを閉じます ?>
・fopen は開くファイルとモードを指定します。モードは次の6種類です。上記の例では w が指定されているので、以前にあるデータは削除され新しいデータが書き込まれます。
r | 読み込みのみでオープンします。 |
r+ | 読み込み/書込み用にオープンします。 |
w | 書込みのみでオープンします。内容をまず削除、ファイルがなければ作成 |
w+ | 読み込み/書込み用でオープンします。内容をまず削除、ファイルがなければ作成 |
a | 追加書込み用のみでオープンします。ファイルがなければ作成 |
a+ | 読み込み/追加書込み用でオープンします。ファイルがなければ作成 |
|
ファイルから読み込み
次は読込みです。上記のプログラムで書きこんだファイルを読み、表示してみましょう。fgets は一行だけを取り出す命令です。モードが読み取りのみの r になっています。複数の行がある場合はもう少し工夫が必要なのですが、それは後ほどやりましょう。
<?php $pointer=fopen("./book/memo", "r"); //ファイルを開きます $line = fgets($pointer); //内容を取り出します echo $line; //画面に内容を表示 fclose($pointer); //ファイルを閉じます ?>
|