CGI-BBS > 電子掲示板 > 簡易BBS > imgbbsの設置で画像を表示できない。


カレッヂ
カレッヂ


質問者 kazu  投稿日 7/9(水) 20:52:05
大変申し訳ないのですが、imgbbsを設置したところ、
サムネイルでは表示される画像をクリックすると
大きく表示されるはずの画像が表示されません。
IEでは×印になり、ネスケでは×すらも表示されません。
cgi-binの中にどうやら画像ファイルは設置できないようで、
違うところに設定したつもりなのですが・・・。
ちなみに下記にアドレスを公開します

http://www.light-ship.co.jp/cgi-bin/imgbbs.cgi

よろしくお願いします

プロバイダ参照:http://magic.dti.ad.jp/user/manuals/www/index.html
サーバのOS:不明
パソコンのOS:WinNT系
エディタ:PerlEditor
FTPソフト:WS-FTP95LE
サーバ移転:していない
改造:していない
CGI習熟度:beginner

回答者 いのちゃん  [削除]  投稿日 7/12(土) 02:13:47
http://www.kcb-net.ne.jp/ki-net/imgbbs_1.21/imgbbs.cgi
上記は当方が設定しているurlですが、

http://www.light-ship.co.jp/cgi-bin/imgbbs.cgi
こちらの設定はcgi-bin/imgbbs_1.21/imgbbs.cgiに修正すれば
画像をクリックした時にX印になって壊れている状態から正しく表示するようになる
ような気が致しますので、一度正しく表示するかどうかchallengeして見て下さい。
回答者 湯山  [削除]  投稿日 7/13(日) 01:25:10
返答ありがとうございました。
URLを単純にそう変えると言うことなのでしょうか?
試しにアドレスをそのように変えても表示されません。
というか、掲示板自体が表示されませんでした。
プログラムのどこをいじればよいのか詳しく教えて頂けないでしょうか?
よろしくお願いします
回答者 いのちゃん  [削除]  投稿日 7/13(日) 02:22:47
先ず同じ質問が重複して掲載されておりますので1つだけ残してその他は削除して
下さい。当方も同じく先の解答の時に重複して掲載された経験を持っております。
何かbusyなので受け付けられなかったような記憶がありますが、しかしその全ては
実際は正常に投稿されておりました。従ってもう一度投稿した文面をチェックすれば
その重複した投稿を見る事が可能かと存じますのでよろしくお願いしますね。

http://www.light-ship.co.jp/cgi-bin/imgbbs_1.21/imgbbs.cgi

上記のurlに修正すると言う意味は単にurlを書き直すのみでなくて幾つかそれに準じて
次の作業が必要になります。その結果画像が正しく表示すれば成功ですが...。

1. 先ず最新のimgbbs.1.21.tarをもう一度Downloadしてそのファイルを解答した
 物を上記のフォルダcgi-binにgrab & dropで落として階層図を修正して下さい。


#  /cgi-bin/
#     |
#     |-mgbbs.1.21/ ← CGIが実行できる場所
#          |
#          |-- /data/ <777> ← ※1
#          |-- /tmp/  <777> ← ※2
#          |
#          |-- imgbbs.cgi    <755>
#          |-- imgbbs2.cgi   <644>
#          |-- imgbbs3.cgi   <644>
#          |-- imgbbs4.cgi   <644>
#          |-- cgi-lib217.pl <644>
#          |-- jcode.pl      <644>

2. Line51辺り
$location = 'http://www.light-ship.co.jp/cgi-bin/imgbbs_1.21/imgbbs.cgi' このCGI。

3. 上記のurlで呼び込んでみるという意味はこのurlのみの変更のみならずItem No.1 &2
を変更項目にしないと修正した事になりません。

その上で正常に画像が表示出来るかどうかをchallengeして下さいと言う意味です。


回答者 湯山  [削除]  投稿日 7/13(日) 03:54:40
ためしたのですが、http://www.light-ship.co.jp/cgi-bin/imgbbs.1.21/imgbbs.cgi
を見てもらえばわかると思うのですが、画像が全然表示されません。
cgi-binの中に画像ファイルを入れてもだめなのかと思い、以前は
docsというフォルダーの中にdataとtmpを入れていました。
同じように指定してもやはり表示されません。根本的に考えが違うのでしょうか?
すみません、また教えて下さい。
回答者 いのちゃん  [削除]  投稿日 7/13(日) 04:44:48
本文の書き込み枠の下に
本文  アドレスをリンクする  〔 画像の添付と削除 〕
とありますが、この〔 画像の添付と削除 〕から画像ファイルの右側の“参照”から
選択した画像を表示した時に既に今回のurlの場合は画像が壊れて表示しておりますの
で、当然ながらその結果として画像は正しく表示しない訳です。

