• ベストアンサー

HTMLのファイルにCGI処理結果を表示する

leiqunniの回答

  • leiqunni
  • ベストアンサー率27% (8/29)
回答No.5

では、お使いのサーバが「CGIは決められたディレクトリでないと実行できない」 という設定になっているのだと思います、残念ながら。 あとは「SSIを使う」という手もありますが、こちらの方が禁止されている 可能性が高いです。ちなみにSSIとは、 <html> <body> <!--#exec cmd="date"--> <body> <html> と書いたときに、unixのコマンドであるdateが実行されて、 その標準出力がその行に埋め込まれる機能です。 参照URLのサイトでは、index.cgiを使っていて http://atashi.net/ でも http://atashi.net/index.cgi のどちらでも見ることができます。

参考URL:
http://atashi.net/

関連するQ&A

  • 普通の html に cgi を使って画像を・・

    ソースお手本表を見ながら質問タイトルのようなことをやりたいと思いました。 結果はHTMLを実行すると通信が1分から3分ぐらい通信を行い、最後には画像を表示しないようなります。 どこがおかしいのかおしえていただけないでしょうか? どうかお願いします。 ------------------------------------------------ #!/usr/local/bin/perl #use DBI; print "Content-type: image/jpeg\n\n"; open FH,"<image.jpg"; binmode FH; binmode STDOUT; print while(FH); close FH; ------------------------------------------------

    • 締切済み
    • CGI
  • 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経由でのPDFファイルをダウンロード

    こんにちは。 CGIの初心者です。 今CGI経由でのPDFファイルをダウンロードするというプログラムを作っています。 ただ、ダウンロードしたファイルは開けなく、エラーが出ます。ファイルを確認すると0バイトです。原因はよく分からないので、誰かが教えてください。ありがとうございます。 コードです: $filename = './data/sheet.pdf'; $source = $filename ; print qq|Content-type: text/plain\n|; print qq|Content-Disposition: attachment; filename="$filename"\n|; print qq|\n|; #-- ファイルを読み込んで出力 open(FILE,"$source"); binmode FILE; binmode STDOUT; while(read(FILE, $value, 4096)){ print $value; } close FILE;

    • 締切済み
    • CGI
  • 圧縮ファイルの取得

    http://okwave.jp/qa/q8823112.html こちらで質問させていただいたように、/public_html/file.zipではなく、/file.zipの ファイルをダウンロードさせるために以下の方法を取りました。 print "Content-type: application/x-tar\n\n"; open( FH, "$filename" ); binmode FH; binmode STDOUT; print <FH>; close( FH ); この方法では、ブラウザで表示させてダウンロードできるようになったのですが、 これをperlで、wgetか、何かを使って取得したいと考えています。 ところが、wgetで試したところ、zipファイルではなく、cgiページ自体のソースの取得になってしまいました。 zipファイルを取得するにはどのようにしたらよいのでしょうか。 perlの知識があまりないので、どうしても解決できません。 宜しければ具体的に書き方を教えていただけると大変助かります。どうぞよろしくお願いいたします。

    • ベストアンサー
    • Perl
  • perlで動画を表示させたい

    perlで動画を表示させたいのですがうまくいきません。 print "Content-type: video/mpeg\n\n"; open FH,"foo.mpg"; binmode FH; binmode STDOUT; while (<FH>) { print STDOUT; } close FH; exit; MIMEのタイプがちがうのですか? サーバーに設定されているMIMEタイプです。 video/mpeg mpeg mpg mpe video/quicktime qt mov video/x-msvideo avi video/x-sgi-movie movie

    • ベストアンサー
    • CGI
  • CGIへ飛ばずに処理だけさせたい

    HTMLのフォームからsubmitしてcgiにアクセスする。 cgiでHTMLからのポストとゲットを読み込んで ログファイルに書き込む。 というCGIを作ったんだけど、 print "Content-type: text/html\n\n"; を書かないと、submitしてからcgiの処理が 止まらないみたいでした。 print "Content-type: text/html\n\n"; を書くと、処理は正常になるけど、cgiファイルに ジャンプしてしまいます。 openで書き込みをする場合、cgiに飛ばずに 処理する方法を教えてください。

    • ベストアンサー
    • CGI
  • perlで画像表示

    htmlファイルから<img src="./aa.cgi">と書いて連続した画像を表示させたいのですが @aa =(1,2,3); foreach(@aa){ open(IMG, "./$_.gif"); binmode(IMG); binmode(STDOUT); print "Content-type: image/gif\n\n"; read(IMG, $img, 1024); print $img; close(IMG); } こう書いたらだめなのでしょうか?

    • ベストアンサー
    • Perl
  • HTMLからCGIへデータを引き継ぎ

    HTMLでメールフォームを作りCGI(Perl)で次のプログラムを作りました。 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "$mail\n"; print "$namae\n"; print "$naiyou\n"; 動作確認のためプログラムは少しにしました。何も表示されません。

    • ベストアンサー
    • Perl
  • バイナリファイルの出力

    「test.dat」というファイルをブラウザから ダウロードさせるためにバイナリ出力をしたいのですが、 空ファイルばかりできて上手くいきません。 以下のようなコードなのですが、どこが悪いでしょうか? ご教授ください。お願いします。 症状:ブラウザからダウンロードすると、ファイル名は正しいが 空のファイルになっている 環境:perl 5.8.7 windows server2003 ----------------------------------------------------------- #!/usr/local/bin/perl print "Content-Disposition: attachment; filename=\"test.dat\"\n"; print "Content-Type: application/octet-stream\n\n"; open(IN, "test.dat"); binmode(IN); binmode(STDOUT); print while (<IN>); close(IN); -----------------------------------------------------------

    • ベストアンサー
    • Perl
  • CGIスクリプトの結果が表示しない

    windows2000 proffesinal sp.4でActivePerl5.8.8..819・・・・、Apache2.054の環境で"10日で覚えるPerlCGI"を使用。IEバージョンは5でページを「表示できません」のエラーがときたまでる。 上記環境でApacheは正常に動作。TeraPad使用。CGIスクリプト1-2.cgiとして作成。 #! C:/perl/bin/perl # CGIヘッダーの出力 print "Content-type: text/html\n\n"; print "<DOCTYPE HTML PUBLIC \n-//W3C//DTD HTML4.01//EN\">\n"; print "<html>\n"; print "<head><title>Hello HTML</title></head>\n";# htmlの出力 print "<body><p>こんにちわ。これはHTML文書の例です。</p></body>\n"; print "</html>\n"; 上記スクリプトを1-2.cgiとしてApaghe2-htdocs-tendaysに保存 IEのURLに:: http://127.0.0.1/tendays/1-2.cgiと入力・・・そして下記の表示が出ました。 #! C:/perl/bin/perl# CGIヘッダーの出力print "Content-type: text/html\n\n";# htmlの出力print "\n"print こんにちわ。これはHTML文書の例です。 \n";print" "; 原因を教えてください。windows7 64bit でもこのようにスクリプトだけが表示されたことがあり(perl,Apacheのバージョンも最近のものを使用)その時は、相談室にお世話になりながら自分の 未熟さにあきれお尋ねしなかったのですが、最後HTML5を習えばのお答えで、今。参考書を買って人通り見たのですが、フォームメールや掲示板はやはり裏でCGIが動作しているので。また古いパソコンで始めたのでしたが最初からつまずきました。doreamweaber もあるのですが、能力がないのに 人様の作成したフりーソフトをスクリプトの意味が分からず貼り付けるのはいささか情けないかなと 考えています。最終的にはそうなると思っていますが、できればsendmailを使用したCGIスクリプトとかんがえています,が。とりあえず一歩一歩づつと思っています。10年以上前に作成したホームページをアップしっぱなしです。メールが送信できません。当時のプロバイダーがocnでその時提供されたもので裏でCGIが動いているなんて知りませんでした。今biglobeです。 自分の作りかけのホームページのURLは http://www7b.biglobe.ne.jo/~asunarohei/indexhei.htmlです。メールのスクリプトを貼り付けたいのです。それと掲示板をリンクさせたいです。 わからないことだらけで、ご迷惑かけますがよろしくお願いします。