CGI-BBS > データベース > その他 > Webアルバムで画像等を記録するフォルダを別領域に指定したい


カレッヂ
カレッヂ


質問者 yoshi  投稿日 2005/3/8(火) 12:38:59
Webアルバムに関心を持ちました。
そこでつまづいたところは

$IMG_DIR = './dat/'; # 画像とコメントを記録するフォルダ (PATH) 最後は/で閉じる サーバ内部のパスである
$IMG_URL = './dat/'; # 画像とコメントを記録するフォルダ (URL) 最後は/で閉じる http://〜書いてもよい

のうち上の行ですが、設置しようとしているプロバイダですがCGIを設置するに当たり、以下のような注意事項があります。
要するに、CGIを設置する領域にhtmlや画像を置いても見ることが出来ないというのです。
ちなみにCGIを設置するアドレスはhttp://cgi.j-bee.com/であり
ホームページを設置するところはhttp://mytown.j-bee.com/と厳密に区別されています。
このため./dat/に画像をアップロードしても画面に表示されないのです。
画像は必ずhttp://mytown.j-bee.com/の領域に置かなければなりません。
2行目のURLは指定可能ですが、1行目はどのようにしてPATHを通せば良いでしょうか。
よろしくお願いいたします。

以下はプロバイダからの注意事項抜粋です。

【注意事項】
・telnet接続はご利用いただけません。
・nkfやjcode.pl等汎用的なパールのライブラリは用意しておりません。各自でご用意ください。
・「.htaccess」は設置できません。

言語について
CGIにご利用可能な言語はPerl,シェルスクリプト(sh)です。
C言語はご利用いただけません。 また、SSIはご利用いただけません。 

シェルスクリプト(sh)について
シェルスクリプト(sh)に関しては、以下のコマンドが利用可能となっています。
awk,chmod,date,egrep,expr,grep,mkdir,rmdir,sh,cat,cp,echo,env,find,ls,mv,rm,sed
sendmailもご利用いただけます。パスは「/usr/sbin/sendmail」となります。 

参照URLについて
CGI実行ファイルは「http://cgi.j-bee.com/cgi-bin***/お客様ディレクトリ/」に置かれます。
その他のファイル(HTMLファイル、画像ファイル等)は、現在ご利用のwwwサーバ配下に作成してください。 

CGI実行ファイルとそれ以外のファイルの設置場所が異なるので以下の点にご注意ください。 
・CGIでHTMLファイルにリンクする場合、絶対または相対パスは利用できません。次のようにhttpからはじまるパスで指定してください。
例)<a href="http://mytown.j-bee.com/お客様ディレクトリ/">トップページに戻る</a>
・CGIでイメージファイルを表示する際も同様に次のようにhttpから記述してください。
例)<img src="http://mytown.j-bee.com/お客様ディレクトリ/image.gif">
・HTMLファイルからCGIにリンクする際にも次のように記述してください。
例)<a herf="http://cgi.j-bee.com/cgi-bin***/お客様ディレクトリ/bbs.cgi掲示板
・「cgi-bin」ディレクトリにCGIの実行とは関係のないファイルを置いても、ブラウザにそのファイルを表示させることはできません。FTPする際、CGIに関連する実行ファイル、データファイル、画像ファイルなどは「cgi-bin***」ディレクトリに、通常の閲覧ファイル(htmlファイル、画像ファイルなど)は現在ご利用のwwwサーバ配下に置いてください。 
・CGIの実行に関係のないファイルをcgi-binディレクトリに置いて、その場所を指定してもブラウザで表示させることはできません。  

【習熟度】多少の設置経験

回答者 jokerz  [削除]  投稿日 2005/3/13(日) 05:01:49
こんにちは。jokerzです。
たぶんですが、
>CGIでHTMLファイルにリンクする場合、絶対または相対パスは利用できません。次のようにhttpからはじまるパスで指定してください
と、サーバー屋さんから注意事項としてあるみたいなので、
単純に
$IMG_DIR = "http://mytown.j-bee.com/お客様ディレクトリ/dat/"
としてパスを通すば問題ないと思います。
実行ファイルを設置するサーバーと静的ファイル・バイナリファイルを
別々に管理してるためだと思います。
質問者 yoshi  [削除]  投稿日 2005/3/14(月) 08:00:00
jokerz様 ご回答ありがとうございました。
今すぐに試せる環境にありませんので、試してからご報告いたします。
質問者 yoshi  [削除]  投稿日 2005/3/15(火) 10:21:48
jokerzさんに教えていただいた
$IMG_DIR = "http://mytown.j-bee.com/お客様ディレクトリ/dat/"
として写真を送ってみたところ
「画像ファイルは受信されませんでした(No such file or directory)」
という表示が出て送ることができませんでした。

それに、
$IMG_DIR = "http://mytown.j-bee.com/お客様ディレクトリ/dat/"だと、次の行の
$IMG_URL = "http://mytown.j-bee.com/お客様ディレクトリ/dat/"と全く
同じ記述となり、初心者の素朴な質問として
「では$IMG_DIRと$IMG_URLの何が違うの?」ということになります。

返信(回答)する

 


Web裏技