この時の画像が正常に表示する為には前回ご紹介申し上げました階層図に沿って
正しく設定をして頂く必要があります。その結果どうなるのか?と言う事ですが...。

>docsというフォルダーの中にdataとtmpを入れていました。
と言う考え方は今回頭から外して貰って飽く迄も著者の例示したオリジナルの
階層図に沿った設定をして見て下さい。
回答者 いのちゃん  [削除]  投稿日 7/13(日) 14:15:59
すみません以下のようにタイプミスがありましたのでお詫びして訂正をします。

http://www.light-ship.co.jp/cgi-bin/imgbbs.1.21/imgbbs.cgi (タイプミス)
http://www.light-ship.co.jp/cgi-bin/imgbbs_1.21/imgbbs.cgi (修正済み)

回答者 湯山  [削除]  投稿日 7/14(月) 01:46:32
また、言われたと思われるように、設置しましたが、
画像がどうしても表示されません。
プログラムのどこを後いじればいいのかさっぱり解りません。
本文より下の意味が私には分からなかったのですが、
教えて頂けないでしょうか?
回答者 いのちゃん  [削除]  投稿日 7/14(月) 03:20:42
貴殿の迷っている原因が大分分かって参りました。以下のように箇条書きに纏めて
みますと、

>cgi-binの中に画像ファイルを入れてもだめなのかと思い、以前は
>docsというフォルダーの中にdataとtmpを入れていました。

貴殿のプロバイダーの設定条件からdocsにはhtmlを書き、cgi-binにはcgiを書くように
条件があります。

従って今回の設定条件はcgi-binに書いているのは正解ですが、画像の抽出方法論に
ちょっと未経験のご様子のようですが、レスキューさんの掲示板に表示さす画像は
全て前回ご紹介の“参照”から選択したものを表示させる仕組みになっております。

http://www.kcb-net.ne.jp/ki-net/imgbbs_1.21/imgbbs.cgi
先にご紹介した当方のurlには五番目の背景図が挿入されております。この場合は
Line73辺りに以下のように追記してあります。(bg.gif)
$body = '<body text="#556677" bgcolor=#ffffff background="bg.gif">';	
# 画面の色や文字やリンクの色の設定。要するに<BODY>タグの設定。

これは階層図の中ので以下のように“bg.gif”をアップしてあります。
    imgbbs_1.21
         |-bg.gif

新規投稿のサムネイル画像は全て自分が既に登録したものからの選択ですので、
上記のbg.gifのようにftpしてアップする画像とは違います。
前回のご説明に従って“参照”から画像を選択出来るかどうかをもう一度challenge
して見て下さい。

回答者 yuyama  [削除]  投稿日 7/14(月) 03:24:49
何度も返答いただきありがとうございます。
私が思うに、38行からの
$base_dir = '../data/';	# ※1のサーバ内部のパスで設定します。
$base_url = 'http://www.light-ship.co.jp/docs/data/';	# ※1の仮想パス(URL式)で設定します。http://から書いてもよい。
$tmp_dir = '../tmp/';	# ※2のサーバ内部のパスで設定します。
$tmp_url = 'http://www.light-ship.co.jp/docs/tmp/';	# ※2の仮想パス(URL式)で設定します。http://から書いてもよい。
をいじればいいような気がしてはいます。
'../data/';だと、'http://www.light-ship.co.jp/docs/data/'に行かないのでしょうか?
たぶん、ここで、ちゃんと設定すればいけるのではないかと勝手に想像しておりますが、
見当違いなのでしょうか?
回答者 いのちゃん  [削除]  投稿日 7/14(月) 03:34:02
$base_dir = './data/';	# ※1のサーバ内部のパスで設定します。
$base_url = './data/';	# ※1の仮想パス(URL式)で設定します。http://から書いてもよい。
$tmp_dir = './tmp/';	# ※2のサーバ内部のパスで設定します。
$tmp_url = './tmp/';	# ※2の仮想パス(URL式)で設定します。http://から書いてもよい。

いじらずにオリジナル通りでいけますので、元に戻して見て下さい。
階層図も当初当方が明示したように訂正しないと意味を成しませんよ。
回答者 湯山  [削除]  投稿日 7/14(月) 03:49:47
早急な返答ありがとうございます。
今現在の階層を表示します。

