ホーム > HTMLに役立つヒント>検索フォーム/wwwsrchの改造 wwwsrch_ez.cgi
目次
wwwsrchは「とほほのWWW入門」でとほほさんが配布しているフリーCGIです。ずいぶんと前にこれをMacPerlで動作するように改造して公開しました。
最近(2005/5)になって、メールと掲示板で立て続けにMacPerl版についてご質問を受けました。ところがいずれの方も動作環境はOS Xとのこと。MacPerlは旧MAC OS上で動作するperlで、OS XではUNIX perlが動いています。OS Xなら本家版を動かす方が簡単なので、そのようにお答えしておきました。
どうやらご質問を下さった方たちは簡単検索などの追加機能が欲しかった模様ですんで、簡単検索機能etcを搭載した改造品、wwwsrch_ezを作ってみました。UNIX perl上で動作します。MacPerlでは動作しません。
とほほさんのオリジナルと同じく(とほほさんの利用規程)、商用・私用を問わず、ご自由に利用・改造・再配布できます。確認も必要ありません。ただし、jcode.plはUtashiro氏作成のもので、改変しない限り再配布自由となっていますのでご注意。また、wwwsrch_ez.cgiはwwwsrch.cgiの改造品ですから、著作権はとほほ氏にあります。
とほほさんのオリジナルwwwsrchからの変更点は次の通り。
・and検索をデフォルトにした。
・簡単検索機能を付けた(選択可能)。selectタグは別ファイル(easy_s.ph)に記述する。この機能はJAVAscriptを利用しているため、JAVAscriptの動かないブラウザでは機能しません。JAVAscriptが有効かどうかのチェックはしていませんから、その辺を強化するといいでしょう。
・別窓で開くアイコンを出力できるようにした(選択可能)。
・検索結果にナンバーを振るようにした。
・検索結果のキーワードを赤字で表示するようにした。
・検索した日時を出力できるようにした(選択可能)。
・検索にかかった時間(CGIが動作した時間であって、表示するまでの時間ではない)を表示できるようにした(選択可能)。
動作サンプルはこちらにおきます。
具体的にどこをどのように改造したのかは、変更個所に「水沢」というコメントを入れてありますので、wwwsrch_ez.cgiを開いて「水沢」を検索していくとわかります。
ファイルの中味は次の通りです。
wwwsrch_ez.cgi CGI本体
jcode.pl 文字コード変換ライブラリ。Utashiro氏作成のもので、改変しない限り再配布自由。
easy_s.ph 簡単検索設定ファイル
mark1.gif 別窓アイコンファイル
wwwsrch_ez315m01.lzh ver.3.15m01 2005/5/16 wwwsrcg 3.15ベースの改造品ver.0.1です。
あんまり詳しく解説しません。ある程度perlをご存じの方を対象にしています。perl CGIについて詳しくない方は、「CGI設置入門」などを参照してください。
wwwsrch_ez.cgiをテキストエディタで開き、オリジナルwwwsrch.cgiと同様の設定を行います。この部分はご本家wwwsrchの解説ページを参照してください。
wwwsrch_ez.cgiで追加された機能の設定を行います。必要に応じて赤い部分を変更します。
# ======================================
# 改造で追加された機能の設定
# ======================================
# このCGIファイルの名前
$cginame = "wwwsrch_ez.cgi"; ←通常このママにしておいてください。
# ========= 別窓アイコンの設定
# アイコンファイルはcgiと同じ階層におく。空ならアイコン表示をせず、
# オリジナル通りファイル名をクリックすると別窓で開く。
$img_name = "mark1.gif" ; # 別窓アイコンファイル名。
# ========= 簡単検索の設定
$easy = 1; # 簡単検索をするなら1、しないなら0
$easy_filename = "easy_s.ph";
# 簡単検索設定ファイル名
# ========= 日時・検索時間の表示設定
$date_time = 1; # 検索日時を表示するなら1、しないなら0
$cputime = 1 ; # 検索時間を表示するときは1、しないなら0
簡単検索を行う場合は「easy_s.ph」も編集します。こちらはHTMLタグですので説明の必要はないでしょう。
※「wwwsrch_ez.cgi」「easy_s.ph」「jcode.pl」ともEUC/LFであることを確認してください。
「検索フォーム設置法」にしたがってサーバにwwwsrch_ez.cgi、jcode.pl、easy_s.ph、mark1.gifをFTPでアップロードします。あらかじめ専用のフォルダを作っておくと良いでしょう。FTPの時には漢字コードと改行コードに注意してください。これが間違っていると動きません。
パーミッションの設定をします。wwwsrch.cgiは755、jcode.plは644です。パーミッションについてはサーバによってローカルルールがあるため、プロバイダのFAQを確認してください。
後はブラウザで設置したwwwsrch_ez.cgiにアクセスしてください。これで動くはずです。動かない場合は漢字コード、改行コード、パーミッションを疑ってみてください。