CGIだけど、なんか質問ある?part4
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/09/18 18:17ID:plR9HC2Eprint<<HTML_END;
<a href="http://corn.2ch.net/test/read.cgi?bbs=php&key=988727833" target="_blank">旧スレ</a>
HTML_END
0607名無しさん@お腹いっぱい。
01/11/16 19:52ID:???素人さんには難しいですね、話に入れなくてごめんなさいね。
>>606
物知りお猿さんですね (^_^;) いんたねっと上級者さんですか?
でも俺も教えない w
0608名無しさん@お腹いっぱい。
01/11/16 20:00ID:???0609名無しさん@お腹いっぱい。
01/11/16 20:09ID:+qGZIDex同一スカラーの個数のカウントはどうやるのでしょうか?
0610名無しさん@お腹いっぱい。
01/11/16 20:14ID:???0611名無しさん@お腹いっぱい。
01/11/16 22:12ID:???やり方がわかりません。
教えてください。。。
gzipのソース
http://www.ibport.co.jp/~yui/cgiwork/tech/src/gzip_cgi.txt
0612名無しさん@お腹いっぱい。
01/11/16 22:35ID:???説明読んでも分からんならあきらめろ。
0613名無しさん@お腹いっぱい。
01/11/16 22:53ID:???上のスクリプトを設置しても白い画面しかでないのよ。。。。
どうすればいいんでしょ?
0614名無しさん@お腹いっぱい。
01/11/16 23:22ID:???gzipのパスをハードコードしているあたり、厨臭いね。
0615名無しさん@お腹いっぱい。
01/11/16 23:31ID:Vio0g6gm考え中です
0616名無しさん@お腹いっぱい。
01/11/17 01:19ID:uArXD8kdできました。ありがとうございました。
0617(・ε・) ◆LbaGYMio
01/11/20 06:32ID:???エロ画像
</font>
とかってできちゃう掲示板多いよね。
IEとかNetscape6ならonmousemoveが動いちゃうみたい。NN4は大丈夫だった。
JavaScriptが書けるとなればね。文字列'\x3C'に対応してない掲示板も多いしさ。
ブラクラどころか脆弱な他の掲示板を自動で荒らしたりするのも簡単に出来そう。
別ウィンドウ開きまくって、そこにフォームとJavaScriptを出力してsubmitとかさ。
これはさすがに試してないから確証は持てないけど。
ま、もとの掲示板のサーバサイドのデータには影響はないだろうけど、周りに迷惑
かける。自分でタグ許可したCGI書いてる人はこれを気をつけるべきかも。
またfontタグ使える掲示板をレンタルしてる人は、掲示板を変えたほうがいいね。
Aタグもさ<a href="javascript: 〜">できちゃうところあるしね。
とりあえず、みんなJavaScriptをオフにしようぜ。
0618(・ε・) ◆LbaGYMio
01/11/20 06:38ID:???とかやっても面白そう。
0619名無しさん@お腹いっぱい。
01/11/20 12:41ID:QRDBiFEvありますか?.htaccess、mod_rewrite 等を使って。お願いします。
0620名無しさん@お腹いっぱい。
01/11/20 12:47ID:P5HRzifJ0621名無しさん@お腹いっぱい。
01/11/20 12:50ID:???http://pc.2ch.net/test/read.cgi/php/1003132904/20
で探してみた?
0622620
01/11/20 13:43ID:P5HRzifJランダム表示や、時間で切り替えするものはあったのですが、
日替わりでランダムに表示するというものは見つかりませんでした。
他のCGIを参考に作ってみます。
0623RA・イール
01/11/20 14:47ID:iGD3kXDDしかし、"<"後ろに文字を入れた場合にIEではちゃんと表示されるのですが
ネスケだと変換されずに"<"となってしまいます。
どうにかならないでしょうか?
0624RA・イール
01/11/20 14:49ID:iGD3kXDDすいません。間違えました。
不等号の"<"をブラウザで表示させる為に"<"を"&lt"に変換させて表示しています。
しかし、"<"後ろに文字を入れた場合にIEではちゃんと表示されるのですが
ネスケだと変換されずに"&lt"となってしまいます。
どうにかならないでしょうか?
0625名無しさん@お腹いっぱい。
01/11/20 14:49ID:???0626625
01/11/20 14:51ID:???"<" は "<" に変換すべき (セミコロン)
0627625
01/11/20 14:51ID:???0628名無しさん@お腹いっぱい。
01/11/20 15:32ID:???激しくワラタ
0629RA・イール
01/11/20 15:42ID:iGD3kXDDありがとうございます。
どうやら解決したようです。
0630628
01/11/20 15:47ID:???かちゅだとダメだね。
0631名無しさん@お腹いっぱい。
01/11/20 16:40ID:9GBu+RPX<a href="read.cgi?password=pw">DL</a>
みたいなことをやると、「ファイルを保存」できるようにしたいんだけど、どうすればいいでしょうか。
データがCSV形式なんで、
open(FILE,'<datafile.cgi');
@file=<FILE>;
close(FILE);
print"Content-type: text/csv\n\n";
for($l1=0;$l1=$#file;$l1++)
{
print $file[$l1];
}
なんてことやってみたけど、見事に失敗(ファイルにアクセスしています…から進展不能)。鬱だ…。
0632名無しさん@お腹いっぱい。
01/11/20 16:46ID:???> for($l1=0;$l1=$#file;$l1++)
まさか無限ループ?
0633名無しさん@お腹いっぱい。
01/11/20 17:36ID:VUf3ducMどのように解析するんですか?
0635初信者
01/11/20 19:15ID:vSnM22q1現在、Perl言語によるCGIスクリプトを勉強しています。
既にその為の書籍3冊を買い、必要に応じて読みながらCGIを書いております。
他の既存スクリプトを見ながら目下理解に努めておりますが、本に書いていない
変数や命令が結構あり、行き詰まる事が多いです。
そこで本題なのですが、$ENV〜で綴られている環境変数全てを知りたいのです。
どちらかで見かけたよという情報や、この本に全て書いてあるという情報を
教えていただくか、誘導していただけると有り難く思います。
宜しくお願いします。
0636名無しさん@お腹いっぱい。
01/11/20 19:19ID:???foreach(keys %ENV){print qq($_\t$ENV{"$_"}\n);}
って意味じゃないよな・・・。
http://www5a.biglobe.ne.jp/~n_rieko/perl/4.htm
↑検索で見つけたページ。
「Perl 環境変数 一覧」で検索。
0637初信者
01/11/20 19:31ID:???foreach(keys %ENV){print qq($_\t$ENV{"$_"}\n);}
とかでは、例えば$ENV{"TZ"}等は宣言していないと出てこなかったり
しませんか?それが疑問に思える部分でもあるのですが。
それで自分も検索したのですが、どうしても全ては一緒に出てきにくい
です。一体$ENV〜の定義はどこで決められているのでしょう?
0638名無しさん@お腹いっぱい。
01/11/20 19:48ID:???コンソールで出ないなら設定ファイル書き変えれ
0639初信者
01/11/20 21:41ID:???貴重なご意見ありがとうございました。
その2行の中でさえ解らない言葉があるので、もっと勉強して精進します。
お手を煩わせてもうしわけありませんでした。
0640名無しさん@お腹いっぱい。
01/11/20 23:04ID:???http://www.env.go.jp/
0641名無しさん@お腹いっぱい。
01/11/21 00:30ID:???0642635
01/11/21 00:51ID:???確かにENVでした。
0643名無しさん@お腹いっぱい。
01/11/21 01:01ID:???0644名無しさん@お腹いっぱい。
01/11/21 01:38ID:O3sag41pとカウントログが出てくるものを
12日 3
13日 2
14日 4
と過去ログ日別集計の組み方はどういった考え方なのでしょうか?
0645Perlリハビリちぅ
01/11/21 02:00ID:???@date_ary = qw(1 1 1 4 4 2 1 1 2 4 4 3);
$cnt{$_}++ for(@date_ary);
print "$_ は $cnt{$_} 回です\n" for(keys %cnt);
0646名無しさん@お腹いっぱい。
01/11/21 02:40ID:O3sag41pあ!できました。ありがとうございました。
0647名無しさん@お腹いっぱい。
01/11/21 03:57ID:b0qb5jcy次にbb.cgiに渡して処理させるにはどうすればいいのでしょうか?
aa.cgiで処理が終わってからhtmlを出力してformから受け取った
値をhiddenにしてaction=bb.cgiというやり方ならわかるのですが、
それだともう一度submitを押さなければいけないですよね?
スマートな方法はないでしょうか?
0648名無しさん@お腹いっぱい。
01/11/21 04:08ID:???aa.cgiから,locationでQUERY_STRINGつけて飛ばすとかかなぁ。
けど,スマートにやるならそもそもの設計を考え直したほうがいいと思われ。
Perlなら,aa.cgiからbb.cgiをrequireするとか,doするとか。
0649名無しさん@お腹いっぱい。
01/11/21 04:36ID:???つーかbb.cgiからreturnした時にどうしたいかによる
system、exec辺りで無責任にキックしても良いのか?
NPH=バッファリングしない=転送は微妙に遅いが、処理は軽い
って事なんでしょうか?
0651名無しさん@お腹いっぱい。
01/11/21 09:32ID:???y&p
ってなに? 。。。viのことか(鬱
0652名無しさん@お腹いっぱい。
01/11/21 10:09ID:???転送が遅いってのがよく分からんけど、様は応答部分も自分で吐く必要が有るなら
それなりに意味が有る。 広告クッキー飛ばしたい時とか w
何かNPHって凄いらしい!!! とか思ってるならヤメトケ
君HTTPの応答コード全部知ってるの??
0653↑
01/11/21 10:28ID:???別にCGIで全ての通信をするわけじゃなし、いいんじゃないの?
0654名無しさん@お腹いっぱい。
01/11/21 11:48ID:???と言う気はするね
0655名無しさん@お腹いっぱい。
01/11/21 11:55ID:???俺はちょっとした細工の為に使ったりしてるね。
演出というか。
sleepと組み合わせて。
やっぱり鯖負荷大きいのかな?
0657名無しさん@お腹いっぱい。
01/11/21 15:38ID:8hrOmW/vそういう演出って自己満足だったりするんだね。。。
0658名無しさん@お腹いっぱい。
01/11/21 15:59ID:???全ての通信の意味がわかりませんが。
nphなCGIは「完全な」HTTPレスポンスヘッダを返す必要があります。
HTTPのバージョンとかにも対応してたらそれなりに面倒。
どうしてもヘッダを好き勝手に弄りたいなら別だけどそうじゃなかったら
NPH使う意味無いよ。Apacheに任せておいた方がラク。
>>655
それはもはやNPHとは関係ない・・・
0659_
01/11/21 16:12ID:rCaQvMxZHTML出力って、CGIでできますか?教えてください。
0660名無しさん@お腹いっぱい。
01/11/21 16:15ID:???HTML::Template
0661_
01/11/21 16:31ID:rCaQvMxZありがとうございます。
どこかのサイトにサンプルとかないでしょうか?
0662名無しさん@お腹いっぱい。
01/11/21 16:34ID:???http://member.nifty.ne.jp/hippo2000/perltips/html/template.htm
0663_
01/11/21 16:54ID:rCaQvMxZ0664名無しさん@お腹いっぱい。
01/11/21 16:57ID:???perlのモジュールについてなら無い。
0665_
01/11/21 17:13ID:rCaQvMxZapacheの標準でHTML::Templateが動くってこと?
ハァ?HTML::TemplateはApacheとは何ら関係ありません。
0667_
01/11/21 17:22ID:rCaQvMxZスマソ。説明不足。webサーバをApacheにして
cgiでHTML::Templateを動かす場合について、必要なものは?
0668名無しさん@お腹いっぱい。
01/11/21 17:26ID:???>必要なもの
Perlのバイナリ
0669名無しさん@お腹いっぱい。
01/11/21 17:27ID:???HTML::Templateモジュール
0670_
01/11/21 17:30ID:rCaQvMxZmod_perl.cは今、入ってませんが。
以下のPerl標準モジュール
integer
strict
Carp
File::Spec
vars
>>670
何の確認?
ApacheのモジュールじゃないんだからHTML::Templateの有無は
そんなのじゃ調べられんよ。
0672_
01/11/21 17:39ID:rCaQvMxZじゃ、どうやって調べるの?
0673名無しさん@お腹いっぱい。
01/11/21 17:48ID:???perl -M(モジュール)
でエラーが出なけりゃ大丈夫。HTML::Templateの場合は
perl -MHTML::Template
つーかPerlのモジュールとApacheのモジュールの区別がつかないのは
致命的だから要らん事止めとけ。
0674_
01/11/21 17:54ID:rCaQvMxZありがとうございます。よくわからないので、いまのところ
テンプレートを使わずに、変換で逝きます。
やさしくご指導していただいて、ありがとうございました。
0675655
01/11/21 19:13ID:???その機能を利用するかどうかは利用者に選ばせてる。
CGIゲームの結果を一気に表示するか少しずつ表示するかの違いでね。
1画面に入ってしまう程度の結果だから、少しずつ表記されるとドキドキして楽しいんだ。
>658
自分でも良くわかってないんですが、どう関係ないんでしょう?
また、NPH以外でそれを表現できるとしたらその方法を教えてください。
0676つーか。。
01/11/21 19:24ID:???Modified絡みとかでサーバのヘッダ使えない時くらいしか
考えつかないな
ヘッダなんて知ってるのだけで良いじゃん?超はやい〜
て言うのは、ちょっと酸っぱいと思う。
そゆ事はお家の中でしてて下さいですです
0677655
01/11/21 19:32ID:???画面の表示を遅らせたいからです。
一度に表示されないように。
>Modified絡みとかでサーバのヘッダ使えない時くらいしか
ここ、少し説明していただけますか?
もし別のやり方でできるならそっちも検討してみたいです。
よろしくおねがいします。
0678つーか。。
01/11/21 19:49ID:???昔のApacheって出力バッファしてたみたいだけど
俺はズイタミ位しかしらないなぁ
それともconfにそんな設定が有るのか
0679名無しさん@お腹いっぱい。
01/11/21 20:01ID:???CGI側でバッファリングしなければお望みどおりだよ。
# >>678 ズイタミ って何?
0680655
01/11/21 20:30ID:???一応もう一度説明をすると
print qq(ヘッダとか);
print qq(100m走スタート!<br>\n);
sleep(1);
print qq(10m突破!<br>\n);
sleep(1);
print qq(20m突破!<br>\n);
sleep(1);
・
・
・
sleep(1);
print qq(ゴール!<br>\n1位は○○さんでした!<br>\n);
こんな感じで、1秒ごとに途中経過の出るスクリプトです。
(要点のみ抽出する為に途中の処理説明は省きました)
今まではnphを使ってそれを表現していました。
nphじゃないスクリプトにして$|=1;を入れて試した方では
こちらの望む結果にはならず、10秒後に結果が一度に表示される
ようになってしまいます。
nph以外のやり方があるのでしたら教えてください。
よろしくお願いします。
0681名無しさん@お腹いっぱい。
01/11/22 04:43ID:???とりあえず、使ってるHTTPDのバージョンは?
#!/usr/bin/perl
$| = 1;
print "Content-type: text/plain\n\n";
for (0..9){
print $_ . "\n";
sleep(2);
}
うちはこれでOKだったよ。Apache/1.3.20 on Linux
0682!680
01/11/22 05:09ID:???規定時間後に一気に表示されたよ。
リロードしたらねらい通りに表示されるから
ブラウザの問題かも。
fub(IE6.0)
0683教えてください
01/11/22 08:20ID:NGnYufgLCGI(Perl)で書き換えようとしています。
ためしにHTMLで出力してみたら、
日本語が文字化けします
(こんな風にhttp://www.ae.wakwak.com/~paryan/cgi-bin/manage.cgi)
ちなみにJSファイルはUnicodeで書いています。
Jcode.pmを入れ
Jcode::convert(\$_, 'euc', Jcode::getcode(\$_), "z");
とはやってみたのですが変わりません。
正しく変換するにはどうしたら良いのでしょうか?
0684名無しさん@お腹いっぱい。
01/11/22 08:29ID:???> スレ立ったんじゃ〜!!コラー!(もっとー!!)
> スレ立ったんじゃ〜!!コラー!(もっとー!!)
> ビデオがスロー再生できなくなりました。(ペコ)
0685655
01/11/22 08:47ID:???プロクシ通してました・・・。
Proxomitronを使っていたもので。
でも、プロクシを外しても同じ結果になります。
ローカルのHTTPDは恥ずかしながら
http://www.st.rim.or.jp/~nakata/
こちらのAN HTTPDを使わせてもらっています。
OSはWin2kです。
>682
うちはIE5.5でリロードしても一気に表示されました。
ブラウザに依存しないと効果が得られないというのは避けたいので
ブラウザ限定だとするとやはり諦めないといけないですね。
・・・ブラウザ限定でいいならJavaScriptとかを使う手もあるので。(^^;
0686683
01/11/22 08:52ID:7hXo+AWRすみません。なんか表示できなくなっていました。
今度は大丈夫だと思います。
http://www.ae.wakwak.com/~paryan/cgi-bin/manage.cgi
0687まえに初心者コーナーにあったコード
01/11/22 09:21ID:???$uniq = "((($$ 他と重複しない文字列 $^T)))";
print "Content-Type: multipart/mixed; boundary=$uniq\n\n";
foreach $time(10,20,30,40,50) {
print "--$uniq\n";
print "Content-type: text/html\n\n";
print "<html><head><title>時間</title></head><body>\n";
print "$time秒たったよー\n";
print "</body></html>\n";
sleep(10);
}
print "--$uniq--\n";
0688名無しさん@お腹いっぱい。
01/11/22 09:42ID:???失礼。
0689名無しさん@お腹いっぱい。
01/11/22 15:31ID:???0690名無しさん@お腹いっぱい。
01/11/22 15:43ID:???SSIとは何か。調べなおしてみると
幸せになれそうな気がします。
0691名無しさん@お腹いっぱい。
01/11/22 15:49ID:???ブラウザは拾ったパケットはどんどん表示するでしょ。
その為にインターレースが重宝されたりNCのTableが遅いとか言ってるんだから
今時IEにそんな事してなんの意味が有るのか・・・
受信量見てれば分かるだろ
それはHTTPDがキャッシュしてるから設定出来れば直せばいい
0692名無しさん@お腹いっぱい。
01/11/22 15:57ID:???実際、受信はsleepの通りに数秒ごとにするよ。
その間ブラウザは何も表示しない。
一度試してみれ。
0693名無しさん@お腹いっぱい。
01/11/22 16:05ID:???つーか、そのブラウザは長い(500KB)位のHTMLを見るとき
受信完了まで表示されないのか? 2chのログとか
何か根本的に間違えてない??
0694名無しさん@お腹いっぱい。
01/11/22 17:18ID:???だとするとProxomitronが置き換え終わるまでブラウザには送られないはず
0695名無しさん@お腹いっぱい。
01/11/22 17:30ID:???NPHだろうか無かろうが関係ない。他のHTTPDはしらない。
Proxyだとか、ブラウザの問題もNPHとは関係ないでしょ。
0697名無しさん@お腹いっぱい。
01/11/22 17:48ID:???幸せを願う気持ちが足りないのです。
もっと祈りましょう。
0698名無しさん@お腹いっぱい。
01/11/22 18:39ID:Lzgwr3Ynが付いてしまいます。NAMEだけにしたいのですが出来るでしょうか?
my $temp=$_[0];
my $mail;
if ($m_sendtome){$temp.=" , $m_mailad";}
$mail = "To: $temp\n";
$mail .="From: NAME\n";
$mail .="Subject: 登録完了\n";
$mail .="Errors-To: $m_mailad\n" if $m_sendtome;
$mail .="Content-Transfer-Encoding: 7bit\n";
$mail .="Content-Type: text/plain\; charset=\"ISO-2022-JP\"\n\n";
$mail .=$_[2];
&jcode::convert(\$mail,'jis');
open (OUT,"| $sendmailpath -t") || die &error("sendmailが使用できませんでした。");
print OUT $mail;
close (OUT);
0699名無しさん@お腹いっぱい。
01/11/22 18:50ID:???0700655
01/11/22 19:04ID:???いえ、2chとかは受け取った順に表示されます。
こちらの設定の問題でしょうか?
>694
Proxomitronを「バイパス」にして試しました。
IEの設定で「プロクシサーバーを利用する」のチェックを外した方での
チェックも行ないましたが、結果は変わりませんでした。
AnHttpdだとダメなだけでしょうか?
0701名無しさん@お腹いっぱい。
01/11/22 19:53ID:???0702名無しさん@お腹いっぱい。
01/11/22 19:56ID:???こっちが聞きたいよ、上のやりとり見てわかんない?
まずサーバで詰まってるかクライアントが受け取ってからなのか確認しろよ
0703初心者です
01/11/23 00:06ID:W/j9dBl/ログをコンバートしないと過去ログ参照ができないとのこと。
そのコンバート用CGIをDLして実行したのですが、
どうしてのサーバエラー(500)が出ます。
そのCGIの制作者さんは「コンバートCGIについての質問禁止」と
書いてらっしゃるので、質問も出来ません。
こういうことはここで聞いてもよろしいのでしょうか……?
0704655
01/11/23 00:13ID:???DLしてみたのでこれから導入を試みようと思います。
英語が読めないと厳しい・・・。
>702
その確認はどうやって行なえばいいのでしょうか?
NN4.7で試しても同じだったのでサーバーサイドの問題のように感じます。
Apache導入後に改善されればサーバーのせいという事ですよね?
何か根本的に間違ってるのかな?
nphでは一度に表示されず、きちんと順番に表示されてくれます。
0705名無しさん@お腹いっぱい。
01/11/23 00:26ID:???パケットが届いてないならサーバ側のストリームかソケットでバッファリング
されてる(サーバの問題)、逆に届いてるのに表示出来ないならクライアント側で
何らかのバッファリングがされてる**だろう**と
その調子で全ての組み合わせを試してもいいけど・・・
>何か根本的に間違ってるのかな?
はい
Q「小錦を乗せたら車がパンクしました!小錦が悪いですよね」
A「釘踏んだんじゃないの?」
0706655
01/11/23 00:37ID:???その確認の方法がわからないのでできればご教授願えないでしょうか?
パケットが届いているかどうかは「ページが表示されるか否か」以外に
どのように確認すればよいのでしょう?
自分の知識ではバッファリングがどちらでされているか識別する
手段を知らないので・・・。
どうかよろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています