ホーム

スタッフブログ

2015年6月24日

PHP初心者講座その⑥

おはようございます。Aです。

前回に引き続きPHP初心者講座の第6弾。
第5弾では入力内容を配列に格納して、ループを回してみました。
次回はPHPっぽい事をやりましょうって話で終わったところでした。→前回

で。今回は何をするかというと。
ファイルからデータを読み込んだり、ファイルにデータを書き込んだりしてみます。

datファイル作成

下準備として、データを保存するためのファイルを作っておきます。
今回は “test.dat” というファイルを作ってみました。
(*dat…”Data”の略。汎用的な拡張子で、データ保存用って感じ。
メモ帳などのテキストエディタで開けます。)

ファイルの置き場所ですが、今回は分かりやすくphpファイルと同じ階層へ。
今回使用する3.phpと同じ階層にtest.datファイルがあることを確認しましょう。
blog_abe22

では、いよいよ書き込みへ。

PHP関数:file_put_contents

今回は、入力フォームに記述した内容をファイルに書き込んでみます。
フォームに適当に入力して送信ボタンを押すと…
blog_abe23

用意してある”test.dat”に入力内容が保存されていることを確認できます。
blog_abe24

コードとしてはこんな感じ。

blog_abe25

基本的に前回までの内容を踏襲しているのですが、17行目の部分。

“file_put_contents(“test.dat”, $text)”っていうのがありますね。
何か”いかにも”な関数ですけど、これが今回ファイルに書き込んでる関数。
“test.dat”ファイルに “$text” の内容を書き込んでいます。

file_put_contents(“ファイル名”, 書き込む内容, オプション)

がその文法。オプションで”上書き / 追記”の切り替え、排他ロックも出来ます。
今回は追記モード、排他ロックで書き込みたいのでこんな感じに書き換えて…

file_put_contents(“test.dat”, $text, FILE_APPEND | LOCK_EX)

実際に動かしてみると…こんな感じ。ちゃんと動いてますね。
blog_abe26

入力内容の末尾に”\n”を追加してから動かしてみると…
blog_abe29

視認性が良くなりました。”\n”は改行の意味合いで追加しています。

じゃあ次は書き込んだ内容をPHP側で取得してみます。

PHP関数:file_get_contents

書き込む”file_put_contents”に対して”file_get_contents”が用意されています。
ファイルの中身を文字列として読み込んでくれる関数です。
さっそく実際に表示してみます。
blog_abe27

ソースは以下の通りです。
blog_abe28

変更した部分の流れを簡単に説明しますと…
—————————————————————————————————-
ファイルの中身を文字列として読み込んで、内容を変数$getに保存
$get = file_get_contents(“test.dat”);
→末尾の”\n”=改行文字で区切って配列に格納。
$arr = explode(“\n”, $get);
→var_dump($arr)で配列の内容を表示。
—————————————————————————————————-
こんな感じ。

explode(“区切り文字”, 文字列)で、文字列を区切って配列に追加しています。
単に文字列として読み込むだけだと分かりにくいので
今回は改行文字で区切って配列に格納してみました。
配列については第4回で触れましたので、参考にして頂ければと思います。

実はPHPに触れて初めて感動したのがこの辺りの技術でして。
ファイルに保存して、ファイルの中身を読み込んで…の辺り。

こういった技術に触れてから、データベースの必要性を実感し始めます。
記述自体はシンプルなので書いていて楽しいんですけどね。

ではまた次回。

求人バナー

このページの上部へ戻る