■■■■■■■■■■■■■■■■■■■■ 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
もどる