Apache2.2環境でPerlで参照したgifが表示できません!
今まで自分のPC(Windows Me)でHP(@niftyで公開しています)にアップする前のデバック環境としてApacheとActivePerlをダウンロードをして構築していました。
全く問題無く動作をしていたのですが、PCのハードが調子が悪くなりとうとう動かなくなりました。そこで、この際最新OSのWindows7版PCを購入して可能な限り同じ環境を再構築しようと努力をしているのですが、どうも上手く行かないため助けてください!
今回の環境は、OS=Windows7、Apache=2.2、ActivePer=l5.12です。
Apache=2.2のhttpd.confファイルの内容が以前のものと違うので、このhttpd.confの修正漏れだとは思うのですが・・・
具体的には、TOPページはhtmlで記述し、そのhtmlからPerlプログラムを呼び出す形を取っています。
htmlではgifが正常に表示されるのですが、同じgifをPerlからも参照をしているのですが、gifの絵が表示されません。しかしながら、gifに張ったリンクは正常で、制御は正しくリンク先に移行します。
gifファイルは、下記に在ります。
c:/Program File/Apache Group/Apache2/htdocs/GIF/button-fix.gif
Perlプログラムは、下記のようにしています。
$gif_dir = 'c:/Program Files/Apache Group/Apache2/htdocs';
・・・・
<INPUT TYPE=\"image\" src=\"$gif_dir/GIF/button-fix.gif\">
そして、気になる事があります。
$top = 'c:/Program Files/Apache Group/Apache2/htdocs/index.htm';
・・・・
<A href=\"$top\"><IMG src=\"$gif_dir/GIF/button-fix.gif\" border=\"0\">\">
と記述したgifアイコンにマウスを持って行くと、ウィンドウの左下のリンク先アドレスを表示するエリアに下記のように、字化け(スペースが%20になっている)しているように表示されてこのアイコンだけはクリックしても正しく動作をせず、ノンオぺレーションです。
file:///c:/Program%20Files/Apache20Group/Apache2/htdocs/index.htm'
この程度の情報で原因が判りますでしょうか?
よろしく、お願い致します。
No.2ベストアンサー
- 回答日時:
ローカル環境を構築しているのであれば、
$gif_dir = 'c:/Program Files/Apache Group/Apache2/htdocs';
<INPUT TYPE=\"image\" src=\"$gif_dir/GIF/button-fix.gif\">
ではなくて
$gif_dir = 'http://localhost';
<INPUT TYPE=\"image\" src=\"$gif_dir/GIF/button-fix.gif\">
になるのではないでしょうか?
(DocumentRootがc:/Program Files/Apache Group/Apache2/htdocsだとして)
この回答への補足
kt_yukaさんへ
大変ありがとうございました。
教えて頂いたように、$gif_dir = 'http://localhost'; と書き直すことによってgif画像が正常に表示しました。本当にありがとうございました。
厚かましいようですが、もう1点教えて頂けないでしょうか?
gifファイルは上記の修正で直りましたが、今度はテキストファイルが読み込めなくなりました。
<今までは>
$quizdir = 'c:/Program Files/Apache Group/Apache2/htdocs';
・・・・
・・・・
sub read_quiz {
local($m);
$myquiz = $select_file[$myselect];
&lock_open(QUIZ_IN, "$quizdir/TEXT/$myquiz.$quizext_in");
@quiz_in = <QUIZ_IN>;
&unlock_close(QUIZ_IN);
foreach $m (@quiz_in) { chop($m); }
}
で正常にtxtファイルが読み込めていましたが、gifファイルを参照したように、下記のように変更すると、今度はtxtファイルが読み込めなくなりました。
$quizdir = 'http://localhost';
間違い無く、c:/Program Files/Apache Group/Apache2/htdocs/TEXT/の下には abc.txt が確かにあります。
httpd.confファイルで何か設定ミスか漏れが有るのでしょうか?
よろしく、お願い致します。
kt_yukaさんへ
教えて頂いたように、$gif_dir = 'http://localhost'; と書き直すことによってgif画像が正常に表示しました。本当にありがとうございました。
txtファイルが読み込めない件に関しては、もう少し私の方で勉強をして見ます。
アドバイスを頂き、ありがとうございました!
No.1
- 回答日時:
> $gif_dir = 'c:/Program Files/Apache Group/Apache2/htdocs';
> ・・・・
> <INPUT TYPE=\"image\" src=\"$gif_dir/GIF/button-fix.gif\">
単順にパス間違いに見えます。
このソース本当に以前使って実際に動いていたそのままでしょうか?
この回答への補足
回答を頂き、ありがとうございました。
一応、パスは見直しましたが、正しいように思います。
間違い無く、以前の環境では動いていました。
でも、どこかに私の勘違いが有るのだと思いますが、それが判りません。
先ほど、Apacheのerror.logを開いて見たところ、Starting thread to listen on port 80.と
正常にApacheは起動できていると思いますが、その後、私のプログラムを動作させると下記のようなエラーログが載りました。
[error] [client 127.0.0.1] defined(%hash) is deprecated at c:/Program Files/Apache Group/Apache2/cgi-bin/jcode.pl line 684.\r, referer: http://localhost/index.htm
[error] [client 127.0.0.1] \t(Maybe you should just omit the defined()?)\r, referer: http://localhost/index.htm
[error] [client 127.0.0.1] defined(%hash) is deprecated at c:/Program Files/Apache Group/Apache2/cgi-bin/jcode.pl line 693.\r, referer: http://localhost/index.htm
[error] [client 127.0.0.1] \t(Maybe you should just omit the defined()?)\r, referer: http://localhost/index.htm
そこで、jcode.plの該当行近辺を見ると下記のようでした。
683: local(*s, $n) = @_;
684: &init_z2h_euc unless defined %z2h_euc;
685: $s =~ s/($re_euc_c|$re_euc_kana)/
692: local(*s, $n) = @_;
693: &init_z2h_sjis unless defined %z2h_sjis;
694: $s =~ s/($re_sjis_c)/$z2h_sjis{$1} ? ($n++, $z2h_sjis{$1}) : $1/geo;
このエラーとgifが表示されないのとは関係が無いかも知れませんが、何かの手掛かりとなれば、ありがたいです。
ちなみに、jcode.plのバージョンは2.13です。
よろしく、お願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- ノートパソコン gifアニメ―ションを動画(mp4でOK)にしたい 1 2022/08/14 09:51
- ノートパソコン Outlookメールで本文中のgif動画をDTに保存したい 3 2023/03/09 21:38
- Ameba(アメーバブログ) アメブロは、HTMLのタグの入力を許さないブログ・サイトですか? 1 2023/06/18 18:48
- ホームページ作成・プログラミング アメーバ・ブログは"HTMLタグ"を許可してないのですか? 2 2023/06/17 21:08
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- PHP $filePath = './user_img/' . $file['name'];? 1 2022/12/10 07:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ディレクトリの判別
-
FindFirstFileとFindNextFileで...
-
Perlで フォルダ内の全て...
-
batファイルでrenameができませ...
-
ディレクトリ名を取得したい
-
空白を含むディレクトリにある...
-
LinuxのC言語で、ファイル名の...
-
makefileでファイルをコピー(...
-
パスから最後のディレクトリだ...
-
Windowsで複数のファイルを同じ...
-
awkスクリプトでダブルクォーテ...
-
csvファイルの横方向への改行に...
-
VBAでCSVファイルを途中行まで...
-
ファイルの存在の有無を確かめ...
-
エクセルVBAで素数だけを出力す...
-
バッチファイルの作り方(CSV→...
-
Perlの変数に文字数制限(容量...
-
openした後、closeしないでプロ...
-
オープンしたファイルで行の連結
-
ReadLineでの読み出し行を指定する
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
batファイルでrenameができませ...
-
vba dir の相対パス
-
パスから最後のディレクトリだ...
-
Windowsで複数のファイルを同じ...
-
readdir()で得られるファイル・...
-
FindFirstFileとFindNextFileで...
-
ディレクトリ名を取得したい
-
ディレクトリの判別
-
dos変数の%~dp0は powershellで...
-
Net::FTPを使いファイル一覧の...
-
Perlで フォルダ内の全て...
-
複数のCSVファイルを一つのCSV...
-
makefileでファイルをコピー(...
-
C言語でファイル名を取得
-
サーバーにある特定の拡張子フ...
-
LinuxのC言語で、ファイル名の...
-
perlのNet::FTPで、ファイルか...
-
シンボリックリンクを検出でき...
-
正規表現で、特定のファイル名...
-
ファイル名の文字コード(?)と...
おすすめ情報