|
>>2441 ぶぶ さん: 1本目のプログラムですけど動きましたよ、、;;; test.jpg がなくてもちゃんと動きますね。 その場合はおっしゃるような症状になります。 ということで、test.jpg があるディレクトリが カレント ディレクトリな状態で実行してないとか、、。 test.jpg を C:\test.jpg とかフルパスで指定するとどうなります? #これ便利だなー^^ |
|
ふくしさん、お返事ありがとうございます。 C:\〜\test.jpg のように、フルパス指定したら動きました。 あと、DOS窓では./test.jpgでもうまくいきました。 でも、CGIとしてAN-HTTPD(ver1.37c/PerlISを利用)を通して 動作させると、CGI(test.cgi)と同じディレクトリにtest.jpg がある時に、フルパスならうまくいくのに./test.jpgでは、やっ ぱりうまくいきませんでした。 で、いろいろやっていると、PerlIS.dllを使うとうまくいかず、 Perl.exeを使うとうまくいくことが分かりました。 PerlISの問題だったようです。 でも、とりあえず動作させることができたので、解決です。 ありがとうございました。 #ちなみに同じような処理(画像の縮小拡大)はGDでもできますが、 #jpeg画像を縮小したときの画質はGDよりImageMagickの方が、 #なめらかできれいでした。 |
|
>>2444 ぶぶ 解決したようですが、ふつーは $i = Image::Magick->new or die "$!"; $i->Read('test.jpg') or die "$!"; $i2 = $i->Clone() or die "$!"; などと、エラーチェックをするものです。 と書こうと思ったら、Read は存在しないファイルを開いても 0 を返さないから、die じゃあダメなんですね。 $ret = $i->Read('a.gifs'); とかして、$ret を調べて、 Warning 330: Unable to open file (a.gifs) [No such file or directory] とかを解析しないといけないらしいです。Image::Magick、ダメすぎ。 >>2443 ふくし > しかもブラウザーが渡す URL の文字列は必ず sjis。 http: //host/dir/hoge.cgi?ほげ とかですか? |
|
>>2445 68user さん: >> しかもブラウザーが渡す URL の文字列は必ず sjis。 > http: //host/dir/hoge.cgi?ほげ > とかですか? http://host/dir/hoge.cgi?hoge=ほげ とかです。 CGI には sjis で渡るのに、表示は正常に行なわれます。 |
|
どうも、ご無沙汰しております。yujiです。^^ お世話になっております。 現在、windows2000+apache+activeperlの環境において、 CGI(perl)からapacheの再起動等を行いたいのですが、 apacheのパスにスペースが入っているためか、 コマンドを実行できず、困っております。^^; 具体的には、 パスが、 d:\Program Files\Apache Group\Apache\Apache.exe のような形です。 実行部分は、 $cmd="d:\\Program Files\\Apache Group\\Apache\\Apache.exe -w -n \"Apache\" -k restart"; system($cmd); のような形です。 パスのスペース部分をアンダースコアに変更して試してみたりも したのですが、うまくいかないようでして。^^; それぞれのフォルダ名にスペースを含めないようにすれば、 解決できるのかもしれませんが、スペースがあった場合に 対応できないものか、と思いまして。 みなさんなら、どうされますか? もしよかったら、アドバイスを、 どうぞよろしくお願いいたします。 |
|
>>2447 yuji Windows で perl スクリプトを作ったことがないのでアレですが、 $cmd="\"d:\\Program Files\\Apache Group\\Apache\\Apache.exe\" -w -n \"Apache\" -k restart"; はどうですか? >>2448 68user > http://host/dir/hoge.cgi?hoge=ほげ まぁ、規格で定まっていない部分ですから仕方ないですね。 IE だと (設定次第ですが) UTF-8 で送ることもありますし。 |