zipでまとめた画像をサーバ上においてスマホで見るCGI(無料)

上記のことをしたいと思ったが、iPhoneでは気に入るアプリがなかった。

じゃあCGIにしてブラウザで見ればよくね?ってことで作ってみた。

サーバが使える状態になっていれば、当然無料。

動作環境

以下のようなLAMPサーバを想定しているが他の環境でも動くかもしれない。

  • Linux(ファイルシステムはの文字コードはUTF-8になっていること。)
  • Apache
  • Perl CGI (以下のPerlモジュールが使えること)
    • URI::Escape
    • Encode
    • Archive::Zip
    • Imager (扱える画像形式はこれのインストール内容によって決まる。インストール方法はこの記事を参照)
    • MIME::Base64

なお、zipはWindows環境で圧縮されており、内部文字コードがcp932になっていること。

成果物

filelist.cgi

エラー対策

画像を見ようとすると404エラーが出る

ApacheでPATH_INFOを使ってパラメータを受け取るとき、%2F(URLエンコードされた半角スラッシュ)が含まれるとこのエラーが出るらしい。

Apacheの設定に

AllowEncodedSlashes on

をつければOK