ラウンジ(兼FAQ掲示板)

電光!ニフティでの設置について
過去ログ NO.1046158598
□ かりん [2003年02月23日23時21分]
初めまして。電光掲示板を設置したのですが、添付したファイルをアップロードすると、×印になって表示され画像を見る事が出来ません。
プロバイダーは@niftyです。

設置している場所は

|  └/denkoh/
|    ├jcode.pl
|    ├denkoh.cgi (755)
|    └/temp/ (777)
|      └data.cgi (666)
└/homepage/
  ├電光表示ページ.html
  ├rel.html
  └/denkoh_image/
   
のように設置しています。

ファイルのアップロードに関する設定のCGIの中身は

 #+++++ 以下 ファイルのアップロード機能に関する設定

# ファイルのアップロード機能
$ul_mode = 1; # 無効 = 0; 有効 = 1;

# アップロードできるファイルの最大サイズ
# 0 : 制限無し 単位 : バイト(1000bytes = 1kb)
$max_size = 30000;

# アップロード禁止ファイルを指定
# 0 : しない 1 : する
$up_limiter = 1;

# アップロード禁止ファイルの拡張子
# ('拡張子1','拡張子2','拡張子3');の形式でいくつでも記述(.ドットは要りません)
# 特に指定しない場合は設定の必要無し
@file_types = ('bmp','exe','');

のようにしてあります。

電光に限らず、ファイルのアップロードは他の掲示板でも出来なくていつ悩んでいます。
どうかよろしくお願いいたします。
□ りティ [2003年02月24日05時39分]
はじめまして。りティと申します。

