PHP超入門 (37)


今まで、

----------------------------------------------------------
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\xxx.txt","○");

fwrite($file,"あなたの脳年齢は52歳です。")

fclose($file);
?>
----------------------------------------------------------

という短いですが、プログラム例を中心にイロイロなお話をしてきました。


"○"の部分が、"r+"だと、すでにハードディスク上にある何も書いていないテ
キストファイル「xxx.txt」に「あなたの脳年齢は52歳です。」という内容を
書き込みますし、何か書いてある場合には、それにプログラム内で指定してあ
る内容を上書き保存します。

また、逆に、「xxx.txt」というテキストファイルが予めハードディスク上に
ないとエラーとなってしまいます。


"○"の部分が、"w"だと、ハードディスク上に「xxx.txt」というテキストファ
イルがあれば、"r+"の場合と同じように、プログラム内で指定してある内容を
上書き保存しますが、「xxx.txt」というテキストファイルが無かった場合には、
「xxx.txt」というテキストファイルを自動的に作ってくれる上に、プログラ
ム内で指定してある文章を自動的に書き込んでくれます。


"○"の部分が"r"の場合は、上のプログラムとは少々異なり、

----------------------------------------------------------
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\xxx.txt","r");

fpassthru($file);
?>
----------------------------------------------------------

という形となり、テキストファイル「xxx.txt」の内容をパソコンの画面上に
表示します。


以上、説明してきたのはfopen関数の引数(引数)について、今までお話して
きた、それぞれの内容の簡単なまとめですが、そこで今回は、最後の引数であ
る、「a(またはa+)」のお話です。



■ファイルを自動的に作ってくれ、さらに追加書き込みをする引数"a"

いろいろと言葉で説明するよりも、実際の動作で説明する方が早いと思います
ので、申し訳ありませんが、いきなりプログラムから登場させます。


----------------------------------------------------------
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\092-1.txt","a");

fwrite($file,"あなたの脳年齢は52歳です。");

fclose($file);
?>
----------------------------------------------------------


まず、上のプログラムを「092-1.php」というファイル名で、「C:\inetpub\ww
wroot\php」フォルダに保存します。


そして、ブラウザのアドレス欄に、「http://localhost/php/092-1.php」と入
力します。

前回の場合と同じように、ブラウザ上では何も変化はありませんが、


「C:\inetpub\wwwroot\php」フォルダ内を見てみると、「092-1.txt」という
ファイルが自動的に出来ています。


さらに、メモ帳で、その中身を覗いてみると、プログラム中で、記述してある
文章が書き込まれているのが分かると思います。


このように、これまでの部分は、引数が"w"の場合と同じく、「092-1.txt」と
いうファイルがハードディスク上に無ければ自動的にファイルを作ってくれ、
さらに、プログラム中の文章を書き込んでくれます。


引数"w"の場合と異なるのは、次の場合です。

----------------------------------------------------------
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\092-1.txt","a");

fwrite($file,"私の実年齢は25歳です。");

fclose($file);
?>
----------------------------------------------------------

このPHPプログラムを、「092-2.php」というファイル名で、「C:\inetpub\www
root\php」フォルダに保存します。


そして、ブラウザのアドレス欄に、「http://localhost/php/092-2.php」と入
力します。

この場合も、引数"w"の場合と同様、ブラウザの画面上では何も変化はありま
せんが


メモ帳で中身を見てみると、引数"w"の場合と異なり、「092-2.php」の内容が、
上書き保存されているのではなく、「092-1.php」の中の文章の後に追加して
保存されているのが分かります。


これが、引数"w"と"a"の働きの異なる部分です。



■引数"w"と"a"の応用

ここでは、具体的なプログラムの記述はしませんが、引数"w"と"a"の応用とし
て、次のようなことが考えられるでしょう。


引数"w"・・・新しい内容を古い内容に上書きしてテキストファイルを保存す
       るので、その性質を利用したアクセスカウンター

引数"a"・・・新しい内容を古い内容の後に繋げてファイルを保存していくの
       で、その性質を利用した掲示板・ゲストブック等



■引数"a+"について

今までお話してきた、プログラムで使用してきた引数「a」は書き込み専用で
したが、それに読み込みもできる機能をつけたのが、引数「a+」です。

正直言いますと、イロイロ手を尽くして探してもみたのですが、あまり良い例
が見つからず、この程度の説明でご容赦ください。


もし、何かプログラム中で使用する場合には、機能の広い「a+」の方が無難で
はないかと思います。

新しく「パソコン(PC)初心者向け パソコンサポートサービス」を始めました。
詳細は専用サイトを御覧ください。

上記の内容はシリーズとしてメールマガジンで配信しています。

42歳のオヤジでもできた!パソコンサーバー化計画 (マガジンID:0000114576)

メールマガジン登録  メールアドレス:
メールマガジン解除  メールアドレス:

Powered by まぐまぐ

copyright(c) 2002-2007 E&A工房 All rights reserved.