新規記事投稿 フォロー記事投稿 記事のキャンセル
From: にあ <nir@mxa.meshnet.or.jp>
Subject: Re: CGIで教えて下さい。
Date: 1997/05/07 09:06:28
Reference: mesh.open/00349

5月7日に、おとくさんは書きました。

>Q:私の管理しているWSのWebサーバのログをリモートのブラウザで
>    表示または、ダウンロードしようとして、以下のCGIスクリプトを
>    かきました。
>    
>    #!/bin/sh
>    echo "Content-type: image/gif"
                         text/html ですか?? (^^;;
>    echo ""
>    cat /home/ns-home/logs/access                  
>
>    しかし、ブラウザに表示される、ログファイル(ここでは access )
>    が1行ずつ改行せずに、連なって表示され、非常に見づらくなって
>    しまします。
>    ちゃんと、1行づつ改行するにはどうしたらよろしいのでしょうか?
>
単にファイルの内容を表示したいのなら、コンテンツの種類は text/html では無く、

Content-Type: text/plain 

を選ぶと良いでしょう。

>Q:CGIスクリプトにテキストと画像を表示させようとして、以下のスクリ
>    プトを書いてみましたが、だめでした。どうしたらよろしいのでしょうか?
>
>    #!/bin/sh
>    echo "Content-type: text/html image/gif"
>    echo ""
>    date
>    echo "Content-type: image/gif"
>    echo ""
>    cat ../gif/test.gif
>
>
一つのセッションでは、一つのコンテンツしか送れません。

単にスタティックな画像を入れたいのですよね?
なら単純に <IMG> タグを書けばいいだけですので、

#!/bin/sh
echo "Content-type: text/html"
echo ""
echo "<HTML><HEAD><TITLE>Title</TITLE></HEAD><BODY>"
date
echo '<IMG SRC="../gif/test.gif">'
echo "</BODY></HTML>"

でしょう。
改行等が必要なら、HTMLに則って適宜入れて下さい。