カテゴリがデータベースではなく、CGIのようなので、移動しました。
CGIROOMさんの「簡易高機能検索専用データベース SJIS版 Ver 2.04」を使おうとしています。中田 昭雄さんのhttpd 1.42pを使ってオフラインでの動作を確認した後、以下のようにサーバに設置しました。
/┐
├anon_ftp
├bin
├cgi-bin┐
| ├database.cgi[755]
| ├jcode.pl
| ├onlyone.pl
| └jtc.csv(CSVデータ)
|
├conf
├error_docs
├httpdocs┐
| ├index.html
| ├area_1.html
| ├(etc)
|
├httpsdocs┐
| ├html.htm(データ検索表示用)
| ├html3.htm(データ検索表示用)
|
├pd
├private
├statistics
├subdomains
└web_users
こうしたところ、「データファイルを開けません」と表示されて困っています。
パスの設定は
1.area_1.html
<FORM action="../cgi-bin/jtc/database.cgi" method="GET">
<blockquote>
2.database.cgi
# 初期設定
#◆ jcode.plまでのパス
$require = './jcode.pl';
#◆ onlyone.plまでのパス
$onlyonepl= './onlyone.pl';
#◆ データファイルまでのパス
$SEEK{'default'} = './jtc.csv';
#◆ テンプレートファイル設定
$html{'default'} = '../../httpsdocs/jtc/html.htm';
$html{'list3'} = '../../httpsdocs/jtc/html3.htm';
です。CSVの格納場所が悪いのか、パス設定が悪いのか、ご指摘お願いしたくよろしくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
「データファイルが見つかない」だけでは、漠然としていて状況がよくわかりません。
Perl にはグロブや opendir やファイルテスト演算子などが用意されているので、
簡単な CGI を作って調べてみてはいかがでしょうか。次の CGI プログラムは、パスが
間違っていればその旨を、パスが合っている場合はそのディレクトリのファイルリスト
をブラウザに表示します。
#!/usr/bin/perl
use strict;
use CGI::Carp qw(fatalsToBrowser);
opendir DIR, "../../httpdocs" or die "Can't open $!";
print "Content-type: text/html\n\n";
print "<html><head><title>Path Check</title></head><body>\n";
while (my $file = readdir DIR) { print "$file<br>\n"; }
print "</body></html>\n";
closedir DIR;
回答ありがとうございます。
こうやって確認するのですね。勉強になりました。
Pleskレンタルサーバでは
「cgi-binがhttpdocs(インターネット上のルートディレクト
リ)の外にある理由はプログラムを配置する上で、外部からの
アクセスを排除するためですが、実際上はhttp:// から始まる
アドレスでアクセスできないといけないわけで、
実際の呼び出しはhttp://www.g-rest.com/cgi-bin/cgiファイル
と
いう構造になります。そのため、データファイルが、仮にcgi
と同じディレクトリにある場合には、構造上は、ルートの上の
ディレクトリから呼び出すか、
http://www.g-rest.com/cgi-bin/jtc/データファイル
という風にしなくてはなりません。」
が、特にcgi-binにCGIソースを置く必要はない(どこでもいい
そうです)とのことで、
httpdocs/CGI/databese.cgi
httpdocs/CGI/jtc.csv
cgiでのcsvへのデータpathを ../CGI/jtc.csv
とすることで解決しました。
ご回答くださった皆様、ありがとうございました。
No.2
- 回答日時:
Web サーバーの設定によっては、cgi-bin 等の cgi ディレクトリは cgi の専用になって
いて、画像ファイルや csv 等のデータファイルを置けない場合があります。csv ファイル
を httpdocs 等の他のディレクトリの配下に移動してテストしてみては?
ご回答ありがとうございます。
jct.csvを httpdocs、httpsdocs、anon_ftp、privateの下に順次コピーして、
database.cgiのパス設定を
../../httpdocs/jct.csv
../../httpsdocs/jct.csv
../../anon_ftp/jct.csv
../../private/jct.csv
にその都度書き換えてみましたが、「データファイルが見つからない」のままでした。
No.1
- 回答日時:
<FORM action="../cgi-bin/jtc/database.cgi" method="GET">
↓
<FORM action="../cgi-bin/database.cgi" method="GET">
$html{'default'} = '../../httpsdocs/jtc/html.htm';
$html{'list3'} = '../../httpsdocs/jtc/html3.htm';
↓
$html{'default'} = '../../httpsdocs/html.htm';
$html{'list3'} = '../../httpsdocs/html3.htm';
ぱっと見たところこのへんでしょうか。
ご回答ありがとうございます。
掲載したディレクトリ構造が古かったのですが、
「cgi-binの直下でないといけないかも?」とファイルを移動しパスを書き直して
実験してみましたが変わりませんでした。
正しいディレクトリ構造を載せ直します。
/┐
├anon_ftp
├bin
├cgi-bin┐
| └jct┐
| ├database.cgi[755]
| ├jcode.pl
| ├onlyone.pl
| └jtc.csv(CSVデータ)
|
├conf
├error_docs
├httpdocs┐
| ├index.html
| ├area_1.html
| ├(etc)
|
├httpsdocs┐
| └jct┐
| ├html.htm(データ検索表示用)
| ├html3.htm(データ検索表示用)
|
├pd
├private
├statistics
├subdomains
└web_users
なお、レンタルサーバは Plesk です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- Excel(エクセル) Power Query で取り込むデータのパスを相対パスに出来ませんか? 3 2022/04/05 18:31
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
private_htmlについて
-
EXCELファイルに誰がアクセスし...
-
URLに~/cgi-bin/~を隠す方法
-
カタカナを英語やフランス語に...
-
VBScriptで、ファイルから任意...
-
cgi-bin内に.htaccess
-
FC2にwebPatio設置の方法
-
VBAを使用して、外部サーバのフ...
-
《エクセルVBA》「他の人が該当...
-
FTPを使わずにHTTP経由でiアプ...
-
CGI実行環境下の.jsや.cssが動...
-
VBAでサーバーにアクセスするに...
-
htmlに外部のcgiを読み込む
-
CGIプログラムをインターネット...
-
perl/cgiでjpeg画像のクリック...
-
Perlプログラム上でアラートを表示
-
シェルで書いたプログラムをper...
-
アクセス制限がうまく動かない
-
CGIのディレクトリについて詳し...
-
USTREAMのような動画配信システ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlにアクセスと同時に、あるC...
-
CGIでコードがむきだしの状態で...
-
メールフォームのCGIでデータが...
-
フォームの情報が送信されるよ...
-
public_html外でCGIやPHPを動か...
-
携帯とPCの振り分け
-
自社サーバー異常発生。CGIがポ...
-
IISのSSIの設定について
-
Forbiddenの意味
-
サイト内のファイルの更新日を...
-
http://tydsu.com/oeder と後ろ...
-
1-man.netでメールフォームの設...
-
.htaccessを用いて.cgiを.html...
-
YY-BOARDについて
-
utf-8で作成した。formmailのht...
-
花の名前を教えてください。 8...
-
表示画面が真っ白になる場合、...
-
メールフォームの設定なのです...
-
private_htmlについて
-
第1のPC(192.168.0.1)の/var/ww...
おすすめ情報