■■■■■■■■■■■■■■■■■■■■
CGI講座・リプレイ
-第14講- データの読み込み・書き出し
■■■■■■■■■■■■■■■■■■■■
■1、外部データファイルの作成■
CGIではデータファイルを使ってそれを読み込んだり
内容を変更したりすることができる。
これはJavaScriptなどで使われるCookieによく似ているが、
決定的な違いは、Cookieはユーザー側で処理するが
CGIのデータファイルはサーバ側で処理することである。
故にカウンタを作ろうとするならば
この外部ファイルの操作は避けては通れない道なのである。
外部ファイル自体は簡単に作ることができる。
メモ帳などのテキストエディタで
数値や文字列などのデータを書き込み、
保存するときには「ファイル名.dat」とすれば
CGIで使えるデータファイルの出来上がりである。
■2、データの読み込み■
外部ファイルのデータをCGIに読み込むときには
以下のように記述する。
open(ファイルハンドル名,"読み込むファイル名");
$変数名 = <ファイルハンドル名>;
close(ファイルハンドル名);
ここで「ファイルハンドル」なるものが出てくるが、
これは読み込んだファイルの中身を
一時的に保存しておく場所のことである。
大抵の場合はすぐに変数に中身をうつし、
最後にcloseでファイルを閉じて終了する。
このことを踏まえて今回のお手本を見てもらいたい。
読み込むデータファイル(onamae.dat)には
「塚田伊助」と入力されている。
これを変数$namaeに読み込んで表示している。
open(NAME,"onamae.dat");
「NAME」という仮のスペースにデータを読み込む
$変数名 = ;
任意の変数に「NAME」内のデータを移動する
close(NAME);
外部ファイル読み込み操作の終了
■3、データの書き込み■
本講座の最終目標であるカウンタを作成するには
CGIで操作した値を.datファイルに書き込む、
という操作も必要になってくる。
これはデータファイルを開くときに
「書き込み専用」で開く必要があるが、
この操作は至ってシンプルである。
最初にデータファイルを開くときに
「open(ファイルハンドル,"ファイル名")」としていたのを
「open(ファイルハンドル,">ファイル名")」と、
読み込むファイル名の前に>をつけるだけで書き込み専用になる。
ちなみにこのとき、何か内容を変更すると
最初に読み込んだときのデータを破棄して
新しいデータを上書きする。
また、>を>>に変更すると「追加書き込み」になり
最初からあるデータを残したまま、
新しいデータを追加することもできる。
これは掲示板や注文フォームなどで使われている方法である。
次回はこれまでの内容を元にして実際にカウンタを作成する。
最終講につづく
---------------------------------------------------------------------
発行人: 塚田 伊助
発行所: 伊助の鍛錬場 http://isukenet.s20.xrea.com/
連絡先: isuke_tukada@hotmail.com
もどる