CGIがヘッダを書き出すとき、MIMEと一緒に日付けを出力できたと思うんですが、そのやり方が分かりません。
 HTML仕様書は本当に仕様だけだから、ということなのかどうか分かりませんが、書いてあることがいまいち的を得ていません。
 誰か分かる方お願いします。たしか、

Content-type: html/text
Date: Web Jan 00:00:00 9 2001

 こんな感じになるはずなんですが。

A 回答 (1件)

実際に出力されているのを見たら,



Date: Thu, 25 Jan 2001 11:29:38 GMT

こんな感じになっていました.私が使っているLinuxのdateコマンドだと,

date +'%a, %d %b %Y %T %z'

で同じようなものが出力されますね.
    • good
    • 0
この回答へのお礼

 ありがとうございます。

 さっそくCGIを対応しました。
 でも、ちゃんと対応できたかどうかいまいち自信がありません(^_^;
 対応できたかどうかを確認する方法があればいいんですが、今のところないんですよね(笑)

お礼日時:2001/01/25 23:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q00月00日00時00分→0000年00月00日00時00分

すみません。
これを、西暦年表示を加えたものにしたいのですが、どうすればよかったでしょうか…。

見本:  2007年01月04日12時59分


*-*-*-*-*-*-*-*



sub time_get {
@ts = localtime(time);# $ts[4]月:$ts[3]日:$ts[2]時: $ts[1]分
$tm = time;
$ts[4]++;
$ts[5] = $ts[5] +1900;
if ($ts[1] < 10) { $ts[1] = "0$ts[1]"; }
if ($ts[2] < 10) { $ts[2] = "0$ts[2]"; }
if ($ts[3] < 10) { $ts[3] = "0$ts[3]"; }
if ($ts[4] < 10) { $ts[4] = "0$ts[4]"; }
$ad = $ENV{'REMOTE_ADDR'};
$ip = $ad . gethostbyaddr(pack("C4",split(/\./,$ad)),2);



*-*-*-*-*-*-*-*


sub rank_in {
$file_name = "list1.txt";
&file_read;

$now_tm = "$ts[4]/$ts[3] $ts[2]:$ts[1]";

foreach $line (@data){
($k,$i,$name,$ips,$j) = split(/,/,$line);
if ($ip eq $ips || $name eq $FORM{name})
{
$line ="";
if( $gt > $k )
{$gt=$k; $now_tm = $i;}
}
push(@rank,$line);

}
@data = @rank;

$t=$FORM{total};
$line = substr( " $t" , length $t, 10);
if($FORM{home} eq 'http://'){$FORM{home} ='';}

$line = "$line,$now_tm,$FORM{name},$FORM{comt},$FORM{home},$ip,\n";
push(@data,$line);
push(@data,"end");
@data = sort(@data);

@rank =();$i=0;
foreach $line (@data) {
if (++$i == $rank_save || $line eq "end" ) { last; }
push(@rank,$line);
}
@data = @rank;
&write_file;
}

すみません。
これを、西暦年表示を加えたものにしたいのですが、どうすればよかったでしょうか…。

見本:  2007年01月04日12時59分


*-*-*-*-*-*-*-*



sub time_get {
@ts = localtime(time);# $ts[4]月:$ts[3]日:$ts[2]時: $ts[1]分
$tm = time;
$ts[4]++;
$ts[5] = $ts[5] +1900;
if ($ts[1] < 10) { $ts[1] = "0$ts[1]"; }
if ($ts[2] < 10) { $ts[2] = "0$ts[2]"; }
if ($ts[3] < 10) { $ts[3] = "0$ts[3]"; }
if ($ts[4] < 10) { $ts[4] = "0$ts[4]"; }
$ad = $ENV{'REMOTE_...続きを読む

Aベストアンサー

すいません、訂正します。

誤)
$now_tm = ("%04d/%02d/%02d %02d:%02d", $ts[5], $ts[4], $ts[3], $ts[2], $ts[1]);

正)
$now_tm = sprintf("%04d/%02d/%02d %02d:%02d", $ts[5], $ts[4], $ts[3], $ts[2], $ts[1]);

QCGI:HTML表示結果のカスタマイズとタグの隙間

お世話になります。
CGIはフリー配布されているものをわずかに触る程度の初心者で、足りないことを申し上げてしまうと思いますが教えていただけますと嬉しいです。

今、「リンクラリー」というフリー配布のCGIをさわっています。
これをベースにwebスタンプラリー(リンクバナーをスタンプ画像にしたり)として何とか雰囲気だけは近づけたのですが、どうしても表示を思うようにできなかったり、「どうしてこここにこの隙間ができるんだろう…」と自分では解明できない状況が生じました。
CGI配布元様:http://exdreams.net/room/contents/e_lrarry.html

(1)進捗を確認する「user_rarrylist.html」の一覧表を、5列×3行(15マス)として表示したいのですが、<!--START RARRY LIST--><!--END RARRY LIST-->で繰り返し処理(スタンプゲット)を挟むと、次の処理との間に隙間ができてしまいます。
TABLEで背景画像(スタンプシート)とWIDTHを指定していますが、ゲットしたスタンプ(IMG)がずれていきます(背景とうまく重ならない)。
●TDタグ使用→TDタグで15個生成されるため、横に15マスの長い表ができてしまう。

(2)指定したID名にゲットスタンプを放り込む、などという方法は思いついても、実現可能かどうかさえ分かりませんでした。

(2)DIVタグのID属性(名前)を利用して、ボックスの表示・非表示をコントロールすることは可能でしたが、やはり隙間の問題と、思った順番(スタンプA→ボックス1に表示)することができませんでした。

(1)(2)(3)(4)(5)
(6)(7)(8)(9)(11)
(12)(13)(14)(15)(16)
このように「5×3」で番号順に(ゲット順に影響受けず)表示ができればと思っております。
もし可能であれば、教えていただけますと嬉しいです。
よろしくお願いいたします。

お世話になります。
CGIはフリー配布されているものをわずかに触る程度の初心者で、足りないことを申し上げてしまうと思いますが教えていただけますと嬉しいです。

今、「リンクラリー」というフリー配布のCGIをさわっています。
これをベースにwebスタンプラリー(リンクバナーをスタンプ画像にしたり)として何とか雰囲気だけは近づけたのですが、どうしても表示を思うようにできなかったり、「どうしてこここにこの隙間ができるんだろう…」と自分では解明できない状況が生じました。
CGI配布元様:http://exdr...続きを読む

Aベストアンサー

普通にリストとしてマークアップして、スタイルシートでフロートさせれば良いです。
文書の整形のためにtableを使用するのは禁忌でもあるし・・
『単に文書内容を整形する目的だけで表を用いるべきでない。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.1 )』
『ページレイアウトの目的で表を用いる。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/present/styles.html#h-14.1 )』

 それを、ウィンドウ幅に合わせて伸縮させれば良いです。mediaquery使ってウィンドウ幅で列数を変更することも可能になります。
[例]
<ol id="PartyList">
 <li>内容</li>
 <li>内容</li>
・・・
ol#PartyList,ol#PartyList li{list-style:none;margin:0;padding:position:relative;}
ol#PartyList li{width:19%;float:left;}

普通にリストとしてマークアップして、スタイルシートでフロートさせれば良いです。
文書の整形のためにtableを使用するのは禁忌でもあるし・・
『単に文書内容を整形する目的だけで表を用いるべきでない。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.1 )』
『ページレイアウトの目的で表を用いる。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/present/styles.html#h-14.1 )』

 それを、ウィンドウ幅に合わせて伸縮させれば良いです。mediaquery使ってウィンド...続きを読む

Qmimeの取得方法

ファイルパスから、そのファイルのMIMEを取得するようなShellコマンドor関数ってありますか?

ご存知の方、宜しくお願い致します。

Aベストアンサー

がると申します。
んっと…1の段階では、「ヘッダ」と呼称される部分に、Content-typeという形でMIMEの情報が載っております。
そのために、取得が可能です。
2番で「データ(これはボディ部と呼称されます)」だけを保存していると思われるので。
だとすると、ヘッダ部がロストしてますから、3番での取得は難しくなります。

ですので、方法としては
・データ保存のタイミングでContent-type情報も一緒に保持するようなロジックにする
・#1さんが書かれているような「拡張子を基準にしたMIME type取得にする」
のいずれかになると思われます。

QMIMEタイプの設定を上書き

お世話になっております。

今cgi-binの中でしかcgiが動かないサーバーを借りていてcgi-binの中からcssや画像を呼び出そうと考えております。サーバではcgi-bin以下はすべてcigスクリプトとして解釈するためそのままではいけません。

そのためいろいろやってみてすべてのファイルをcgiスクリプトとしてでなく画像ファイルなら画像、JSファイルならJSと認識させることに成功したのですが、
cssだけがなぜかうまくいきません。

以下そのために行ったことと調査結果です。