#  light-ship.co.jp/cgi-bin/
#            |
#            |-mgbbs.1.21/ ← CGIが実行できる場所
#                 |
#                 |-- /data/ <777> ← ※1
#                 |-- /tmp/  <777> ← ※2
#                 |
#                 |-- imgbbs.cgi    <755>
#                 |-- imgbbs2.cgi   <644>
#                 |-- imgbbs3.cgi   <644>
#                 |-- imgbbs4.cgi   <644>
#                 |-- cgi-lib217.pl <644>
#                 |-- jcode.pl      <644>



#  light-ship.co.jp/docs/
#            |
#               |-- /data/ <777> ← ※1
#               |-- /tmp/  <777> ← ※2
#
ちなみに、先ほど言われたように直しても、未だに画像が表示されませんでした。
投稿する際にも×印になってしまいます。
やはり、無理なのでしょうか・・・。              
回答者 いのちゃん  [削除]  投稿日 7/14(月) 03:58:53
#  light-ship.co.jp/docs/
#            |
#               |-- /data/ <777> ← ※1
#               |-- /tmp/  <777> ← ※2
ここの設定は出来ないと既に説明済みです。(不要です)

それと肝心の“参照”からの画像選択の件に触れておりませんが場所が分からない
ようですが新規投稿の画面の本文の上に

本文  アドレスをリンクする  〔 画像の添付と削除 〕
がありますので〔 画像の添付と削除 〕をクリックして見て下さい。
回答者 湯山  [削除]  投稿日 7/14(月) 04:05:43
投稿したのですが、やはり駄目のようです。
http://www.light-ship.co.jp/cgi-bin/imgbbs_1.21/imgbbs.cgi
を一度訪ねて頂いて、確認してもらえないでしょうか?
回答者 いのちゃん  [削除]  投稿日 7/14(月) 04:09:33
参照の方からの画像が壊れておりますがそれを確認できますか?
回答者 湯山  [削除]  投稿日 7/14(月) 04:10:59
はい、×印になってしまいます。
回答者 いのちゃん  [削除]  投稿日 7/14(月) 04:20:44
参照からの画像が正常に表示しない場合はX印になりますので、
後は先に述べた不要な箇所の階層図の削除と先のLine38の設定を取りやめて
オリジナルの状態に戻して下さい。(貴殿の設定を取りやめる)。

殆ど画像が表示する寸前にまで漕ぎ付けておりますので、一晩ゆっくり寝て
目覚めてからもう一度詳しく再チェックして見て下さい。必ず上手く行くと
思いますので...。Have a good night!
回答者 かたにわ  [削除]  投稿日 2004/1/13(火) 17:17:26
BBS上に添付されたイメージをクリックしても、イメージが×となり表示されません。
CGIとイメージファイルを混在できないため、dataとtmpをCGIファイルと別ディレク
トリに作成しています。
イメージ表示ウィンドウのソースをみてみると、
src=../../html/imgbbs/ファイル名
となっています。
imgbbs.cgiに設定した、$base_dirの内容のようですが、dataとtmpディレクトリは、
CGIファイルと別のディレクトリでは動作しないのでしょうか?
回答者 初心蛙  [削除]  投稿日 2004/1/14(水) 14:03:44
こんにちは湯川さん、かたにわさん。
・・・回答者の知識不足の為に、質問者が泥沼にはまり過ぎた悪い例になってます。
出す回答が全て見当はずれですね。

さて本題です。
http://www.light-ship.co.jp/cgi-bin/imgbbs.cgi
の適当な画像を選んでプロパティを見てください。
(ここでは雑煮を選びました)
http://www.light-ship.co.jp/data/20040107022108.1.gif?1074043654
ここはちゃんと表示されるので設定が正しいです。
次はその画像をクリックし、×が表示されている画像のプロパティを確認して下さい。
http://www.light-ship.co.jp/docs/data/20040107022108.1.gif
これは読めない画像ファイル・・・どこが違うかわかりますね?

画像が表示されるものとの違いはdocsの部分です。
http://www.light-ship.co.jp/data/には画像ファイルが存在しているのに
http://www.light-ship.co.jp/docs/data/にはないというだけではないでしょうか?
単純にdocsをはずして先ほどの画像を見ると
http://www.light-ship.co.jp/data/20040107022108.1.gif
参照しなければならない画像はここにありますよね。

湯山さんは自分のホームページのhtmlファイルをどこにいれましたか?
docsにいれられたのではないでしょうか?しかし自分のホームページを見る時に
http://www.light-ship.co.jp/docs/index.htmlなんてされないですよね?
よって掲示板設定時のdocsは不必要だと推測します。
また、かたにわさんも同じような理由ではないでしょうか?

