ホームへ戻るData Base 桐 User Board過去ログ一覧検索プロパティほっ!
過去ログ No24


   書き込み数 : 1200件


<1200> デスクの圧縮の解除/【多遊】 2000年07月24日 月曜日 23時46分02秒
HDドライブの空き容量確保の為に、圧縮する方法がありますが
これを元に戻す方法はあるのでしょうか?

圧縮といってもそのまま圧縮する場合と別のドライブを作成
する方法とがあるように見受けられますが?

ヘルプも見たのですが、ただ削除するとの簡単な説明しかなく
経験もなくよろしくお願いいたします


これに関して、
私のPCでは、ドライブのプロパティに圧縮のタブがでるのと
出ないのがあります。よく見ると、
ファイルシステムが「FAT」と書いてある場合、圧縮タブが出て
「FAT32」と書いてある場合、圧縮タブが出ないようです
ちなみにOSはWin98 PCはNXです。
これもなにか関係あるのでしょうか?

<1199> 幅田 2000年07月20日 木曜日 18時31分05秒
なんで2000円なの?
3000円のほうが使いやすかったと思われるのですが?
と思っていたら2000年に出るから2000円なのだそうです。

語感的にも偽札と2千円札とよく似ているので紛らわしいですね。
3千円ならよかったのに。(くどい)
早速、インターネットでは偽札を見極めるポイントを説明したホームページがありました。

私のところでも仕事がらすぐに見られる場所にいるのですが、なにせ田舎なので
お目にかかれるのは21日の朝10時頃です。

ちなみに、4月から経理の仕事にまわされて、そこでは桐はほとんど必要なく、
いまだに手作業(電卓)もしくはエクセルの世界なのでさみしい思いをしております。

E-Mail  URL

<1198> 続雑>なるほどなーと感心しました/【多遊】 2000年07月19日 水曜日 23時16分26秒
ちょっと不謹慎かもしれませんが、今日2000円札が出ました。
都内でも数カ所しか交換してないようで、一般の支店での交換は、
21日の予定だそうです。
記念紙幣でなく、流通紙幣なのであせらずともすぐ皆さんの目の前に
出てくると思いますが、私の場合仕事柄すぐ手にはいりました

そのときの話題ですが、ここまでは、普通だったのです。
ところが、某銀行の方が、
『偽札を使用するなら今日が最高の日ですよ。まだ一般の人は
現物を見てないので、絶対安心ですよ』と、冗談をいってました

ほんとうになるほどと思いました・・・・
でも、こんな事書くと罪になるのかな?

<1197> Re:1195 『Oh! PC』/悲しげ 2000年07月19日 水曜日 21時25分37秒
これは私も一時定期購読していたがあります。
この雑誌の位置付けは確か98系だったと思います。
同じ系統の『98マガジン』は早々に廃刊となりましたから、
それに比べるとソフトバンクはずいぶん粘っているなぁ、と
の印象を(DOS/Vに移ってからは一切買わなかったけど)持っ
ていました。あの会社は『DOS/Vなんとか?』って本も出して
ましたしね。
でも、そうですか、廃刊ね。ま、時代の流れでしょうね。

ああ、最近、無気力で超弱気です。関係ないけど。(^^;)
<1196> Re:雑/Ogo 2000年07月19日 水曜日 17時57分38秒
最近はパソコン雑誌を読むこともメッキリ減りました。

この頃は、パソコン批評(隔月刊)と SoftwareDesign, LinuxJapn (以上月刊)
ぐらいかな。
中身の当否はともかく、パソコン批評の「公正な立場を保つため、広告を一切
いれません」という姿勢は大変共感できます。
<1195> 雑/【多遊】 2000年07月19日 水曜日 12時34分09秒
パソコン雑誌のOh!PCが今月号(7/18発売)で中止になりましたネ
特別な思い入れではないのですが、かなり継続購入してたので少し残念です。
しかし、書店の店頭に行くと依然としてパソコン雑誌の種類は多いですね。
本当に購入時には迷いそうです。
私の場合、最近は駅の売店で購入する事が多いのですが。・・・
<1194> 作品紹介/【多遊】 2000年07月16日 日曜日 22時09分32秒
ただいまOgoさん作、宮城さんおすすめの
『TBLデータ非破壊チェックCMD 桐V5一括処理』を
掲載いたしまし。V5ユーザーのかた、是非ご覧下さい。

Ogoさん>どうもありがとうございました。
まだDOS版の扱いを決めてませんので、一緒に
掲載致しましたが、少し増えましたら独立も考えてます
よろしくお願いいたします。

宮城さん>ご紹介ありがとうございました。
>この恩恵に浴すかたは多いのでは
きっとみなさんお待ちかねでしょうね。

ps
雑>菅平高原へ家族と出かけてきましたが、
標高1500mくらいで温度は18度。
少し肌寒い感じも致しました。走行730kmくらい
ですが、やっぱり疲れだけが残りました

<1193> 感激です!!!/宮城 2000年07月13日 木曜日 20時28分35秒
Ogoさんに「テーブル非破壊チェック一括処理」作っていただきましたが、もう感謝感激
雨アラレ。ネットワーク異常時等、あたりをつけて表検査してましたが、修復漏れがある
のではという懸念をずっともっておりました。貼りついてないといけませんが、全件チェ
ックが可能になりました。

