人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

CGIスクリプトについての質問です。Linux上のWebサーバ(Apache)にて、以下の処理をさせたいのです。

・画像ファイルの要求を受け付ける
・ファイル名は0001.jpgなどの通番
・ファイルがすでにあれば、それを返す
・無ければ、サーバ側でプログラムを実行し生成した上で返す

以下は例です。

クライアントが「http://www.example.com/photo/0001.jpg」を要求
サーバに0001.jpgが既存するので、そのまま返す

クライアントが「http://www.example.com/photo/0005.jpg」を要求
サーバに0005.jpgがないので、AAAA.plを実行し生成させ、
できたファイルを返す

AAAA.plのサンプルも含め、このような一連の処理を行う方法を知りたいのです。実際に画像を生成するプログラムは、すでにあります。Perl希望です。

ズバリのご回答のみ、ポイントをお送りします。以上、よろしくお願いいたします。


●質問者: Mugicha2004
●カテゴリ:コンピュータ
✍キーワード:.jpg Apache CGI Linux Perl
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● ootatmt
●25ポイント

http://httpd.apache.org/docs/2.0/ja/howto/htaccess.html

Apache ?????????: .htaccess ??????? - Apache HTTP ??????

スクリプト名は、AAAA.pl とせずに、photo として、ルートディレクトリにおきます。

htaccess の設定などで、photo を CGI として実行されるようにします。


この設定で、

http://www.example.com/photo/xxxx.jpg

にアクセスすると、photo が実行され /xxxx.jpg が PATH_INFO として渡されるので、これを見て

xxxx.jpg があれば、それを読み出し表示する。

xxxx.jpg がなければ生成して表示する。


とします。

◎質問者からの返答

ご回答、ありがとうございます。簡単にできそうですね。すみませんが、htaccess関連の設定に不慣れなのです。もう少し、簡易にかつズバリと設定などをご教授いただけると幸いです。熟読する時間がないものでして... よろしくお願いいたします。


2 ● ootatmt
●25ポイント

http://www.hatena.ne.jp/

はてな

htaccess の設定がわからなければ、以下のようにしてはどうでしょう。


画像のURLを

http://www.example.com/photo/xxxx.jpg

ではなく、

http://www.example.com/photo.cgi/xxxx.jpg

とします。


これで、photo.cgi が実行されて /xxxx.jpg が PATH_INFO として渡されます。


photo.cgi を以下のようにしてテストしてみればよくわかると思います。


---

#!/usr/bin/perl


print ”Content-type: text/html¥n¥n”;

print $ENV{PATH_INFO};

---


画像ファイル名を受け取った後の処理は、前述のとおりです。

http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/pe_kj14.htm

CGI-Perl 基礎実地編 - 実習14 (画像レスポンス、画像出力、画像表示) - SAK Streets

ちなみに画像出力の方法はこちらにありました。

ご存知だとは思いますが参考まで。


3 ● andi
●10ポイント

http://a/

.htaccessを使用する場合、下記のような内容でAAAA.plを実行可能です(photoディレクトリに配置)。


DirectoryIndex AAAA.pl

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ AAAA.pl/$1 [L,QSA]


※mod_rewriteがインストールされている必要があります。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