このBBSを設置した訳でなく、湯山さんの掲示板の動作状況のみでの判断段階です。
もし修正されたら教えて下さい。
回答者 がたにわ  [削除]  投稿日 2004/1/14(水) 16:54:15
初心蛙さん回答ありがとうございます。
CGIとHTMLをおいているディレクトリの構造に問題があるのでしょうか?
私の場合、
/home/httpd/cgi-bin/imgbbs/以下にCGIファイル
/home/httpd/html/以下にhtmlや画像ファイルとなっています。
CGIは、cgi-bin以下でないと動作しないようなので、このようにしました。
超初心者なので、Apacheの設定はインストール後そのままです。
cgi-bin/以下でもhtmlや画像ファイルを利用できるようになるか、
html/以下でもcgiが動作するようになれば問題ないような気がするのですが、
このような初心者相手で申し訳ありません・・・・
回答者 初心蛙  [削除]  投稿日 2004/1/14(水) 23:56:44
いえ、僕も初心者です!僕がRESつけている事はある意味不幸です。

ちょっと疑問なのですが、CGIフォルダ内では画像ファイルが扱えないプロバイダで、
ちゃんと動いている方いますか??
NIFTYでもやはり同じ症状です。
以下の設定以外考えきらないのですけど・・・。
NIFTYの場合、cgiとそれに関するファイルはcgi-binフォルダへ、その他はhomepage
ファルダへいれます。
よって下記の設定となります。

$base_dir = '../../homepage/data/';	
$base_url = 'http://homepage3.nifty.com/*****/data/';	
$tmp_dir = '../../homepage/tmp/';
$tmp_url = 'http://homepage3.nifty.com/*****/tmp/';

参照画面では$base_dirで設定したパスを使用します。
しかしNIFTYでは、CGI側から仮想パスで呼び出さないといけないと言う制限があるので
これでは表示出来ません!
僕の頭ではこの設定を修正して、正常に動かす事は出来ません。(涙)

でも動かすやり方はあります。
imgbbs.cgiの270行目付近
  &headHTML();
  &imgWindow("$base_dir$file"); <---ここ&imgWindow("$base_url$file");へ変更    
  &endHTML(1);                      ~~~~
これで表示されるはずです。

製作者の設定に従った訳ではないので、答えや対策として納得出来ないですが。
回答者 初心蛙  [削除]  投稿日 2004/1/15(木) 00:18:37
がたにわさん、掲示板は正常に機能し、コメントも画像も掲示板に表示されるなら、
ディレクトリとファイルの転送先はあっていると思います。
課題は参照ページの画像のパスを正しく記述するには?だと思います。
回答者 かたにわ  [削除]  投稿日 2004/1/15(木) 08:48:36
さっそくご回答ありがとうございます。
ご指定箇所の$base_dirを$base_urlに修正したら、
表示できました。私は、自宅サーバでlinuxに挑戦してみようと
格闘しているところです。最終的に$fileで展開される内容に
誤りがあると思い、imgbbs.cgiを見ていましたが、あきらめかけ
ていました。結果的にimgbbsが私の環境には対応していなかった
ということでしょうか?
うまく、画像が表示されて感動しました。
これにこりず、これからもご助言いただけるとありがたいです。
本当にありがとうございました。
回答者 湯山  [削除]  投稿日 2004/1/24(土) 00:17:47
大変申し訳ないのですが、以前書き込んだのがずいぶん前で
自分でもどのようにCGIをアップしたのかでさえ忘れておりました。
docsという表記をなくせばいいようなことを書かれておりましたが、
どのファイルの何行目ぐらいにその表記があるのでしょうか?
ざっと見ては見たのですが、ないようです。
もうアップの画像は出ないものとあきらめていたので
出来ればもう一度チャレンジしてみたいので
ご回答よろしくお願いいたします。
回答者 初心蛙  [削除]  投稿日 2004/1/24(土) 11:55:18
こんにちは、湯山さん。
docsの件は、先の質問者とのやりとりで湯山さん自身がパスの設定で書かれていますよね?
それと×になっている画像のプロパティが
http://www.light-ship.co.jp/docs/data/20040107022108.1.gif
になっていたもので、パスの記述にdocsがある為に正常に動作しないのでは?と思いました。
でもこれは見込み違いのようでしたね、お付き合いさせてしまい申し訳ございません。

湯山さんの掲示板は今正常に動いているようですが、
imgbbs.cgiの270行目付近
  &headHTML();
  &imgWindow("$base_dir$file"); <---ここ&imgWindow("$base_url$file");へ変更    
  &endHTML(1);                      ~~~~
で動いているのでしょうか?
回答者 湯山  [削除]  投稿日 2004/1/24(土) 19:53:48
はい、ありがとうございました。
まさにそこを書き直して動いております。
お世話になりました

返信(回答)する

 


Web裏技