うちは tbl、1,464件あるもんで(正確な現在数もはじめて知った。(^^;; )。味見込
みでたっぷり半日使いましたが、これを外部補助でやったら、体力・精神ともに尽き果て
ること間違いなし。V5版ですが、この恩恵に浴すかたは多いのでは。

E-Mail  URL

<1192> 雑>3〜4日留守します/【多遊】 2000年07月13日 木曜日 06時00分05秒
ちょっとプライベートでパソコン(インターネット)のない
生活を送ります。よろしくお願いいたします。
<1191> Re:MIME Type/hidetake 2000年07月12日 水曜日 07時03分17秒
解決できて何よりです。

attachment でファイル名を渡す処理ですが、やはり正式的
には引用符(")で囲むのが正式のような気がします。

IE4 では "" で囲むとファイル名が意味不明な8文字に変換
されますが、IE5 では正常に処理できます。IE4 ではバグか
手抜きがあったのでしょうか?

これは、IE4 が一度テンポラリファイルにダウンロードし、
最期に指定されたファイル名にリネームするとき、" を含ん
だファイル名となり、Windows では " を含んだファイル名
は許されないのでリネームに失敗し、そのたび毎に変わって
処理されるユニークなファイル名であるテンポラリファイル
がそのまま残ってしまい、結果として拡張子の無い意味不明
の8文字のファイル名になるようです。
(これは / などパスを含んだ場合とは異なる問題です)

また、' ' で囲むと、IE も NC もそれ自身をファイル名と
引用符自身をファイル名の一部として処理するようですが、
NC の場合、ダウンロードファイル名を指定するダイアログ
が表示される場合は、その表示の際、引用符は取り除いて
くれるようです。

いろいろ、この引用符の取り扱いでは問題も生ずるようで
すので、現状では引用符無しで指定しておいた方が無難な
ようです。

あと、この CGI のファイル処理の部分で、あまり大きな
ファイルは扱えないと書きましたが、IIS3.0 + Active Perl
の環境下では 30MB のファイルはダウンロードできたので、
32MB とかの制限があるのでしょうか? また環境によって
違ってくるのかな?

<1190> Re:まぁ〜、どこも似たようなものですね/Ogo 2000年07月12日 水曜日 01時14分27秒
破廉恥な話です。 (-o-)

>有料でももっとましなブラウザが欲しい!

多機能はいらんから、高速・堅牢・安全・安心なものがいいですねぇ。
「オペラ」は今どうなってるんでしょう?

ちなみに、今回の cgi は Lynx でも動作確認してみました。 (^^)
軽快は軽快だけど、ちょっと常用はしづらいわなぁ…… (^^;;;

 URL

<1189> Re:MIME Type/Ogo 2000年07月12日 水曜日 00時52分17秒
hidetake さん、いろいろとすみません。
結果、これで何とかできたかな……

- - - - -

#!/usr/local/bin/perl

# 取得/表示させたい環境変数の設定
$is_userinfo_cgi = 1; # 0:取得しない/1:取得する (ユーザの利用環境情報)
$access_f = "Dummy.dat"; # アクセスログファイル

# 海外サーバ等で時差が生じる場合は修正してください
# (例) 海外時間に+9時間する場合: localtime(time + 9*60*60)
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$date_ref = sprintf("%4d/%02d/%02d",$year +1900,$mon +1,$mday);
$time_ref = sprintf("%02d:%02d",$hour,$min);

#--------------------------------------------------------------
# アクセスログの書き出し
&env_check; # 環境変数の参照

$download_file = "../Lzh$env_get_file"; # ダウンロードするファイル名

open(OUT,">>$access_f") || die "error\n";
#----- 【ダウンロード日を出力】
print OUT "\"$date_ref\",";
#----- 【ダウンロード時を出力】
print OUT "\"$time_ref\",";
#----- 【ダウンロードファイル名を出力】
print OUT "\"$download_file\",";
#----- 【リクエスト発行元のIPアドレスを出力】
print OUT "\"$env_remote_addr\",";
#----- 【リクエスト発行元のホスト名を出力】
print OUT "\"$env_remote_host\",";
#----- 【クライアントのブラウザ名の出力】
print OUT "\"$env_http_user_agent\",";
#----- 【改行コードの出力】
print OUT "\n";
close(OUT);

($x, $x, $x, $x, $x, $x, $x, $size) = stat($download_file);
$size = sprintf("%d", $size);
$/ = '';
open( DL, $download_file );
binmode(DL);
read(DL, $file, $size);
close( DL );
binmode($file);
$browse_file = substr($env_get_file, 1 );
print "Content-Disposition: attachment; filename=$browse_file\n";
print "Content-type: application/lzh\n";
print "Content-length: $size\n\n";
print "$file";

Exit;

sub env_check {
# 環境変数の参照
##### ユーザの利用環境情報
# REMOTE_HOST リクエスト発行元のホスト名
# REMOTE_ADDR リクエスト発行元のIPアドレス
# HTTP_REFERER アクセスされる前のリンク元ページのURL
# HTTP_USER_AGENT クライアントのブラウザ名、バージョン、付加情報
# HTTP_FROM クライアントの電子メールアドレス
$env_remote_host = &env_out( "REMOTE_HOST" , 1 );
$env_remote_addr = &env_out( "REMOTE_ADDR" , 2 );
$env_http_referer = &env_out( "HTTP_REFERER" , 3 );
$env_http_user_agent = &env_out( "HTTP_USER_AGENT" , 4 );
$env_http_from = &env_out( "HTTP_FROM" , 5 );
$env_get_file = &env_out( "PATH_INFO" , 6 );
}

sub env_out {
##### 環境変数の呼び出し
# 書式 : &env_out( $env_name , $return_type );
# Input : $env_name :環境変数名
# $return_type:環境変数の返り値がなかったときの出力タイプ
# Output : 環境変数の返り値(または、なかったよんメッセージ)
local( $env_name , $return_type ) = @_;
local( $env_data ) = $ENV{$env_name}; # 環境変数の取得
if( $env_data eq "" ){
# 返り値がなかった場合の処理(適当に編集してください)
if( $return_type == 1 ){ $env_data = "ホスト名不明"; }
if( $return_type == 2 ){ $env_data = "IPアドレス不明"; }
if( $return_type == 3 ){ $env_data = "リンク元不明"; }
if( $return_type == 4 ){ $env_data = "ブラウザ不明"; }
if( $return_type == 5 ){ $env_data = "メール不明"; }
if( $return_type == 6 ){ $env_data = "取得ファイル不明"; }
}
return $env_data;
}

 URL

<1188> まぁ〜、どこも似たようなものですね/hidetake 2000年07月11日 火曜日 12時14分20秒
http://www.zdnet.co.jp/news/0007/10/netscape.html

<1187> Re:MIME Type/hidetake 2000年07月11日 火曜日 11時18分45秒
パス名を含んだファイル名をファイル名だけにするのは、こんなので
良いのかな? 取りあえずローカルは IIS3.0 + Active Perl の環境
で試しました。

あと、この方式のファイル処理では大きなファイルの取り扱いは出来
ないようです。ローカルで 40MB のファイルをダウンロードしようと
しましたが無理でした。

このほかのファイル出力で system で /bin/cat を呼び出す方法等も
ありますが、プロバイダでは使えないと思います。

#!/usr/mesh/bin/perl5
$filename = './detarame.zzz';
foreach (split(/\//, $filename)) {
($attachment) = split(/\//);
}
($x1, $x2, $x3, $x4, $x5, $x6, $x7, $size) = stat($filename);
$size = sprintf("%d", $size);
$/ = '';
open(INFILE, $filename);
binmode(INFILE);
read(INFILE, $file, $size);
close(INFILE);
binmode($file);
print "Content-Disposition: attachment; filename=$attachment\n";
print "Content-type: application/octet-stream\n";
print "Content-length: $size\n\n";
print "$file";

<1186> Re:MIME Type/hidetake 2000年07月11日 火曜日 07時45分32秒
>NC でも ./ なんて、パス名を含んでいると私のダウンロードしよう
>した(ローカルな)場所は存在しないと、勝手にフォルダをデスク
>トップに移されてダウンロードされる場合がありました。

これは "" で ファイル名を囲んだ場合です。

<1185> Re:MIME Type/hidetake 2000年07月11日 火曜日 07時44分09秒
やっぱり Ogo さんのファイル名の問題は、パス名を付加したまま
与えているのが1つと、引用符を無くせば問題ないように思います。

NC でも ./ なんて、パス名を含んでいると私のダウンロードしよう
した(ローカルな)場所は存在しないと、勝手にフォルダをデスク
トップに移されてダウンロードされる場合がありました。

<1184> Re:MIME Type/hidetake 2000年07月11日 火曜日 02時13分09秒
う〜む、良くわからない! サーバに影響される部分があるとは
どこかに書いてあったが...

取りあえず
http://www2s.biglobe.ne.jp/~hidetake/data/download.cgi
では、両方とも正しくダウンロードできるはず...

<1183> Re:MIME Type/hidetake 2000年07月11日 火曜日 02時03分40秒
寝る前に1つだけ気になって書いてきます。

filename にパス名まで含めて書いているとかはありませんか?
しかも、Windows で認識できない区切りとか...

<1182> Re:MIME Type/Ogo 2000年07月11日 火曜日 02時03分29秒
>これは '' の影響かな? 拡張子が消えるのでは無く '' で挟まれたファイル名
>が初期値となってしまうようです。

'' で挟まれたファイル名はログファイルに記録されていて、もちろん、.lzh で
終わっているのです。で、ネスケでは正しく .lzh まで認識されているのです。

>'' の与え方が悪いのか "" でするか、あるいは別名で与えないといけないのかも
>知れません。

この行を外せば、とりあえず目前の問題はクリアされるのだから、知らないフリ
をしておこう。 (^^;;;

#昨夜から、私のページから *.lzh ファイルをダウンロードしたのは、(多分)
#hidetake さんと 宮城さん ともう1人、 OCN から入って来て DOS 関係の
#ファイルを落とした人がいる筈なんですが、その人は ms-ie でダウンロード
#しているんですよねぇ…… ちゃんとファイル名を補完したかなぁ?



 URL

<1181> Re:MIME Type/hidetake 2000年07月11日 火曜日 01時37分37秒
へぇ〜
Content-type: application/x-lha-compressed; filename=filename.zzz

Content-type: application/x-zip-compressed; filename=filename.zzz
する、IE はもちろん、元ファイルのファイル名になってしまうけど、
NC の場合、拡張子を勝手に付け替えてくれるのか...

PS.
filename は通常、"" で囲まれるのが普通みたいだけど、IE は別名に
勝手に変更される。"" や '' でも囲まない形式も結構あるようだ、
RFC らしきものの中にもそのような記述が見られたが...

<1180> Re:MIME Type/hidetake 2000年07月11日 火曜日 00時56分32秒
Content-Disposition: attachment の filename の正しい与え方は
調べてみないとわかりませんが、取りあえずは引用符無しであれば
IE も NC も設定したとおりのファイル名が渡されるようです。

<1179> Re:MIME Type/hidetake 2000年07月11日 火曜日 00時40分51秒
>この1行を入れていると、ネスケでは正しくダウンロードされるのですが、
>MS-IE ではダウンロードファイル名から拡張子が消えてしまいます。 (-o-)

これは '' の影響かな? 拡張子が消えるのでは無く '' で挟まれたファイル名
が初期値となってしまうようです。

ただ、これは IE の問題だけでなく、NC でも pdf のように自動的にダウンロード
され表示されるものは、同じく '' で囲まれたファイル名として落とされてしまい
ます。
'' の与え方が悪いのか "" でするか、あるいは別名で与えないといけないのかも
知れません。


>と書いてあっても、 index.html ファイルを指定すると、ダウンロードではなく、
>画面表示されてしまいます。

これは IE がと言う意味ですか? IE だけだとすれば、IE の場合、MIME は
レジストリに登録された内部の処理で行いますので、拡張子に影響されます。

<1178> Re:MIME Type/Ogo 2000年07月11日 火曜日 00時09分26秒
>ついでに、現状では
>>print "Content-length: $size\n\n"
>がエラーを返してダウンロードできません。

これは完璧に私のカン違い(記述ミス)でした。

 URL

<1177> Re:MIME Type/Ogo 2000年07月11日 火曜日 00時06分36秒
すみません。この話題をここで続けるのは迷惑かもしれませんが……

>print "Content-Disposition: attachment; filename='$env_get_file'\n";

この1行を入れていると、ネスケでは正しくダウンロードされるのですが、
MS-IE ではダウンロードファイル名から拡張子が消えてしまいます。 (-o-)
この1行を取れば、どちらの場合も拡張子まで正しくゲットできます。

また、

>print "Content-type: application/octet-stream\n\n";

と書いてあっても、 index.html ファイルを指定すると、ダウンロードではなく、
画面表示されてしまいます。

ついでに、現状では

>print "Content-length: $size\n\n"

がエラーを返してダウンロードできません。

 URL

<1176> 作品のご紹介/【多遊】 2000年07月10日 月曜日 23時30分07秒
Ogoさんの、シェル・ファイル・オペレーション アプレットを
ただいま掲載いたしました。

Ogoさん>いつもありがとうございます。

皆さんへ>
いつも素晴らしい作品を提供頂いております。
是非ご感想などを、お聞かせいただければと思います。
よろしくお願いいたします。
<1175> Re:MIME Type/hidetake 2000年07月10日 月曜日 06時53分43秒
そう言えば、相手にファイルサイズを送る Content-length を
設定した方が親切なのでした...

#!/usr/mesh/bin/perl5
$download_file = './detarame.zzz';
($x, $x, $x, $x, $x, $x, $x, $size) = stat($download_file);
$size = sprintf("%d", $size);
$/ = '';
open(DL, $download_file );
binmode(DL);
read(DL, $file, $size);
close(DL);
binmode($file);
print "Content-Disposition: attachment; filename='detarame.zzz'\n";
print "Content-type: application/x-zip-compressed\n";
print "Content-length: $size\n\n";
print "$file";

<1174> Re:MIME Type/hidetake 2000年07月09日 日曜日 18時07分20秒
>>ファイルタイプがテキストと言うだけで、その処理はユーザ側に
>>任されのではないの?
>
>もちろんです。が、mime type 単位でデータ処理方法を切り換えるべきなので、
>拡張子が *.lzh の text/plain がダウンロードされるなら、当然 .txt もダウン
>ロードされるわけですよね。
>ルール上はともかく、一般的にはおかしいでしょう?

MINE Type で lzh がテキストであると決めているものは何ですか?
結局、拡張子でしょう。テキストであったとしても、その拡張子で
ユーザー側が処理を切り換えたら悪なのですか?

IE はそれが個別に指定できるだけで、この件に関しては悪い仕様
でも無いし、誰も困る人はいないと思います。それに .txt は画面
に表示されるわけですから...

まぁ〜、私自身もメインは IE で無く、NC を使っているわけです
が、それにしても NC のバグが多いのは困ります。

その中でも良く落ちるのが最悪ですね! 私はブックマークから
通常よく見るページを片っ端から別窓で開きまくる事が多いのです
が、これやっちゃうとタイミングによっておちるのですよね!
私の環境の中で一番良く落ちるのが NC です。他のアプリは平然と
して落ちることなど滅多に無いのですが、NC だけは日に何度も
落ちます。落ちたからと言って OS や他のアプリには影響は無いの
で被害が拡散するわけでは無いのですが...

それに、最近では少なくなりましたが、NC は特定の記述で落ち
まくる場所が多くて、NC を使っていても IE を手放せない状況に
ありました。もちろん、今回の MINE Type の設定されていない
サーバでファイルをダウンロードする場合も...
(何も拡張子が .lzh だけの問題だけではありません)

IE も使いたくないけど、NC も本当はもっと使いたくない (;_;)
有料でももっとましなブラウザが欲しい!

メールはちゃんと有料のものを使っているので特に困らないしな!

<1173> 雑談/Ogo 2000年07月09日 日曜日 16時05分21秒
先ほどの私の cgi スクリプトで log を取る内容ですが、今回、ログファイルへの
記録からは外しているものの中に「アクセスされる前のリンク元ページのURL」が
あります。

これ、アクセスして来た人のブラウザから提出されるデータを受け取っているの
ですが、ms-ie はウソを返すんですよね。

ネスケの場合は、この意味を正しく理解していて、この cgi をリンクしている
ページ(「現ページ」)にアクセスされた場合、相手が現ページに飛んで来た
リンク元ファイル名を返します(ブックマークから飛んで来たら空白ですね)。

ところが ms-ie はリンクの有無に関係なく、「現ページを表示する直前に見
ていたページ」の url を返してくるのですね。
私のページのアクセスログ解析で、どう見ても私のページにリンクしている筈
のない url がいっぱい出て来て頭をひねっていました。
中にはアダルトサイトが入っていたりして…… ヲイヲイ、そんなところが
リンクするわきゃないだろう…… そのユーザーの IP 解析して、人物を特定
したらどうすんだ。 (^^;;;

プライバシー問題を大切にする ms-ie のお話でした。

 URL

<1172> Re:Mime type/Ogo 2000年07月09日 日曜日 15時23分06秒
>外部からファイル名を指定してダウンロード出きるよう
>にした場合、ファイル名やファイル位置さえわかれば、
>CGI やパスワードファイル等を直接ダウンロードできる
>なってしまうのかな?

そうですね。
私のスクリプトはログファイルにダウンロードしたファイル名とそのユーザーの
IPアドレスが残るようにしていますが(別サーバーから直接 cgi にはリンクでき
ません。私のところの掲示板のフロントエンドでばかばかしいことを書いてある
のはそのためです)。
まぁ、無料レンタルサーバーでセキュリティ云々を言うのはヤボなので、セキュ
リティが必要なファイルは置かないことかな。

さすがに、ログファイル名だけは公開しないが、他のファイルはどうでもいい
と言えるものだけです。

 URL

<1171> Re:Mime type/hidetake 2000年07月09日 日曜日 15時06分44秒
後は、引数を受け渡すようにして使えば良いのでは?と
書こうと思っていましたが、この CGI って考えて見れば
恐ろしい危険性をもった処理かも知れない...

外部からファイル名を指定してダウンロード出きるよう
にした場合、ファイル名やファイル位置さえわかれば、
CGI やパスワードファイル等を直接ダウンロードできる
なってしまうのかな?

だから、この CGI に渡す引数は、自分のホームページの
フォームからでないと受け取らないようにしないと...

ps.
解決でしたようですね...

<1170> Re:Mime type/Ogo 2000年07月09日 日曜日 14時55分06秒
解決できました。 (^o^)
すみません。私のダウンロードファイル名の記述間違いがあったみたいです。
ダウンロードするファイル名を url 絶対アドレスで記述したのが悪かったみたいです。

お詫びにスクリプト全文を(ログファイル名は変えてあります)。

- - - - -

#!/usr/local/bin/perl


# 取得/表示させたい環境変数の設定
$is_userinfo_cgi = 1; # 0:取得しない/1:取得する (ユーザの利用環境情報)
$access_f = "dummy.log"; # アクセスログファイル


# 海外サーバ等で時差が生じる場合は修正してください
# (例) 海外時間に+9時間する場合: localtime(time + 9*60*60)
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$date_ref = sprintf("%4d/%02d/%02d",$year +1900,$mon +1,$mday);
$time_ref = sprintf("%02d:%02d",$hour,$min);


#--------------------------------------------------------------
# アクセスログの書き出し
&env_check; # 環境変数の参照


$download_file = "../Lzh$env_get_file"; # ダウンロードするファイル名


open(OUT,">>$access_f") || die "error\n";
#----- 【ダウンロード日を出力】
print OUT "\"$date_ref\",";
#----- 【ダウンロード時を出力】
print OUT "\"$time_ref\",";
#----- 【ダウンロードファイル名を出力】
print OUT "\"$download_file\",";
#----- 【リクエスト発行元のIPアドレスを出力】
print OUT "\"$env_remote_addr\",";
#----- 【リクエスト発行元のホスト名を出力】
print OUT "\"$env_remote_host\",";
#----- 【クライアントのブラウザ名の出力】
print OUT "\"$env_http_user_agent\",";
#----- 【改行コードの出力】
print OUT "\n";
close(OUT);


($x, $x, $x, $x, $x, $x, $x, $size) = stat($download_file);
$size = sprintf("%d", $size);
$/ = '';
open( DL, $download_file );
binmode(DL);
read(DL, $file, $size);
close( DL );
binmode($file);
print "Content-Disposition: attachment; filename='$env_get_file'\n";
print "Content-type: application/octet-stream\n\n";
print "$file";


Exit;


sub env_check {
# 環境変数の参照
##### ユーザの利用環境情報
# REMOTE_HOST リクエスト発行元のホスト名
# REMOTE_ADDR リクエスト発行元のIPアドレス
# HTTP_REFERER アクセスされる前のリンク元ページのURL
# HTTP_USER_AGENT クライアントのブラウザ名、バージョン、付加情報
# HTTP_FROM クライアントの電子メールアドレス
$env_remote_host = &env_out( "REMOTE_HOST" , 1 );
$env_remote_addr = &env_out( "REMOTE_ADDR" , 2 );
$env_http_referer = &env_out( "HTTP_REFERER" , 3 );
$env_http_user_agent = &env_out( "HTTP_USER_AGENT" , 4 );
$env_http_from = &env_out( "HTTP_FROM" , 5 );
$env_get_file = &env_out( "PATH_INFO" , 6 );
}


sub env_out {
##### 環境変数の呼び出し
# 書式 : &env_out( $env_name , $return_type );
# Input : $env_name :環境変数名
# $return_type:環境変数の返り値がなかったときの出力タイプ
# Output : 環境変数の返り値(または、なかったよんメッセージ)
local( $env_name , $return_type ) = @_;
local( $env_data ) = $ENV{$env_name}; # 環境変数の取得
if( $env_data eq "" ){
# 返り値がなかった場合の処理(適当に編集してください)
if( $return_type == 1 ){ $env_data = "ホスト名不明"; }
if( $return_type == 2 ){ $env_data = "IPアドレス不明"; }
if( $return_type == 3 ){ $env_data = "リンク元不明"; }
if( $return_type == 4 ){ $env_data = "ブラウザ不明"; }
if( $return_type == 5 ){ $env_data = "メール不明"; }
if( $return_type == 6 ){ $env_data = "取得ファイル不明"; }
}
return $env_data;
}

 URL

<1169> Re:Mime type/hidetake 2000年07月09日 日曜日 14時52分22秒
試しにやってみたい場合は
http://www2s.biglobe.ne.jp/~hidetake/mime.cgi
をどうぞ、

detarame.zzz は【多遊】さんのところから落とした
Ogo さんの何かのファイルだったと思います。

元は LZH ですが、bigilobe ですので拡張子を zzz
に変更してあります。

<1168> Re:Mime type/hidetake 2000年07月09日 日曜日 14時44分11秒
>そうですか。こちらではダウンロードのダイアローグまでは大丈夫だけど、
>結局、「ドキュメントにデータが含まれていません」となっています。

CGI がちゃんとファイルを書き込んでいないのでは?

<1167> Re:Mime type/Ogo 2000年07月09日 日曜日 14時21分57秒
>biglobe では、これでいけました...

そうですか。こちらではダウンロードのダイアローグまでは大丈夫だけど、
結局、「ドキュメントにデータが含まれていません」となっています。


 URL

<1166> Re:Mime type/hidetake 2000年07月09日 日曜日 14時10分03秒
biglobe では、これでいけました...

#!/usr/mesh/bin/perl5
$download_file = './detarame.zzz';
($x, $x, $x, $x, $x, $x, $x, $size) = stat($download_file);
$size = sprintf("%d", $size);
$/ = '';
open( DL, $download_file );
binmode(DL);
read(DL, $file, $size);
close( DL );
binmode($file);
print "Content-Disposition: attachment; filename='detarame.zzz'\n";
print "Content-type: application/x-zip-compressed\n\n";
print "$file";

<1165> Re:Mime type/Ogo 2000年07月09日 日曜日 13時51分32秒
ちなみに、本日分の hidetake さんの提供してくれた情報( URL 内容を含む)
も試してみていますが、とりあえず、今のところは全滅。

ダウンロードのダイアローグまでは大丈夫だけど、結局、「ドキュメントに
データが含まれていません」です。

根本的に発想を変えるかなぁ…… もう時間が惜しい……

 URL

<1164> Re:Mime type/Ogo 2000年07月09日 日曜日 13時46分16秒
>あと、この初期値として表示されるかの問題と、ファイルを勝手
>に書き換える問題は別ですよね!

それはもちろんです。

>ファイルタイプがテキストと言うだけで、その処理はユーザ側に
>任されのではないの?

もちろんです。が、mime type 単位でデータ処理方法を切り換えるべきなので、
拡張子が *.lzh の text/plain がダウンロードされるなら、当然 .txt もダウン
ロードされるわけですよね。
ルール上はともかく、一般的にはおかしいでしょう?

ブラウザ側で mime type による処理の切り換えを意識している人はどの程度
いるのでしょう?

 URL

<1163> Re:Mime type/Ogo 2000年07月09日 日曜日 13時37分13秒
>MIME Type が TEXT になっているからと言って、LF を CR LF
>に勝手に変換するのが正常な仕組みとも思えないし...

MIME Type が TEXT になっていたら、ダウンロードしたらだめでしょう?
テキストを画面表示するべきですから。

>http://www14.freeweb.ne.jp/computer/ogou/cgi-bin/DownLoad.cgi/Applet10.lzh

ごめんなさい。Applet10.lzh へのリンクは試行錯誤の途中で、昨夜は
イーカゲンな状態で寝てしまいました。 (^^;

>この Location: の前に MIME Type を送っても駄目でしたか?
>CGI から Location: する場合、前に設定した MIME Type を引き継ぐ
>という説明も見かけたので...

その辺り、昨日の夜だけで数10回もいろんなやり方を試したんですが、
結果的に言ってだめでした。
正しいと思われる方法だと「ドキュメントにデータが含まれていません」
になってしまうんですよね。

$env_get_file = &env_out( "PATH_INFO" , 6 );

で、

print "Content-Disposition: attachment; filename='http://www14.freeweb.ne.jp/computer/ogou/cgi-bin$env_get_file'\n";
print "Location: http://www14.freeweb.ne.jp/computer/ogou/cgi-bin$env_get_file\n";

とか

print "Content-type: application/lzh \n Location: http://www14.freeweb.ne.jp/computer/ogou/cgi-bin$env_get_file\n\n";

とかやってみたんだけど(もちろん、application/octet-stream でもダメ)。

以上、昨夜寝るまでの経過でした。

 URL

<1162> Re:Mime type/hidetake 2000年07月09日 日曜日 13時10分32秒
>>MIME Type が TEXT になっているからと言って、LF を CR LF
>>に勝手に変換するのが正常な仕組みとも思えないし...
>MIME Type が TEXT になっていたら、ダウンロードしたらだめでしょう?
>テキストを画面表示するべきですから。

どうして?

ファイルタイプがテキストと言うだけで、その処理はユーザ側に
任されのではないの? image を表示できないテキストブラウザ
は、それを表示できないと言うだけでインターネットに違反して
いるの?

text や image は画面に表示しなければいけなくて、application
はダウンロードすべきなの?
pdf はブラウザ表示させるべきもの、ダウンローさせるべきもの?
また、その動作は誰がそうしなければいけないと決めているの?

あと、この初期値として表示されるかの問題と、ファイルを勝手
に書き換える問題は別ですよね!

それとも text の LF は CR LF に変換しなければならないと言う
インターネットの決まりがあるのですか?

<1161> Re:Mime type/Ogo 2000年07月09日 日曜日 12時54分20秒
>MIME Type が TEXT になっているからと言って、LF を CR LF
>に勝手に変換するのが正常な仕組みとも思えないし...

MIME Type が TEXT になっていたら、ダウンロードしたらだめでしょう?
テキストを画面表示するべきですから。

>http://www14.freeweb.ne.jp/computer/ogou/cgi-bin/DownLoad.cgi/Applet10.lzh

ごめんなさい。Applet10.lzh へのリンクは試行錯誤の途中で、昨夜は
イーカゲンな状態で寝てしまいました。 (^^;

>この Location: の前に MIME Type を送っても駄目でしたか?
>CGI から Location: する場合、前に設定した MIME Type を引き継ぐ
>という説明も見かけたので...

その辺り、昨日の夜だけで数10回もいろんなやり方を試したんですが、
結果的に言ってだめでした。
正しいと思われる方法だと「ドキュメントにデータが含まれていません」
になってしまうんですよね。

$env_get_file = &env_out( "PATH_INFO" , 6 );

で、

print "Content-Disposition: attachment; filename='http://www14.freeweb.ne.jp/computer/ogou/cgi-bin$env_get_file'\n";
print "Location: http://www14.freeweb.ne.jp/computer/ogou/cgi-bin$env_get_file\n";

とか

print "Content-type: application/lzh \n Location: http://www14.freeweb.ne.jp/computer/ogou/cgi-bin$env_get_file\n\n";

とかやってみたんだけど(もちろん、application/octet-stream でもダメ)。

以上、昨夜寝るまでの経過でした。

 URL

<1160> Re:トラブルの件/hidetake 2000年07月09日 日曜日 10時06分16秒
MIME タイプが設定してないファイルをダウンロードさせる
には

http://www3.airnet.ne.jp/~vzr04461/perl/mimetypes.html
とか
http://member.nifty.ne.jp/fgalnet/faq/0061.HTM
とかあるけど、

上を使ってみたところ、bigilobe では Content-type; application/octet-stream
でサーバエラーが発生しそのままでは使えなかった。
取りあえず image/gif にしたら通ったけど、このままでは
ファイルが途中で切られるようですね。

ここの部分の改造と、httpヘッダにダウンロードファイル名
を指定するのを付け加えればなんとかなるかな?

#!/usr/mesh/bin/perl5
$download_file = './detarame.zzz';
$/ = '';
open( DL, $download_file );
$file = <DL>;
close( DL );
print "Content-Disposition: attachment; filename='detarame.zzz'\n";
print "Content-type: application/x-zip-compressed\n\n";
print "$file";

<1159> Re:トラブルの件/hidetake 2000年07月09日 日曜日 05時55分29秒
送信エラーが発生したとき、LINK 設定の a herf とかの部分がメッセージ
部分に変換されて表示されるので、そのまま、再度送信すると多重化されて
おかしな表示になってしまいますね! >ここの CGI は...

あっ! エラー発生時は LINK だけで無く、全てのタグ類がそうなるかな?

<1158> Re:トラブルの件/hidetake 2000年07月09日 日曜日 05時50分41秒
>現実に【多遊】さんのところではファイル名の直接入力でダウンロードできること
>ですし……

そうでしたか... (^_^ゞ
やってみたけど、やはり
<a href='http://www8.freeweb.ne.jp/animal/mokuchan/cgi-bin/down/lime.cgi' target='_blank'>http://www8.freeweb.ne.jp/animal/mokuchan/cgi-bin/down/lime.cgi</a>?down=<a href='http://www14.freeweb.ne.jp/computer/ogou/Lzh/LoadDB12.lzh' target='_blank'>http://www14.freeweb.ne.jp/computer/ogou/Lzh/LoadDB12.lzh</a>
でも駄目でしたね!

>>print "Location: http://$down\n\n";
>>と CGI で処理すれば、サーバ側の MIEM Type は直接 NC (NN) には
>>影響されないと言うこと?
>
>そんなに甘くはないみたいですねぇ。

この Location: の前に MIME Type を送っても駄目でしたか?
CGI から Location: する場合、前に設定した MIME Type を引き継ぐ
という説明も見かけたので...
あと、Location: では無く直接バイナリを送る方法もあったような...

それと、
<a href='http://www14.freeweb.ne.jp/computer/ogou/cgi-bin/DownLoad.cgi/Applet10.lzh' target='_blank'>http://www14.freeweb.ne.jp/computer/ogou/cgi-bin/DownLoad.cgi/Applet10.lzh</a>
て、ファイルが無いようですね!
でも、.htaccess とかで、ここだけは MIME の設定ができたの?

PS.
>なお、馬鹿げたことに、ms-ie では問題がでないんだって。
>インターネットのルールは気にかけていないから。

この意味が私には良くわからないのですよね!
別に MIME の設定とかは関係問題だし、
IE は直接ダウンロードできるのもその設定の関係だし、
MIME Type が TEXT になっているからと言って、LF を CR LF
に勝手に変換するのが正常な仕組みとも思えないし...

<1157> Re:Mime type/Ogo 2000年07月09日 日曜日 03時35分37秒
>【多遊】さんのところのサーバーと私のところのサーバーは基本的には別マシン
> なので、設定が違うんじゃないかなぁ…… 

現実に【多遊】さんのところではファイル名の直接入力でダウンロードできること
ですし……

 URL

<1156> Re:Mime type/Ogo 2000年07月09日 日曜日 03時29分50秒
>print "Location: http://$down\n\n";
>と CGI で処理すれば、サーバ側の MIEM Type は直接 NC (NN) には
>影響されないと言うこと?

そんなに甘くはないみたいですねぇ。
【多遊】さんのところのサーバーと私のところのサーバーは基本的には別マシン
なので、設定が違うんじゃないかなぁ…… ツカレタ

 URL

<1155> Re:トラブルの件/Ogo 2000年07月09日 日曜日 00時38分26秒
>ムダな時間を多大に費やして立腹している Ogo

あ〜すみません。 _m(__)m_
これは【多遊】さんの問題でも、ここでダウンロードできない問題でもないんです。
FreeWeb のサーバー管理者が mime type 設定を(指摘されても尚且つ)行なわない
ので、私のページの *.lzh ファイルダウンロードに支障が起きているんです。

これをローカルに(自分の割り当てディレクトリのみを)設定変更する方法がある
のですが、FreeWeb はこれも無効にしてしまうようで、試行錯誤を延々と行なって
いるのです( hidetake さんと私で応酬しているのはその辺りの話題です)。

- - - -

ちなみに mime type の話ですが、例えば Windows では拡張子による関連づけと
いうものがありますよね( MAC で言う Type 情報)。アレの OS 非依存版みたい
なものです。
これはサーバーが設定すべきものなのです。

例えば「*.zip」や「*.tar」などのアーカイブは米国製 OS で立てるサーバーの
初期設定に(バイナリ形式ファイルとして)登録されているんですが、「*.lzh」
は日本独自に近いため、サーバー管理者が追加してやらない限り、無設定のまま
となるわけです。
Windows では拡張子の関連付けがないファイルはダブルクリックで開けませんよ
ね? FreeWeb では「*.lzh」がアレと同じ( mime type の場合は仮にテキスト
ファイルとして扱うルールになってしまう)なので、バイナリファイルの状態で
ダウンロードできない――しかも問題点を指摘されても放置されている――ので
困っているのです(どうしてテキストファイルと認識されると問題があるかは、
私のページの掲示板で hidetake さんが原因を指摘しています)。

なお、馬鹿げたことに、ms-ie では問題がでないんだって。
インターネットのルールは気にかけていないから。

 URL

<1154> 作品のご紹介でのトラブル/【多遊】 2000年07月09日 日曜日 00時01分57秒
Ogoさん>
> The requested URL /animal/mokuchan/download/b13.css was not found on this server.
>でアクセス不能です。
b13.cssは、私のアップミスで、単純ミスでもうしわけございません

>ムダな時間を多大に費やして立腹している Ogo
本当に申し訳ございませんでした。以前UPしたとき
ダウンロードが出来ないとのクレームを受けたことが
ありまして、その後は、必ず最初に自分でダウンロード
出来るか確認をしていましたが。

同様症状が出られた方へ。
どうも申し訳ございませんでした。

>FreeWeb では *.lzh ファイルの mime type 設定をしておらず、
すみません。HPを開設していながら、「ファイルの mime type」の
意味も存知あげません。つまりなにも対応・設定はしておりません
このへん、もしよろしかったらお教えいただけないでしょうか

本当にご迷惑をお掛けいたしました皆様に
お詫び申し上げます。

<1153> Re:作品のご紹介/hidetake 2000年07月08日 土曜日 23時15分31秒
こう言うのもいろいろ参考になりますね!!!

http://wwweva.hi-ho.ne.jp/kamio/cgitech.htm
http://member.nifty.ne.jp/d-ogami/test/cgi01.html
http://www02.u-page.so-net.ne.jp/ca2/denden/CGI_f.htm
http://www.am.ics.keio.ac.jp/~wataru/WWW/CGI/writingcgi.html
http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/htheader.html

<1152> Re:作品のご紹介/hidetake 2000年07月08日 土曜日 22時25分43秒
ぱっと見だから良くわからないけど?
print "Location: http://$down\n\n";
と CGI で処理すれば、サーバ側の MIEM Type は直接 NC (NN) には
影響されないと言うこと?

それにしても、NC (NN) がまともにオリジナルのファイルをそのまま
の形でダウンロードできないがために、しかも、たかがシェア1桁の
ユーザーのために面倒な事だ!!! (^_^ゞ

<1151> Re:作品のご紹介/hidetake 2000年07月08日 土曜日 21時53分30秒
ここのあった!
http://www.kent-web.com/count/lime.html
これから中身をみてみよっと!

Copyright (C) 2000 CGI Arkadia All rights reserved.
Script written by Shintaro Wakayama.
BBS-TypeN Ver.2 Preview4
remodel advice by hidetake