PHP超入門 (42)
さて、今回は、前回の課題であった、「既にテキストファイルの中に、新しい
文章(テキスト)でプログラムを実行すると、上書き保存されてしまう」とい
う問題についてです。
これだと、他の文章(テキスト)を追加したい場合、もとの文章(テキスト)
も含めて、1から入力し直さなければなりません。
これでは、チョット効率が悪いです。
そこで、ここで、他の文章(テキスト)を追加するための新しい文法の登場で
す。
■文章(テキスト)を新しく追加する引数(ひきすう)「a」
今まで、いろいろなことを説明してきましたが、基本となるのは、
----------------------------------------------------------
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\xxx.txt","○");
fwrite($file,"あなたの脳年齢は52歳です。")
fclose($file);
?>
----------------------------------------------------------
という、簡単なプログラムであり、上記2行目の「○」の部分にいろいろな、
引数(ひきすう)を指定して、ハードディスク上に文章(テキストファイル)
(上の例では、「xxx.txt」の部分)を作って、保存していました。
今までは、それらの引数(ひきすう)が、「r」「w」の場合についてイロイ
ロと説明してきました。
ここで、以前にも何度かお話してきましたが、ここで、もう一度、この、引数
(ひきすう)の記号と、それぞれの役割を一覧にまとめてすると、以下のよう
になります。
----------------------------------------------------
引数 意味 ファイルが存在しない場合
----------------------------------------------------
r 読み込み専用 エラー
r+ 読み書き可能 エラー
w 書き込み専用 ファイルを作成
w+ 読み書き可能 ファイルを作成
a 追加書き込み専用 ファイルを作成
a+ 読み込み、追加可能 ファイルを作成
----------------------------------------------------
そして、今回は、最後の引数(ひきすう)となる、「a」についてです。
これを用いることにより、ハードディスク上に保存された文章(テキスト)に、
新しい文章(テキスト)を追加書き込みすることができます。
■早速、実験
まずは、何も無いハードディスク上に、新しい文章(テキスト)を作ります。
上の機能一覧でもあるように、引数(ひきすう)「w」「a」の場合は、新し
い文章(テキスト)ファイルを自動的に生成してくれるので、どちらを使って
もよいのですが、今回は、あなたが、こんがらがるといけないと思い、引数(
ひきすう)「a」を使います。
まずは、以下のphpプログラムを作成し、
----------------------------------------------------------
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\097.txt","a");
fwrite($file,"あなたの脳年齢は52歳です。");
fclose($file);
?>
----------------------------------------------------------
それを「097-1.php」という名前で、「C:\inetpub\wwwroot\php」フォルダに
保存します。
そして、ブラウザのアドレス欄に、「http://localhost/php/097-1.php」と入
力します。
そうすると、画面上では、何も変化は起きませんが、エクスプローラを立ち上
げて、「C:\inetpub\wwwroot\php」フォルダを見てみると、新しく、プログラ
ム中で指定した「097.txt」というファイルが出来ており、
その中身をメモ帳でみると、チャント、「あなたの脳年齢は52歳です。」と書
かれています。
次に、以下のようなPHPプログラムを用意し、
----------------------------------------------------------
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\097.txt","a");
fwrite($file,"あなたの実年齢は25歳です。");
fclose($file);
?>
----------------------------------------------------------
それを、「097-2.php」という名前で、「C:\inetpub\wwwroot\php」フォルダ
に保存します。
早速、ブラウザのアドレス欄に「http://localhost/php/097-2.php」と入力す
ると、先程と同様、画面上では何も変化はありませんし、「C:\inetpub\wwwro
ot\php」フォルダのファイルの種類も変わっていません。
ここで、「097.txt」ファイルの中身を開いて見ると。。。
見事、2番目のプログラム中に書かれている「あなたの実年齢は25歳です。」
が追記されているのが分かると思います。
このように、引数(ひきすう)「a」を使うことにより、引数(ひきすう)「
w」を使ったときは、追記する文章も含めて、最初から入力しなければならな
いのを、追記する文章だけを指定して、すでにハードディスク上にある文章(
テキスト)ファイルに追記書き込みができることが、できるようになりました。
これで、今まで説明した引数(ひきすう)の説明は全て終わることになり、万
歳三唱としたいところですが、自分としては、ちょっとシックリこないという
か、実用面ではナンカ物足りないな〜、というのが正直なところです。
もしかしたら、あなたもそうかもしれません。
そう、今回のPHPプログラミングの話から離れて、普段のパソコンライフを
考えて見ると、ワードなり、エクセルなりで、「追加書き込み」なんてメニュ
ーはありません。
そこが、今回のお話でピンとこないところかもしれません。
話が長くなってしまいますので、これらのことについて、次回以降、考えて見
たいと思います。