- ベストアンサー
画像が表示できません。
print "Content-type: image/gif\n\n"; open(IMG,"./1.gif"); $img =(IMG); close(IMG); print $img; 画像ファイル "http://0.0.0.0/a.cgi" は壊れているため、表示できませんでした。 となり表示ができません。
- sa7s0ylx
- お礼率1% (2/114)
- Perl
- 回答数3
- ありがとう数8
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2ですが、いまひとつ書き方がよくなかったので再度 open(IMG, "./1.gif"); binmode(IMG); binmode(STDOUT); # STDOUTにもbinmode必要だったかな? print "Content-type: image/gif\n\n"; while (read(IMG, $img, 1024)){ print $img; } close(IMG);
関連するQ&A
- 画像ファイルが崩れる
Perlで、CGIを作成しています。 GIF画像をCGI経由で表示させようと思っているのですが、なぜか、画像が崩れてしまいます。GIFだけではなく、Jpegでも同じです。しかし、HTMLファイルの <img>タグでそのまま表示させようとすると、きちんと表示します。 どのようにすれば、崩れを抑えられますか? CGIソース---------------------- #!/usr/local/bin/perl $imgsrc="number/0.gif"; print "Content-type:image/gif\n\n"; open(IMG,$imgsrc); binmode(IMG); print <IMG>; close(IMG); -----------------------------EOF HTML---------------------------- <html> <head> </head> <body> <img src="cgi/image.cgi" width="28" hegiht="31"> </body> </html> ------------------------------EOF gif画像は、 http://www.akikobrand.com/icon/img/10/6/0.gif を使わせていただきました。(個人的な使用です)
- ベストアンサー
- CGI
- 画像サイズの指定方法
$img = 'image.png'; open(IMG,"$img"); $byte = -s $img; print "Content-type: image/gif\n"; print "Content-length: $byte\n\n"; print <IMG>; close(IMG); exit; 上記のように画像を表示させているのですが、縦横サイズは どのように調整すればよろしいのでしょうか。 よろしくお願いいたします。
- ベストアンサー
- Perl
- cgiで表示するhtmlページ内でバイナリ画像を出力したい
cgiで表示するhtmlページ内でバイナリ画像を出力したい 「CGI 画像出力」でググったページで下記のコードがありました。 下記コードは、 Content-typeをimage/gif等にして バイナリを print すれば表示される という書き方になっていると思いますが、 content-typeがtext/html のページ内でバイナリをprintした場合 バイナリが文字列としてグシャァァァと表示されてしまいます。 ------- $view = 'aaa.jpg'; print "Content-type: image/jpeg\n\n"; #コンテンツタイプを指定する open IMGG,"$view"; #ファイルハンドル IMGGに画像ファイルを読み込む binmode (IMGG); #画像なのでバイナリモードに設定する print <IMGG>; #ファイルハンドルを画面に書き出す close (IMGG); #ファイルハンドルを閉じる exit; ------- content-typeがtext/htmlの状態でバイナリの画像を表示するには どうすればよいのでしょうか? cgiを2つ用意して、上記のコードを img src=~~.cgi という形で 呼び出すしかないのでしょうか?
- ベストアンサー
- Perl
- CGIで画像表示されなくGIF89aXとなります、なぜ?
CGI初心者です。 CGI可のレンタルサーバーで、CGIで画像を表示させたいのですが、 ブラウザで見ると画像がでません。 画像の位置、パーミッションなどは何度も確認しました。 転送はバイナリです。 ------------- #!/usr/bin/perl $view = 'r1.gif'; print "Content-type: image/gif\n\n"; open IMGG,"$view"; binmode (IMGG); print <IMGG>; close (IMGG); ------------------------ このCGIのhttp:~CGIを直接打つとブラウザに 「GIF89aX」とでて画像が出ません。 画像をhttp:~で直接指定するとちゃんと画像が出ます。 なぜでしょう? すぐに回答ほしいです。 どなたか詳しい方、よろしくお願いしま~す。
- ベストアンサー
- CGI
- HTMLのファイルにCGI処理結果を表示する
まずトップページはhtmlで作ります。 そのトップページにいつも変化する所があるのでcgiで処理を施したものをhtmlに貼り付けたいと思っています。 その場合に例えば画像を出力させる場合は <IMG src="cgi-local/top.cgi"> で指定し、 #!/usr/local/bin/perl print "Content-type: image/jpeg\n\n"; open FH,"<../image.jpg"; binmode FH; binmode STDOUT; print while(<FH>); close FH; をやれば動かせますが、これを画像ではなくhtmlを表示させるためには print "Content-type: image/jpeg\n\n"; を print "Content-type: text/html\n\n"; に変更する事により可能だと思いやってみたのですが、うまく出力できませんでした。 cgi処理をうまくhtmlに貼り付ける方法があるのでしょうか。どうか教えて頂けないでしょうか?お願します。(涙)
- ベストアンサー
- CGI
- 画像とtxtファイルの表示
現在CGIでtxtファイルが表示されるように print "Content-type: text/html; charset=euc-jp\n\n"; $count = 0; $viewline = 1; open(IN, "A.txt"); while(<IN>){ if($count == ( $viewline - 1)){ $line = $_; last; } $count++; } close(IN); print "$line\n"; としています。 ここでさらに画像も一緒にCGIで表示させたいのですが、そうゆうことはできるのでしょうか? できるのであれば教えて頂きたいです。調べてみたのですがなかなか見つからなくて・・・。 よろしくお願いします。
- 締切済み
- CGI
- Perl内でPHPの出力結果を表示したい
Perl製のCGI内で、PHP製のランダムバナー表示CGIを呼ぼうとしたのですが、下記のようなエラーが出てしまいました。 いろいろ試行錯誤したのですが、お手上げです。 どのように修正したらよいでしょうか? なお、ランダムバナー表示CGI 単体だけを実行したときは、正常に表示されています。 [index.cgi] #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n<BODY>\n\n"; $ImgFileName="./ad.php"; open(IN, "$ImgFileName |"); while (<IN>) { $str=$str.$_; } close(IN); print $str; [ad.php] <?php $_1 = ('<img src="http://example.jp/a.gif">'); $_2 = ('<img src="http://example.jp/b.gif">'); $img_arry = array("$_1","$_2"); srand((double)microtime()*1000000); $num =array_rand($img_arry); $image = $img_arry[$num]; echo "$image"; ?> [表示された内容] ./ad.php: ?php: No such file or directory ./ad.php: line 2: syntax error near unexpected token `('' ./ad.php: line 2: `$_1 = ('【a.gifの画像】);'
- 締切済み
- Perl
- gifcatで生成された画像にリンクを貼りたい
自分用にカウンターcgiを作っています[ファイル名count.cgi] gifcat.plで連結して表示されたカウンター画像に リンクを自動で付けたいです。 (カウンター画像をクリックすると指定されたページにいけるようにしたい) count.cgiの出力部分は 1行目 print "Content-type: image/gif\n\n"; 2行目 print &gifcat'gifcat(@numimg); ですが、2行目に細工して 1行目 print "Content-type: image/gif\n\n"; 2行目 print <a href=http://XXX.jp> &gifcat'gifcat(@numimg) テスト</a>; としてもうまく行かないです。 皆さんお手数ですが、良い解決方法があれば教えてください。 宜しくお願いします。
- ベストアンサー
- CGI
- 下記の様に、単一の画像ファイル「a.jpg」を呼び出して、
下記の様に、単一の画像ファイル「a.jpg」を呼び出して、 HTMLのBODY内に表示するCGIが在るのですが、 これを、特定のファイルに入っている複数の画像を、 HTML側で指定して呼び出し、表示させる事は可能でしょうか。 また、その際に、大きさの不均一な画像を指定した 縦横サイズ以内に、元の縦横比率を保ったまま表示させる事は可能でしょうか。 その方法などご教授頂ければ幸いです。 宜しく、お願いします。 #!/usr/bin/perl $view = 'a.jpg'; print "Content-type: image/jpeg\n\n"; open IMGG,"$view"; binmode (IMGG); print <IMGG>; close (IMGG); exit; <body> <IMG src="print.cgi" border="0"> </body>
- ベストアンサー
- CGI