PHP超入門 (34)
さて、前回、メモ帳で作ったテキストファイルの内容
を、パソコンの画面に表示する
PHPのプログラムを紹介しました。
----------------------------------------------------------
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\088-1.txt","r");
fpassthru($file);
?>
----------------------------------------------------------
ここで、新しく、
・ファイルを取り扱うということの概念
・関数というものを使用する
という今まで無かったものを使用しています。
ですから。たった2行のプログラムなのですが、今までとは全く違う印象を受
けるのではないかと思います。
前回、プログラムの解説の中で、ファイルを開く、「fopen」関数というもの
は、ファイルがハードディスクのどこにあるのかを指定すると共に、「"r"」
という様式で変数$fileに代入すると説明しましたが、今回は、それについて
の詳しい説明です。
■ファイルをどのような形式で開くか
専門用語的に言うと、「"r"」の部分は、「引数(ひきすう)」と呼びます。
これは、余談ですが、私は、とあるプログラミングの講習会に参加するまでは、
「引数」を「いんすう」と呼ぶものだとばっかり思っていました。
さて、この「fopen」関数の引数「"r"」は、「088-1.txt」というファイルを
読み込み専用で開きますよ、ということを指定しています。
ここで、「読み込み専用とは何か?」また問題となるわけですが、この意味は、
「088-1.txt」は中身を見るだけで、中身の変更とか、内容の追加はできませ
んよ、ということを示しています。
Windowsでいえば、何かエクセルやワードのファイルの「プロパティ」を見る
と、「読み取り専用(R)」というチェックボックスがあって、
そこにチェックを入れるとエクセルやワードのファイルを開いて中身を見るこ
とはできますが、その中身をいじることが出来ません。
引数「"r"」はそれとちょうど同じ事を示しています。
では、「"r"」の他にファイルを開くときのファイルの状態を示す文字?(記
号)はあるのかというと。。。。あります。
後々、それぞれを使うかもしれませんので、ここで一覧にして、まとめてみます。
----------------------------------------------------
引数 意味 ファイルが存在しない場合
----------------------------------------------------
r 読み込み専用 エラー
r+ 読み書き可能 エラー
w 書き込み専用 ファイルを作成
w+ 読み書き可能 ファイルを作成
a 追加書き込み専用 ファイルを作成
a+ 読み込み、追加可能 ファイルを作成
----------------------------------------------------
※「ファイルを作成」とは、新しくハードディスク上に、指定したファイル
名で自動的そのファイルを作成することを意味します。
てな具合にいろいろな種類があります。
ここでは、今ひとつピンと来ないかも知れませんが、後々、それぞれについて
具体的にプログラムを例を示して、その動作を確認したいと思います。
今は、「フ〜ン」と読み流してくだっても結構です。
上のWindowsの場合は非常に簡単な設定だけでしたが、PHPの場合は、その機能
が大きく拡張したものだと言えます。
それは、PHPがサーバー上で動かすことを前提としているため、大勢の人間が、
それぞれの端末からサーバーにアクセスすることから、このような細かい設定
が必要になったのでしょう。
■ファイルの中身を携帯電話で見る。
前回と今回とで、お見せしたように、メモ帳で作成した中身をPHPプログラム
でパソコンの画面に表示させることはできました。
さて、今まで何回か、PHPはHTML文に埋め込み可能なプログラム言語だ、と度
々いってきました。
ここで、埋め込み可能ということはどういうことかというと、HTML文の中に、
PHPのプログラムを同時に書くことが出来るということです。
例えば、今回のプログラムをHTML文と一緒に書いてみると、
----------------------------------------------------------
<html>
<head>
<title>テキストファイルの中身を表示するテスト</title>
</head>
<body>
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\088-1.txt","r");
fpassthru($file);
?>
</body>
</html>
----------------------------------------------------------
このファイルを「089-1.php」という名前で、「C:\inetpub\wwwroot\php」フ
ォルダに保存します。
そして、ブラウザのアドレス欄に「http://localhost/php/089-1.php」と入力
すると、通常のホームページのように、ページのタイトルが入った、ページが
表示されることかと思います。
これが可能ということは、携帯電話でも可能であり、自分のサーバーを持って
いる人は、携帯電話から
http://ドメイン名/php/089-1.php
又は
http://IPアドレス/php/089-1.php
のいずれかのアドレスを入力してみてください。
上記のパソコンで表示された内容と同一のものが携帯電話の画面に表示されま
す。
(図がなくてスミマセン)
さて、次回以降は、上で説明したファイルを開く時の引数の役割を実例を示し
ながらお話したいと思います。