PHP超入門 (33)
今まで、PHPプログラミングの基礎ということで、変数とは何かとか、いろい
ろな構文について具体的なプログラム例を通してお話してきました。
細かい話をいろいろと挙げて説明しても良いのですが、それではきりが無いの
で、ここでひと段落とします。
と、言ってもPHPプログラミングの話を終わりにするのではなく、同じPHPプロ
グラミングの話でも、これからは、少々レベルを上げた内容にしたいと考えて
います。
関数などという、チョット難しい話も出てきますが、そい身構えずに気楽に見
てみてください。
■ハードディスクにデータを保存する、またはデータ保存してあるデータを表
示する
今までのお話は、キーボードから、何かデータを入力して、それを画面に表示
してきました。
早い話が、それで終わりです。
PHPプログラムで処理された結果を見たければ、もう一度同じことをキーボー
ドから入力して、PHPプログラムに処理をお願いしなければなりません。
もし、プログラム処理されたデータをハードディスクに保存して、それを呼び
出すように出来れば、グッと手間も省けますし、PHPプログラミングの世界も
広がることでしょう。
そこで、今回から暫くの間、キーボードから入力されたデータをハードディス
クに保存したり、ハードディスクに保存してあるデータを画面に表示する方法
についてお話しようかと思います。
■ファイルを「開く」、「閉じる」
ハードディスクの中に保存されているデータは、その形式に関係なく、「ファ
イル」という形で保存されています。
例えて言えば、エクセルで作成されたものであれば、エクセル形式の「ファイ
ル」、ワードで作成されたものであれば、ワード形式の「ファイル」、という
感じになります。
これから、多分頻繁に、ファイルを「開く」、「閉じる」という単語が出てく
ると思いますが、これは、イメージとして、例えばエクセルを立ち上げて、メ
ニューにある「ファイル(F)−開く(O)」、「ファイル(F)−閉じる(C)」という
操作がありますが、これと全く同じものだと考えてくださって結構です。
すなわち、エクセル自体がPHPにあたり、PHP上で、いろいろなファイルを開け
たり、閉じたりする訳です。
ただ、PHPはプログラミング言語ですので、エクセルやワードのように、マウ
ス操作で簡単にファイルを開いたり閉じたり、ということはできず、いろいろ
な決まりごとに沿って、ファイルを開けたり閉じたりする操作の定義をキーボ
ードから入力しなければならないところが難点です。
では、お話ばかりもナンですので、早速ですが、まず最初に、ハードディスク
上にある、簡単なファイルを開くことから初めてみたいと思います。
■テキストファイルを開く
まず、始めに、一番簡単な、メモ帳で作ったテキストファイルを用意して、そ
れをPHPプログラムで開いて、画面に表示するプログラムを考えてみたいと思
います。
まずは、表示するもとのテキストファイルの準備です。
あくまでも、例ですので、何でもよいのですが、ここは簡単に、
「あなたの脳年齢は52歳です。」
という一行のテキストファイルをメモ帳で作成し
「088-1.txt」の名前で、「C:\inetpub\wwwroot\php」フォルダに保存します。
次に、この保存されたテキストファイルを開いて、表示する方のPHPプログラ
ムです。
----------------------------------------------------------
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\088-1.txt","r");
fpassthru($file);
?>
----------------------------------------------------------
これを、「088-1.php」のファイル名で、「C:\inetpub\wwwroot\php」フォル
ダに保存します。
次に、ブラウザのアドレス欄に、「http://localhost/php/081-1.php」と入力
して、上で保存したメモ帳で作った内容が表示されれば成功です。
■プログラムの解説
たった2行のプログラムですが、今までのPHPプログラムと全く様相が違うこ
とに気が付くかと思います。
その原因は、ファイルを扱うときは「関数」というものを多用するためです。
関数といっても、PHPに特殊なものではなく、よくある関数電卓の関数と同じ
感じです。
ただ、関数電卓と違うところは、キーを叩くのではなく、関数名を指定して、
それに合った書き方をキーボードから入力しなければなりません。
一般的には、「XXX」という名前の関数があれば、
$hensuu = XXX(処理する内容)
と書くことが出来、関数「XXX」で処理された内容を、変数「$hensuu」に
代入する、というように解釈します。
今後、いろいろな関数が出てくると思いますので、PHPでの関数というものに、
徐々に馴れていってください。
そんな訳で、一行目は、「fopen(ファイルオープン)」関数を用いています。
fopen関数
----------------------------------------------------
fopen("開くファイルのデスクトップからの場所","引数")
----------------------------------------------------
となり、上で作成した「088-1.txt」の内容を、変数「$file」という変数に代
入しています。
また、その代入の際には、引数で指定してある「r」という様式で代入するこ
とを指定しています。
そして、次に、「fpassthru(ファイルパススルー)」関数で、変数「$file」
に代入された「088-1.txt」の内容を画面に表示します。
fpassthru関数
-------------------------------------------------------------
fpassthru(指定された様式で、ファイルの内容が代入された変数)
-------------------------------------------------------------
以上ですが、ここで3点ほど。。。
・Windows上では、フォルダの区切りを「C:\inetpub\wwwroot\php」という具
合に「¥」1個だけですが、PHPプログラムでは「¥¥」と2個使うことに
注意してください。
・解説の中でサラッと書いた、「引数で指定してある「r」という様式で代入
する」とはどういう意味でしょうか?
これについては次号で説明したいと思います。
・今回はPHPのプログラムだけでしたが、PHPはHTML文書に埋め込む事ができる
プログラム言語ですので、例えば、今回の内容をサーバーに保存して、遠隔
地から携帯電話で見ることが可能です。
これについても、次号以降に説明する予定です。