携帯からHP更新2
「携帯からHP更新1」のスクリプト、CGIプログラムを公開します。
実際に稼動しているのは、拙者「柳寿司HP」の本日のおすすめが下図のおすすめ.htmlになります。(Html、HTMLは*.htm or *.htmlファイル全般を指します)

処理図
何するの?
※青下線のおすすめHTMLは現実に稼動しているので、下記の表示とは違います。
飲食店などが、HPでアナウンスしたいときはホームページ更新して、FTPソフトでアップロードしますが、パソコンが無いとできません。携帯でも、iモードで、ホームページ内に掲示板を設置しておけば可能ですが、表示方法などが限られます。そこで、拙者はおすすめファイルを読み込み、そのおすすめ品をチェックすれば、その品名のおすすめHTMLが作成されるCGiスクリプトを考えました。
実際の操作を説明します。
おすすめの入力手順

図1
この魚(品名)のチェックボックスをチェックして品名を選択する。(図1)
例えば、活あじ、活やりいか、あわびをチェックして、UpDateボタンをクリックすると、(図2)が表示される。
再度、入力し直す場合は入力をクリックで、再度、図1の画面表示

図2
おすすめを選択すると、図3(柳寿司iモードのおすすめ)が表示される。
表示はされませんが、前述「柳寿司HP」の本日のおすすめも作成される。

図3
ファイル構成

サーバ側のユーザーディレクトリ(/)とクライアントのPUBLIC_HTMLディレクトリがミラーになる。
cgi1.cgi・・・処理図のcgi1の処理をします
cgi2.cgi・・・処理図のcgi2の処理をします
list.txt ・・・品名リスト
chkflg.ini・・チェックボックスの状態ファイル
osusume.htm・・・おすすめ.htm
index.htm・・・・・・ホームページトップ
i/osusume.htm・・・携帯用おすすめ.htm
i/main.htm・・・・・・携帯用ホームページトップ
list.txtの説明
・テキスト形式で、品名は半角カンマで区切った形式です。
上記の例・・・活あじ,活うまずら,活かわはぎ,活やりいか,あわび
chkflg.iniの説明
・図1の品名のチェックボックスの状態を保存した半角0,1の文字列です。
・1度、UpDateすればこのファイルは生成されます。
上記図3の例・・・10101
動作環境
僕は、infoseekの無料のレンタルホームページを使用していますので、上記のcgiはinfoseekを想定しています。他のサーバーは、仕様が違いますので、perl、cgiが使えるか調べてください。また、perlのパスも#!/usr/local/bin/perlにあわせてください。
クライアント側は、WindowsXP SP2、Windows2000SP4、携帯はauのW51Hを使用しています。携帯では、PCモードでcgiを呼び出します。EZウェブでは動作しません。
ディレクトリ構成は、
PUBLIC_HTML・・・が標準(index.htmを置く)のディレクトリになります。
上記ファイル構成のファイル一覧はその下にcgi-binディレクトリを作成し、置いてください。また、携帯用おすすめHtmlが作成されますので、iディレクトリも作成してください。
念のためにcgi-lib.pl,jcode.plファイルもcgi-binディレクトリに置いてください。
cgi-lib.pl,jcode.plファイルの属性を呼出、実行に設定してください。
cgi1,2ファイルの属性を呼出、実行に設定してください。
list.txt,chkflg.iniファイルの属性は、呼出、書込に設定してください。
実際の呼び出しは、上記の構成では、
http://susiya-web.hp.infoseek.co.jp/cgi-bin/cgi1.cgi
携帯用のおすすめHtml確認は、
http://susiya-web.hp.infoseek.co.jp/i/osusume.htm
※1.図1の「キャンセル」で、PUBLIC_HTML/index.htmにリンクしています。また、図3の「トップ」はPUBLIC_HTML/i/main.htmにリンクしています。両ファイルは添付していませんのでカスタマイズしてください。
※2.ファイル有無確認、ファイル形式チェックなどの一般的なエラー処理などは一切していません。サーバーに負担がかかるし、日常的な定型的な処理を想定していますので...。
ソフトダウンロード(LZH形式ですので解凍して、cgi-bin下に置いてください)
P.S perlでファイル入出力、cgiで、サーバー側とクライアント側でのデータのやり取り、perlとJavaScrputでの変数の代入などの最低限必要な処理しています。
ちなみに、僕自身、perl、cgiは超初心者です。だから、これから、cgi、perlを使う人の参考になれば嬉しいです。
---------------------------------------------------------------
File名:cgi1.cgi、cgi2.cgi
ご注意
このスクリプトは無保証、無サポートです。
いかなる不具合が生じようが当方は責任を負いませんので、
自己責任で行ってください。
(C)SoftCream 及び ノラ へのお問い合わせはご遠慮願います。
設置、運営、改造等は個人の責任で行って下さい。
制作 SoftCream ノラ
ken_ooba@livedoor.com
(C)SoftCream
---------------------------------------------------------------