satosi さん、
henjibbs.cgi というフォルダを作っているのですか?
まずそのフォルダ名を henjibbs と .cgi を含まない名前に変えてからやってみてください。
もちろんそのJavaScriptや関係する内容などもそれなりに変えなくてはいけませんが。
画像が正常に表示されるかどうかは、ブラウザで、
http://127.0.0.1/www/satosi/henjibbs/access2.cgi?http://127.0.0.1/www/satosi/
などといれてみることでわかります。
>(1)他のPerlのCGIは動くのか?(Access2以外で動いたものがあるのか?)
掲示板と人工無能が動きます
>(2)Access2 をどのように動かそうとしているのか?
掲示板にデータ収集用のjavaスクリプトを貼り付けるようになっています。
<SCRIPT Language="JavaScript">これがそうです
<!--
document.write("<p align=center><a href=http://127.0.0.1/www/satosi/henjibbs.cgi/access2.cgi?vew>");
document.write("<img src=http://127.0.0.1/www/satosi/henjibbs.cgi/access2.cgi?" + document.referrer + " border=0></a></p>");
// -->
</SCRIPT>
satosi さん、
そうでしょうね。
ですから、どういうことをした場合にどうなるのかをsatosiさんがちゃんと説明しなければ、正しい回答は得られません。
何をどう説明したらいいかわからないのであれば、とりあえず、
(1)他のPerlのCGIは動くのか?(Access2以外で動いたものがあるのか?)
(2)Access2 をどのように動かそうとしているのか?
(3)最初から動かないのか、それとも何か操作をした時に思ったように動かないのか?
(4)「動かない」というのは、何かエラーメッセージ(らしきもの)が表示されるのか、それとも何も起こらないのか?
にお答え下さい。
ありがとうございました。さっそく試してみましたがプログラムが動いていないように思います。javaスクリプトが貼り付けてあるのが関係するでしょうか・・???
satosi さんへ追記、
print の前に binmode(STDOUT); も必要です。
つまり、
print "Content-type: image/jpeg\n\n";
open(IMG, "$imgfile") || die "Can't open: $dir/$img";
binmode(IMG);
binmode(STDOUT);
print $_ while (<IMG>);
close(IMG);
とする、ということです。
ただし、最初の質問では単に「動きません」と言っているだけなので、この binmode だけで「動く」かどうかは別問題です。
おかしな設定をしていれば binmode を追加してもやはり「動かない」でしょう。
satosiさん
binmode()は指定したファイルハンドルに対して有効で、出力する前に設定しておかなければ
なりませんから、open後、print前に binmode(IMG); を記述します。
ファイルハンドルを binmode() ←これをどこに加えればよいのでしょうか?教えてください。
よろしくお願いします。
Satosiさん
なにがどううまく動かないのかよくわかりませんが、ざっと見た感じでは、
イメージファイルを開いた後、ファイルハンドルを binmode()にしていませんね。
そこらへんからチェックを始めてみてはいかがでしょう。
突然すみません。
さきほどのソースはいただいたものです。
他の人のページに掲示してもよいかどうか問い合わせていません。
削除してくださればと思います。
すみませんでした。
httpd:1.33gで下のcgiを動かしたいのですが動きません。UNIX用の言語がどこかにあるのでしょうか?
そして、それが原因なのでしょうか?。よろしくお願いします。
#!/usr/local/bin/perl
# ↑あなたが加入しているプロバイダの「perl」言語が使用できる
# パスを指定します。一般的に「#!/usr/local/bin/perl」で大丈夫
#=======================================================================================
# access2 Version 98.1
#=======================================================================================
(省略)
print "Content-type: image/jpeg\n\n";
open(IMG, "$imgfile") || die "Can't open: $dir/$img";
print $_ while (<IMG>);
close(IMG);
exit;
}
#=======================================================================================
(省略)