.htaccessが使えるので.htaccessに

AddType image/jpeg .jpeg .jpg .jpe
AddType image/png. png
AddType text/html .html .htm
AddType text/css .css
(略...)

AddHandler image/jpeg jpeg jpg jpe
AddHandler image/png png
AddHandler text/html html htm
AddHandler text/css css
(略...)

と書いてみたのですが、cssがiE以外に効きませんでした。画像に関してはimgタグで指定した画像はどのブラウザでも正しく表示できています。

ブラウザに直接アドレスを叩くと全部正常にDLできました。

cgi実行ファイル
.htaccess
 |
 ┣━━commoms
 |画像ファイル
 |画像ファイル
 |hoge.css
 |(以下略)

このような構成になっていてcgiが出力するhtmlで読もうとしているのはhoge.cssです。

炎狐のFirebugで調べたところ
「MIME タイプが "text/css" ではなく "application/x-httpd-cgi" となっているため、スタイルシート"xxx.css"は読み込まれていません」
とエラーが出ました。


いろいろググったのですが、結局ここまでしかわかりませんでした。
AddTypeでMIME タイプは上書きていると書いてあるところがあったのですが、ほんとでしょうか?

どなたか、サーバーの初期設定値"application/x-httpd-cg"から"text/css"に変える方法を教えてください。どうかよろしくお願いします。

お世話になっております。

今cgi-binの中でしかcgiが動かないサーバーを借りていてcgi-binの中からcssや画像を呼び出そうと考えております。サーバではcgi-bin以下はすべてcigスクリプトとして解釈するためそのままではいけません。

そのためいろいろやってみてすべてのファイルをcgiスクリプトとしてでなく画像ファイルなら画像、JSファイルならJSと認識させることに成功したのですが、
cssだけがなぜかうまくいきません。

以下そのために行ったことと調査結果です。

.htaccessが使えるので.htacces...続きを読む

Aベストアンサー

> 今cgi-binの中でしかcgiが動かないサーバーを借りていてcgi-binの中からcssや画像を呼び出そうと考えております。

cssや画像をcgi-bin以外の所に置けばいい問題だと思いますが。
そして通常はそのようにします。

HTMLではcssや画像をcgiと同じディレクトリに置かなければいけないというような仕様にはなっていないはずです。

Qcontent-dispositionによるファイル名の指定について

CGIで動的にCSVファイルを作成し、ダウンロードできるようなものを作成しています。
httpヘッダのcontent-dispositionでファイル名を指定しているのですが、 NetScape7.01ではファイル名の先後に勝手に.CGIがついてしまいます。
何か対処方はないのでしょうか?

Aベストアンサー

HTTP/1.1 200 OK
などのヘッダまでCGIから出力しているということですか?

だとすればNPHスクリプトですね?
ならばConnectionヘッダはKeep-Aliveではなくcloseで
いいと思います。


Content-Disposition: attachment; filename="a.csv"
Content-Type: application/download; name="a.csv"
この2ヘッダを出力しても回避できない現象だとすると
ブラウザ特有の挙動のようですね?

わたしの知る最終手段として、ブラウザをダマす方法が
あります。以下のような感じで拡張パスを使う方法ですが
うまくダマせるかどうかはやってみないとわかりません。
<form method="post" action="download.cgi/a.csv">


これとは別に、素直にa.csvというファイルを書き出して
メタタグで呼び出すようなカラクリも使えるかとは思いますが・・・。


このカテゴリの人気Q&Aランキング

おすすめ情報