CGIだけど、なんか質問ある?
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん
NGNGprint "くだらねぇー質問はココから始めろ!";
0002(゚Д゚)ハァ?
NGNG0003名無しさん
NGNG0004名無しさん
NGNG0005名無しさん
NGNG0006名無しさん
NGNG0007名無しさん
NGNG0008名無しさん
NGNGとして、これをcgi側でサイズチェックして大きすぎると判断したら
破棄してエラーメッセージを送り返すとします。
このときcgi側で読みこまなかったデータはそのままサヨナラして
くれるのでせうか? サーバのメモリのどっかに溜まったまま・・・
なんてことは絶対ナイジェリアですか?
0009名無しさん
NGNG00108>9
NGNG環境変数でサイズをチェックした方がいいと思うんですが
これ、何メガバイトも送られてきたらどうすればいいんでしょう?
というのが質問の主旨でありんす。
0011名無しさん
NGNG0012TDR
NGNGどう書くんでしょうか?
0013名無阿弥陀仏
NGNG標準出力を使って「そのCGI」に送られたデータなので
そのCGIのプロセス自体を終わらせれば破棄されてるはずです
じゃないと困る。
>>12
質問の意味がよくわからないのですが。
http://xxxx/yyyy/????/****.cgi みたいなことかね?
SSI を実行した場所 http://xxxx/yyyy の後に付ければいいはず。
0014TDR
NGNGCGIでSSIの <!--#exec cgi="./????/****.cgi"-->機能を
使うという事です。
判る人だけレスください。
0015名無しさん
NGNGつまり、 <!--#exec cgi="./????/****.cgi"-->部分に実行結果
を埋め込みたいってこと?
・ASPを使う。
・PHPを使う。
・PerlからHTML::Embperlを使う。
・PerlからHTMLファイルをopenで普通に開いて、埋め込みたい部分
を置換する
・ネットで調べる
0016名無しさん
NGNG0017名無阿弥陀仏
NGNG15はそれに近いことをやろうとしてるのだけど、
CGI で実行させるなら
`` といか exec とかいう「CGIが」プログラムを実行させる命令を別に書かないといけない。
0018【質問】
NGNG数字がスロットのようにぺロンって変わるcgi下さいな!
0019名無しさん
NGNGつーか、それは「質問」とは言わない。
0020名無しさん
NGNGお前、細かい構文にうるさすぎるんだよ!
ソースの流れから汲み取って判断できないのか?
500ばっかり出しやがって人間様をなめるな!!!
0021名無しさん
NGNG確かに、俺もそう思う。
0022名無しさん
NGNG0023名無しさん
NGNGまったくその通り!
;が抜けたくらいでエラーにすんなっ
行間を読め!
それにな、エラーを出す時はきちんと
「何処何処がエラーです」って教えろよ。
たまにいい加減なことをいうから探すのが大変だろ?
0024名無しさん
NGNG書きこんだあとに、そのページ表示してもブラウザのキャッシュ
がきいて書き込みが反映されてないような状態になります。
リロードすればもちろん見れるんだけど・・・
なんかヘッダとかで「キャッシュ使うなよゴルァ!!」みたくする方法はないですか?
できれば、javascriptとかみたいに環境に依存するような方法以外で・・・
I-MODEでも有効ならなお良しなんだけど
0025適当君
NGNG0026初心者
NGNGリンクでつなぎますよね? CGIの場合もそういう風に処理の単位で
別ファイルにしてリンクでつないでいった方がいいんでしょうか?
それとも変数の値で全然違う振舞いをするようにしておいて、
ソースファイルは一つにしておいたほうがいいのでしょうか?
後者の方が重いのは分りますが、ファイルが一杯になるのはちと
面倒くさいんで...
0027名無しさん
NGNG串はずせ。
0028>26
NGNG0029名無阿弥陀仏
NGNG<META NAME="Cache-Control" CONTENT="nocache">
<META NAME="Pragma" CONTENT="nocache">
でいけると思う。CGIを直接参照しているなら
Cache-Control: nocache
Pragma: nocache
を Content-Type ヘッダに追加してもいい。
0030厚着deミロード
NGNG0031名無阿弥陀仏
NGNGPragma も Cache-Control もやってることは同じだから気にしなくていいよ。
とりあえず両方設定しとけばどっちかが有効になるっつうことで。
0032FW:【紹介】
NGNG数字がスロットのようにぺロンって変わる
フリーのcgi紹介して頂けませんでしょうかぁ
003324
NGNGそれは適当すぎます(^^;)
>27
串なんかつかってないです
>29,31
ありがとほ、早速試して見まふ。
PragmaはC言語の#pragmaと同じような感じかな?
CGI直接参照標準出力オラオラ型CGIなんで直接ヘッダを吐いてみます。
0034名無しさん
NGNGでもそのヘッダ吐くとオフラインで見れなかったと思うから
その辺、気に止めておいてくれ。
0035名無阿弥陀仏
NGNGあっちじゃ誰も答えてなかったな。
アニメーションカウンタはCGIではなくGIFアニメでやってると思うぞ。
0から1とか、3から4とか、9から0などに変わる動画のアニメGIFとかがあるんだろう。
まあCGI内部でもカウントアップ時に変動する数値は動画を使って
変動してない数値は静止画を使うっていう工夫はいるだろうけど。
JAVAでやってる場合もあるだろうがそっちは知らん。
003626>28
NGNGで作っときます。
PWSだとファイルのパスが何故かcgi-binからの相対パスで
書かないといけないのでファイルを分けるとディレクトリの構造が
代わった時に面倒くさいときが多々ありそうなので。
003732@アメリカのビスは..
NGNGソース見るとCGIポイんです<IMG SRC="http...>
CGIでアニメGIF使えたんですね。
0038日本強いね
NGNGHTTP/1.0で「キャッシュ使うな」指定するためのヘッダ
Cache-Control: no-cache
HTTP/1.1で「キャッシュ使うな」指定するためのヘッダ
* サーバ(及び中に介在させるプロクシ等)がすべてHTTP/1.1を理解できるならば、Pragmaはいらない。
Pragmaではno-cacheしか指定できないが、
Cache-Controlではキャッシュに関して色々な指定が出来る。
詳しくはRFC2616。
003920
NGNGちょっと都合が悪くなったからといってダミーの403返すなよな。
0040CGI
NGNG0041名無阿弥陀仏
NGNGいや、そもそも来る気も無いとみたぞ。
0042名無しさん
NGNG0043名無阿弥
NGNGそうそう no-cahe でした。さんくす。
24 の人そのように直してください。修正希望あげ。
0044名無しさん
NGNGもっとエレガントな方法ありませんか?perlに慣れてないんで
こんなヘボスクリプトしか書けませんでした。
if (!open (FILE,$filename)) { &error(3); }
foreach $tmp (<FILE>) {
chop ($tmp);
@a = split(/\t/,$tmp);
$TBcategory{@a[0]}=@a[1];
}
close (FILE);
0045名無しさん
NGNGこれじゃないの。クルクルカウンター。
http://www2.biglobe.ne.jp/~nir/npc/
0046CGI
NGNGs/^([^\t]+)\t([^\n]*)/ $TBcategory{$1}=$2; /e while <FILE>;
close (FILE);
0047名無しさん
NGNGちょっと待て、誰も突っ込んでないが、name属性じゃなくてhttp-equiv属性だろ?!
もちろん、CGIならばhttp-equiv形式のmeta要素は一切必要ないが。
004844
NGNGすっ、すげぇ…
正規表現使うとここまで省略できるんですか。
まっことありがとうございましたっ!>>46さん
0049japu
NGNGの方が良いかもしれません。
タブが複数個入る場合を考えて、split /\t/, $_, 2 とするのは良い考えです。
0050【多謝】
NGNGぉ!!!ありがとうでした〜 早速、使ってみます。。。
0051CGI
NGNG0052名無しさん
NGNG<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
...これで、いいの?
0053名無阿弥
NGNGう。多分それが正しいんだね。ありがとう。
違いがよくわかってないのでどう違うのか教えてください。
HTTPヘッダとして使われるものはこっちってことでいいのかな?
>>44
japuさんが言ってますが 46 なら\t が複数あっても改行まで2個めの\tも含めてすべて受け取れるけど
44 だと2個めの \t 以降は切り捨てられる違いがある。使い分けができます。
44 も同じ結果にするなら split/\t/, $tmp, 2) にすればいいのかな。
>>46
[^\n] はピリオドにしたほうが多分効率いいね。
>>52
で、いいと思います。あと Pragma も同様にね。
0054CGI
NGNGそれでchomp相当処理はどこでやるつもり?
0055CGI
NGNG&error(3) unless (open (FILE,$filename));
undef %TBcategory;
while (<FILE>) { $TBcategory{$1}=$2 if /^([^\t]+)\t([^\n]*)/; }
close FILE;
0056新入り
NGNG環境変数、HTTP_REFERER ってどんな場合に環境変数に
代入されるのですか?
代入される場合と、されない場合があるのですが。。。
0057名無阿弥
NGNGピリオドが「改行文字以外」にマッチなので [^\n] と同じ結果のはずです。
なので問題ないかと。
あと open(FILE, $filename) || error(3); なら見栄えもスッキリしますよ。
>>56
<A>タグなどでリンク(ここでは「最新レス100」など)を移動すると
その直前のURLが入っています。
URLを直接ブラウザに打ち込んで飛んだ場合は入らない(はず)。
たまに、ブラウザがバグって別ウィンドウのURLが入ってることもあるみたいです。
[unknown origin] が入ってることもあるけどこれは直打ちってことかな?
0058japu
NGNG. Match any character (except newline)
&nbsp;&nbsp;&nbsp;&nbsp;:
To facilitate multi-line substitutions, the "." character
never matches a newline unless you use the /s modifier,
try this:
$_ = "sakura\tmoe\n";
@hoe = /^([^\t]+)\t([^\n]*)/;
print "[@hoe]\n;
0059名無阿弥
NGNG0060japu
NGNGopen FILE, $filename or error(3);
0061名無阿弥
NGNG勉強になりました。
0062適当君
NGNGブラウザの"戻る"がアクティブでない時が変数の中身はカラ。
...「新しいウィンドウでリンクを開く」とか
0063名無阿弥
NGNGピリオドでも [^\n] でも同じなのかな…。わからなくなってきた。
\s 使わなければ "." は \n にマッチしないということかな?
すいませんけど識者の方教えてくださいませ。
0064ぺこちゃん
NGNGGETでサーバーに送れるデータは254文字までと
書いてある本と書いてない本が有るんです。
私がテスト(IIS4)してみたら、300文字でも送れた
んですが、どうしてでしょうか?UNIXだとだめなん
ですか?
0065便乗さん
NGNG0066>64
NGNG今は数千文字でも大丈夫。
0067新入り
NGNGいきなりの失礼な質問に答えて下さり有難う御座いました。
こちらで再現している状態と一緒なので、そういう仕組みに
なっているようですね。勉強になりました。本当に有難う御座いました。
0068名無しさん
NGNG入り具合はどんな感じですか?
Perl本体だけとか?
0069名無しさん
NGNG標準で入ってるモジュールはあるだろ(笑)
0070clear
NGNGモジュール消すにしてもプラグマぐらい使えるようにしといて欲しい。
0071名無しさん
NGNG0072名無しさん
NGNG0073名無しさん
NGNG72 > 69 ね。
0074名無しさん
NGNG0075等幅フォントって...
NGNG<FONT FACE="等幅" COLOR="#AAAAAA">Copyright(C) 2000
XXX.All rights reserved.</FONT>
0076名無しさん
NGNGweb制作管理板
http://mentai.2ch.net/hp/index2.html
0077名無しさん
NGNGまた移転先探さなきゃ・・
0078名無しさん
NGNG007944
NGNGあれで作られた連想配列、key を与えればちゃんと取り出せるのですが
順番がぐじゃぐじゃになっているのはどういう事なんでしょうか?
順番に取り出したい場合はデータにuniqueなIDつけて、カウンタをkey
にして取り出すしか無いんでしょうか?
$flag = 0;
foreach $tmp (%TBmens_collar) {
if ($flag == 1) {
print "$tmp\n";
$flag=0;
} else {
$flag++;
}
}
0080名無しさん
NGNGハイパーリンクジャンプするには、どうすればよいのでしょうか?
初心者ですがよろしくお願いします。
0081名無しさん
NGNG入門書でも読んでハッシュについて勉強しろ。
0082
NGNG$in{'msg'} =~ s/($http_URL_regex)/<a href="$1" target="_blank">$1<\/a>/ig;
008380
NGNGありがとうございました。早速コピー&ペーストしてみたのですが、
残念ながらうまく、表示されませんでした。
やはり私では難しいすぎたのかもしれません。
でもいずれ使える時のために82さんのレスをテキスト保存しました。
お気遣いすみませんでした。
0084>83
NGNG0086名無しさん
NGNGprint "Content-type: text/html\n\n";
system "cat ./header.txt";
system "./sidebar.pl";
&mainroutine;
こんな感じで。
ちなみに sidebar.pl は SSI としては正常に動いています。
0087名無しさん
NGNG使用自体に問題はないけど、printの出力はバッファリングされてるので、
systemと混ぜると出力データの順序がばらばらになってしまいます。
最初に $|=1 を実行して、printのバッファリングを停止すれば、
オーケーでしょう(動作効率は多少落ちる)。
008880
NGNGすみません。やはりダメでした。
OTDの掲示板なので、無理があったのかもしれません。
ありがとうございました。
0089>80
NGNGわからないくせにCGIいじろうなんて考えるのやめとけ。
0090>87
NGNGロックアウトしてまうということを「CGIのための実践入門Perl」で
読んだ。system関数つかわなくてもApacheでは$|=1;でバッファフラッシュ
はデフォつーことで理解しとけばオゲーですか?
0091名無しさん
NGNGなにそれ聞いたことないよう。もうちょい詳しく引用きぼん。
009286
NGNG結論から言うと上手くいきましたが何を意味するのかちょっと理解できていません。
結果オーライ的思考からいくとこれでいいのですがちょっと釈然としないものが・・
web出力の基本は標準出力であり、system文が絡むとなぜバッファリングの順が狂うのやら。
ともかく有難うございました。
009386
NGNG検索結果が膨大になるときでも、実行中に結果を順次表示しないのかが
これでわかりました。perlの中で出力を溜めちゃうんですね。
逆に$|=1; をトップに入れておけば途中経過がリアルタイムで
観察出来るって事でしょう。<ほぼ独り言
ついでになんですが、phpでバッファリングを止める方法ってありますか?
0094(゚д゚ )
NGNG0095動かない///なんで?
NGNGprint "<html><head><title>REMOTE_ADDR</title></head><BODY>\n">
while ( ($a,$b) = each %ENV) {
print "$a=$b<br><br>\n";
}
print "</body></html>\n";
0096名無しさん
NGNG二行目の最後を見れば幸せになれるぞ
009795@動きました
NGNG0098名無しさん
NGNG日本時間に直すにはどのようなスクリプトを書き足せばいいのでしょうか..
0099名無しさん
NGNG$ENV{'TZ'}='JST-9';
これだけ追加。
010098
NGNGありがとうございます!
できましたー!
0101RiVer
NGNG■ このスレッドは過去ログ倉庫に格納されています