画像、ファイルのアップロードに関しては、
実は私も自分が使っていないために、未知の世界でして、
私のページもそれに対応しておりません。(^^;

ただ、それではあまりに無責任ですので、これを機に
一緒に原因を究明し、いずれはうちの説明ページも
ファイルアップロード機能をONにしたい方にも対応できるよう、
改良したいなと思っています。

現段階で一つだけ気付いたことを書きますので、試して見てください。
(本来は私が試すべきなのですが、今ちょっと時間がないので、すいません。)

具体的には、以下の二箇所について、
------------------------------------------------------------
$data_dir = "http://hpcgi*.nifty.com/xxxxx/denkoh/temp/";
------------------------------------------------------------
$up_dir = "http://hpcgi*.nifty.com/xxxxx/denkoh/temp/";
------------------------------------------------------------

http://homepage*.nifty.com/xxxxx/denkoh_temp/

のように、homepageサーバー側にdenkoh_tempというフォルダを作成し、
data.cgiファイルをそちらに移動した上で、設定変更して下さい。

また、これに合わせて、
------------------------------------------------------------
# このスクリプトファイルから見たパスで記述
$tmp = "./";
------------------------------------------------------------

の部分も電光本体から見た相対パス指定にしてください。
普通の相対パスがうまく行かなければ、
/homepage/denkoh_temp/
というパスも試してみてください。

これでうまく行けばいいのですが……。
上記は全て理屈の上ではこれでいいはず、という仮定の
もとに話しておりますので、各種変更をする前に、
必ず全ての関連ファイルのバックアップをと取ってから行うようにしてくださいネ。
それでは結果報告、お待ちしております。(^_^)
□ かりん [2003年02月24日11時28分]
りティさん、素早い対応ありがとうございます。
さっそく試してみたのですが、駄目でした(T▽T)

------------------------------------------------------------
$data_dir = "http://homepage2.nifty.com/karin_heart/denkoh_temp/";
------------------------------------------------------------
$up_dir = "http://homepage2.nifty.com/karin_heart/denkoh_temp/";
------------------------------------------------------------

にし、homepageサーバーにdenkoh_tempフォルダを設置しdata.cgiファイルも移動したのですが・・・。

またパスは 相対パスだとdata.cgiが開かなかったので
/homepage/denkoh_temp
にしました。
でもアップロードしたファイルは依然×印。
ただ、サーバーには画像はUPされているのですが・・・。

お忙しい中申し訳ございませんが、またアドバイスを下さい。
よろしくお願いいたします。
□ りティ [2003年02月24日13時57分]
> りティさん、素早い対応ありがとうございます。

前回の発言時間を見ると、なんという時間に……、
と思われていそうですが、バンクーバーなるところで、
日曜の昼間、お昼の買物に出かける前に書いたので、
決して夜行性とか早朝性というわけでありません。
ちなみに今はその同じ日曜の夜、
子どもたちの就寝後いそいそとカキコしてます。(笑)

さて、本題です。
ムフフ。やっぱり私の想像通りでしたよ。
私も自分でテストをしてみたので、証明済みです。(^_^)

かりんさんの修正された部分で一箇所だけ

(×)$tmp = "/homepage/denkoh_temp";

ですが、このフォルダ指定について、行末の/が抜けているのです。ここを

(○)$tmp = "/homepage/denkoh_temp/";

のように直せば動くはずですので、お試しください。

さてここからは、今回の件に関してのニフティ的解説です。
(別名:これだけやったんだぞー、という自己満足。(爆))

まずご存知、ニフティではcgi-bin側にCGIの実行とは「直接」関係のない
ファイルを置いても表示ができません。ですから、最初の時点での問題は、
tempフォルダの中に、ファイル自体はアップロードされているものの、
それフォルダがcgi-bin側にあるため、表示が許可されず、
X印が出て表示されなかったというわけです。

そこで私は考えました。

># 上の値を0にした場合は、
># 以下2行のコメントアウト(#を消去)してhttp://からのフルパスでURLを指定
>$rel = "http://homepage1.nifty.com/ritea/rel.html"; # rel.htmlの場所
>$up_dir = "http://hpcgi1.nifty.com/ritea/barbbs/"; # 作業フォルダ(temp)の場所
>#(アップロードされたはずのファイルが表示されない場合はココ$up_dirを修正)

それでは、単にこの $up_dir に、homepage側に新たにフォルダを作って
それを指定すればいいだろうと。
ところが、ここだけ変えても依然ファイルがアップロードされる先が
前と変わらず、cgi-binのtempフォルダ内だったのです。

ここの部分ではかなり悩みましたが、結局CGI本体にざっと目を走らせた結果、

if (! $up_dir) { $up_dir = $data_dir; }

というのが見つかり、どうやらここで$data_dirに、ファイルが
アップロードされるようになっているのだろうと予想がつきました。
こうなると、Perlが読めない自分にとって残されたのは
$data_dirもhomepage側に移すという発想のみでした。
というわけで、結論として今回の仮定が生まれたわけです。
で、やっぱりそれがビンゴでした。

長くなりましたが、これらのことをヒントにしていただければ
今まで出来なかったとおっしゃっている、他のアップロード関係のものに
関しても理解し、対応できるのではないかと思います。

ではでは♪
□ かりん [2003年02月24日14時59分]
こんにちは。度々すいません^^;
バンクーバーに住んでいるんですよね。HPで拝見しました。
海外行ってみたいなぁ。(遠い目)

ええと本題なのですが、『/』が抜けてました^^;
さっそく修正して

$tmp = "/homepage/denkoh_temp/";

にしたのですが、やっぱり表示されませんq(T▽Tq)(pT▽T)p
UPもされているのですが・・・。
画像のプロパティを開くと使用不可・・なんですよね。

でもりティさんの詳しい説明でなぜ画像が表示されないのかという理屈は理解できました。もう1つ、ファイルUP機能がついてるものを使っているので参考にさせて頂きます。

電光ももう1度、パスの書き間違いがないか試して頑張ってみます。
う〜ん。ここまできてるのに悔しい。。。。。
□ NXer [2003年02月24日21時42分]
はじめまして。NXerです。

http://hpcgi2.nifty.com/karin-heart/denkoh/denkoh.cgi?html
↑で電光!を単独起動してみました。
画像のテストをさせていただきました。
画像アイコンがでましたので、クリックすると窓は出ますが
相変わらず×印。画像プロパティで確認したところ
「種類・・使用不可」になっていました。
しかし、
http://homepage2.nifty.com/karin-heart/denkoh_temp/yellow%20corolla.jpg
にて正しくtempファイルに転送されていました。お確かめください。
(なお、テスト投稿ですから、適当な時期に削除をお願いします。)

上の不具合解消に電光!バージョンを調べてみました。

ブラウザの表示メニューからソースを選び、スクリプト実行内容
を見てみました。
------------------------------------------引用
// 電光! v.0.00(Free soft)
// 無断転載及び不正使用禁止
// Last Modified:
// Copyright (C) 2002 - 2008 suepon , All rights reserved. Powered by CGI Script Market.

Copyright (C) 2002 suepon , All rights reserved. Powered by CGI作成・CGI制作.