Picture List

a. Picture List とは

世界を股にかけた画像遍歴の結果、何がどんな画像かワケが分からなくなってしまうのは、よくあることです。うかつに削除するとかつてのお気に入りな画像を消してしまうかも知れず、かと言って1つ1つ画像を開いて確認するのも面倒です。

さらにこの問題にはもっと大変な側面もあります。ご家庭(一人暮らしも含む)にパソコンが複数台存在する状況を想像してみてください。メインで使っているパソコンには大量の画像が保管されているとします。これを他のパソコンから閲覧したい時、どうしたらよいでしょう? フォルダを共有するのが一般的ですが、エクスプローラを開き、所定のフォルダを見つけ、そして大量の画像の一覧を表示させるには、けっこう動作が重くなりそうです。

前置きが長くなりましたが、とりあえず全部忘れてください。この CGI は、フォルダ内にあるファイル名の一覧を HTML で作成し、さらには画像表示用にインラインフレームも用意してあるというプログラムです。すべての作業をブラウザで行いたい、というものぐさな人々のために作られたプログラムかも知れません。個人的には Delusion Writer を使いながら(別タブで)画像鑑賞も行いたい、というニーズに対応しています。

現バージョンではサムネイル画像の生成は行いません。画像が100以上存在する環境を想定しているので、サムネイル生成を行うと非常に処理が重くなる可能性があるためです。

どんなものかは見てみればだいたい分かります。picturelist.cgi

表示される画像はサンプル用なので、興奮作用はあまり無いはずです。重要なのは画像ファイル名の一覧が自動生成されるということです。画像を溜め込むときにこの CGI 用のフォルダに放り込んでおけば、あとはブラウザの「お気に入り」からイッパツでご鑑賞モードに移行できます。

……ということを期待して作ってみました。今さらながら激しく既出な気がしてちょっと後悔しています。

b. 使い方

もちろん、WEB サーバーソフトは起動していますね? CGI が使用できる設定になっていますね? Ruby がインストールされていますね?

ではまず、ダウンロードした picturelist.zip を解凍し、WEB サーバー配下の CGI 実行可能な箇所に設置してください。そして picturelist.cgi および filelist.rb をテキストエディタなどで開き、1行目の「#! /usr/local/bin/ruby -Ks」を、あなたの環境に合わせて ruby.exe のある場所に変更してください。

data フォルダの下に画像ファイルを置いてください。それからブラウザを開き、picturelist.cgi の URL を指定します。ページの左側にファイル名一覧が表示されます。そのファイル名をクリックすると、ページ中央のフレーム内に画像が表されます。

ページの背景色、ファイル名一覧が表示される領域の大きさ、画像表示用フレームの位置や大きさ、etc は style.css で設定しています。お好みに合わせてカスタマイズしてください。

c. 実行環境

以下の環境が必要です。

d. カスタマイズの際の注意点

カスタマイズに際しては、以下の点に注意してください。

(1). 画像を格納するフォルダの名前は filelist.rb 内でハードコードしちゃっています。複数の箇所で“data”を指定していますので、画像格納フォルダの名前を変更するときは忘れずに2カ所とも変更してください。

(2). 画像の拡張子は表示しないようになっています。filelist.rb 内で gsub( /\.(jpg|jpeg|gif|png|tif|tiff|bmp)$/i , '' ) とか書いてあるのがそれです。ここに記述のない拡張子の場合、ファイル名に拡張子が付いた状態で表示されます。まあ、実際に画像を表示できるかどうかはブラウザが対応してるかどうかに依存するんで、あまり細かく考えないでください。なんなら当該行をコメントアウトして必ず拡張子まで表示するようにしておけば、統一はとれます。

(3). 表示される HTML も filelist.rb 内で記述されています。もちろん細かいところまでハードコードしています。やっつけなので仕方ありません。HTML の文字コード、title などを変更したい場合は filelist.rb を編集して行ってください。背景色やフォントの大きさなどは style.css というファイルで行っています。このあたりのカスタマイズを行うには、HTML とスタイルシートについての知識があったほうが良いでしょう。

(4). 画像格納用フォルダを複数指定したり、フォルダの中にさらにフォルダを置いたりという使用方法は想定していません。そこらへんの機能が欲しければ、自分で作る必要があります。フォルダ階層化対応は私も欲しいので、1年ぐらいしたら作るかも知れません。期待はしないでください。なお、知らない人もいるかも知れないのであえて補足すると、開発した人間が「想定していない」と言った場合、その意味は「そんなことしたらバグるかもよ?」ということです。実際にバグるかどうか気になる人は自分で試してみてもかまいませんが、もちろん自己責任です。 --- フォルダの階層化に対応しました。

(5). WEBサーバー側とクライアント側で文字コードが違うような場合、フォルダ名やファイル名に日本語が使用されていると、うまく表示できないようです。URLエンコードだかなんだかを、なにかしないといけないらしいのですが、よく分かりません。私の個人的環境ではサーバー/クライアント共に Windows XP だったりするので、特に問題なく動作しています。でも ZooM Palace に上げたサンプルでは不具合になりました。たぶん ZooM Palace をホスティングしてくれているサーバーが Linux か何かだからでしょう。つまり何を言いたいかというと、この CGI を流用して画像掲示板か何かを作るつもりなら、工夫がもう1つ2つ必要だということです。ご自宅で個人的に使ってる程度なら、たぶん大丈夫だとは思いますが。

e. ダウンロード

以下のファイルをダウンロードして下さい。圧縮形式は ZIP です。

サンプル画像は含まれていません。よってファイルサイズは驚異の 4 KB。



[管理人の実験室へ戻る] [更新履歴]