■こんなCGI作ってください■ Part.2
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/11/30(水) 23:39:20ID:4Yze1ehc《前スレ》
http://pc8.2ch.net/test/read.cgi/php/1102980903/
0041nobodyさん
2005/12/04(日) 20:08:01ID:???http://www.au.kddi.com/ezfactory/
0042nobodyさん
2005/12/04(日) 20:09:39ID:???>>33から飛べる
http://www.au.kddi.com/ezfactory/tec/spec/4_4.html に
>HTTP Requestヘッダ情報では、この他にHTTP_X_UP_SUBNOフィールドにてEZ番号が確認できます。
だそうです。
004342
2005/12/04(日) 20:10:40ID:???0044nobodyさん
2005/12/04(日) 20:17:19ID:???xxxxxxxxxx_xx.ezweb.ne.jp
という一意な番号みたいっす。
シリアルIDあたりを使ってるのか、まぁそこらへんまではわからんちん。
004532
2005/12/04(日) 21:51:37ID:???004632
2005/12/04(日) 21:51:58ID:???0047nobodyさん
2005/12/04(日) 23:44:33ID:MMuuMesoしかも「何かを気をつけながらの入力および走査」が前提とかw
なんか自信なくしたorz
0048nobodyさん
2005/12/04(日) 23:54:19ID:2Vp1UZQtたとえば
C:\Program Files\aaa\111.txt
C:\Program Files\aaa\222.txt
C:\Program Files\aaa\333.txt
C:\Program Files\aaa\444.txt
C:\Program Files\bbb\555.txt
C:\Program Files\bbb\666.txt
C:\Program Files\bbb\777.txt
C:\Program Files\bbb\888.txt
のようなログを吐き出したtxtとファイルがあります
そこからaaaとbbbの文字列だけ抜き出したい場合
どのようなCGIを組めばいいんでしょうか?
最終的には
HTMLに
「aaa」
「bbb」
と出力したいと思っています
0049nobodyさん
2005/12/05(月) 01:56:29ID:???0050nobodyさん
2005/12/05(月) 02:26:25ID:FCcoaE7Kprint (split(/\\/, $logpath))[2];
で。
階層は固定じゃないけど、テキストファイルのあるディレクトリが欲しいって意味なら
@path = split(/\\/, $logpath);
print $path[$#path - 1];
エスパーじゃないので文章が変な質問にはこれ以上は無理。
0051nobodyさん
2005/12/07(水) 00:20:17ID:???0052nobodyさん
2005/12/07(水) 06:39:03ID:/dv85r21メールで送られてくるの。
管理人が登録して、順番を決めて
Aが記事を書いたらBに送信、Bが見たらURLポチッのみでCに送信、でまたポチッでDに送信
最終に来たら、次はBから記事送信出来るようにする。順番がまわってこない限り記事はかけない。
回覧ノートを郵送で送ってまわしてるけど送料がばからしくなってきたのであるといいなと思った。
0053nobodyさん
2005/12/07(水) 08:49:35ID:???回覧ノートへのアクセス権や記事発信権をわざわざ順番付けして排他的に扱う用途が思い浮かばない。
ひょっとして交換日記みたいな遊び要素のあることを郵送でやってたの?
005554
2005/12/07(水) 08:56:27ID:???詳しい仕様をおせーてください
0056nobodyさん
2005/12/07(水) 13:00:53ID:???Perlでおねがいします・・・
0057nobodyさん
2005/12/07(水) 14:05:44ID:/dv85r21そうです。交換日記ですね。
女の子同士でよく回覧ノートっていって郵送でノートをまわしてます。
ノートだったり、一人1枚ずつ紙を足していったり。1枚の紙に書くスペースきめてそこへ書き込んだり。
郵送料が馬鹿にならないので、有料でもいいので誰かお願いします!
(あんまり高いのは無理だけど)
似たようなのはみつけたんだけど、微妙に違う。
http://www.web-shinsengumi.com/100/chat/no90/
0058nobodyさん
2005/12/07(水) 14:10:45ID:/dv85r21普通の交換日記は、順番がまわってきた順に追加?って感じだけど、
そうしちゃうと、最終の人は、人数分のメールが一気に届く事になるので、
全員に配信されてから、次の人がかけるようにってのが理想。
それだと、携帯の人にも負担にならないんじゃないかと思うので。
誰でも登録って事はできなくて、管理人がメール登録出来るように。
順番は登録順とかでも全然かまわない。
回覧途中に誰かが退会する可能性もあり。
難しいですかね?
0059nobodyさん
2005/12/07(水) 14:15:23ID:???もう少しわかり易くまとめてくれ
0060nobodyさん
2005/12/07(水) 14:44:03ID:???つかメールでやるんなら「回覧」でなく「同報」でいいのでは。
ノートだと物理的に一つしか無いから回覧にせざるを得ない訳で。
1. Aさんが書いたメールを全員に送信
2. 全員が「読んだよ通知」をサーバに送信 (URL ポチッ)
3. 「読んだよ通知」が全員分揃ったらBさんに連絡
4. Bさんが以下略
プログラム的にはこの流れの方が多分楽。登録者の増減を
扱うところの仕様はお任せにせずきちんと打ち合わせた方が
いいと思うけど。
0061nobodyさん
2005/12/07(水) 17:45:07ID:???# >>60と同じ。人数が多いと回覧ノートより1周に時間がかかるかも知れない。
・Aさん書く→全員に内容配信→Bさん書ける→Bさん書く→ループ
# 順番に投稿できるML。参加者の手間を取らない。
・Aさん書く→Bさんに直前のN-1人の内容配信→Bさん書ける→Bさん書く→Cさんに直前のN-1人の内容配信→ループ
# 人数分のキューをバケツリレー。回覧ノートに一番近い。
0062nobodyさん
2005/12/07(水) 18:34:01ID:/dv85r21説明ベタでごめんなさい。Perlなどプログラムの知識がないので
どんな事が出来るのか、わからなくて
参加者の負担の事を考えると>>61さんの2番目
>・Aさん書く→全員に内容配信→Bさん書ける→Bさん書く→ループ
のように順番に投稿できるMLが一番いいような気がしました。
普通のML案も出たのですが、メールがいっぱい来て自分の順番がわからないと嫌がったもので。
人数はたくさんいるのですが、今のところ5人ずつのグループにわけて複数のノートをまわしてます。
最大でも1つのグループ10人程度です。
どなたか親切な方、お願いします。
0063nobodyさん
2005/12/07(水) 19:51:56ID:/dv85r21二転三転してすみませんが、メンバーに確認をとった所、
順番に投稿できるMLの場合、Aさんが投稿、配信後、すぐにBさんがかける事になり、
他のメンバーがAさんの投稿メールを読まないうちに(受信後未読など)Bさんが届く。
最悪、数時間のうちに、たくさんのメールが届く事になるので、
できれば、全員がURLポチ後に、次の人がかけるようにして欲しいとの事です。
0064nobodyさん
2005/12/07(水) 20:17:34ID:???Aが書く(送信と同時にランダムな英数字のURLが付きBにメール送信)→BがURLをクリックしてサイトに飛んで書く〜〜
ってな具合は?
文字を入力するとファイルの中からそれの説明文がでてきて、対象がない場合は
ファイルに説明文を登録できるようなかたちのやつを。
0066nobodyさん
2005/12/08(木) 08:22:03ID:???着眼するべきなのはデータなのです。
この場合は辞書のデータ、用語や説明文などになりますので、
それがどういう形で保存されていて、どういう形で出力するかの話なので、
「Perlでの」とかってそういうプログラム言語ってのは実はあんまり関係ないんです。
まずはデータに着目しましょう。
実装段階までいってわかんなくなったら、そこで初めて質問しましょう。
できれば質問スレなどの然るべきスレで。
0067nobodyさん
2005/12/08(木) 08:26:09ID:???文字列処理はPerlの最も得意とするところなので、
その点に関しては心配しなくてもいいと思います。
0068nobodyさん
2005/12/08(木) 18:57:11ID:sXXg5Zij0069nobodyさん
2005/12/08(木) 19:31:53ID:OXoDftpWWebでやる案ありがとうございます。
でも、メンバーさんが更新チェックをマメにしてくれるかどうか・・・(苦笑)
投稿があったらメールでお知らせっていうのもありですね。
とりあえず、手動で同報メールを配信、日をあけて次の方に記事をお願いし、こちらで配信。
これをテスト的にはじめてみようかと思います。
お騒がせしてすみませんでした。
0070nobodyさん
2005/12/10(土) 10:26:29ID:dLSJPbwW【使用目的】 漫画の感想を投稿するときに、その漫画を見ているかチェックしたい
【説明】 5〜10の質問を出されて、その質問に全問正解しないとそのページにいけない。
【希望】 質問は自分で作れるタイプがいいです。
自分なりにまとめてみました。どうかよろしくお願いします
0071nobodyさん
2005/12/10(土) 11:09:56ID:u4//pSB1【使用目的】 投票ランキング
【説明】 絶対的1人1票。どんな投票作ってもなんらかの技術で1人が大量に投票する
【希望】 キボンヌ
0073nobodyさん
2005/12/10(土) 13:58:56ID:???0074nobodyさん
2005/12/10(土) 14:35:47ID:???できるだけ抑えるのなら可能じゃない
0076nobodyさん
2005/12/10(土) 14:56:20ID:???0077nobodyさん
2005/12/10(土) 14:58:24ID:???>絶対的1人1票
これはCGIだけじゃ無理だろ
特殊なActiveXやアプリ組まないと…
0078nobodyさん
2005/12/10(土) 15:02:23ID:???投票パスコードを郵送する位のことは最低でもやらんと
0079nobodyさん
2005/12/10(土) 15:04:08ID:???そんなに噛み付いてこないでくれる?(´・ω・)
0081nobodyさん
2005/12/10(土) 15:07:52ID:???日本語も読めないの?カワイソス(´・ω・)
0083nobodyさん
2005/12/10(土) 15:14:14ID:???0084nobodyさん
2005/12/10(土) 15:14:24ID:???選挙並の体勢でいかないと無理だろうな
CGIだけじゃ限界があるんで引取ってもらうか
できる事だけ考えましょう
0085nobodyさん
2005/12/10(土) 15:15:31ID:???マジ気持ち悪いんだけどw
0087nobodyさん
2005/12/10(土) 15:17:17ID:???言い返さないと済まない年頃なんだねw
0088nobodyさん
2005/12/10(土) 15:18:00ID:???0089nobodyさん
2005/12/10(土) 15:20:54ID:???sub get_personal_information {
0090nobodyさん
2005/12/10(土) 15:21:39ID:???};
0091nobodyさん
2005/12/10(土) 15:22:59ID:???my $tel = get_personal_telephone_number();
my $address = get_personal_address();
009291
2005/12/10(土) 15:23:17ID:???0094nobodyさん
2005/12/10(土) 15:32:54ID:???ふぅ・・
0095nobodyさん
2005/12/10(土) 19:59:12ID:???入っていれば投票済みと。
0096nobodyさん
2005/12/11(日) 00:07:06ID:???0098nobodyさん
2005/12/11(日) 01:19:44ID:50s8+fJjそれが商用に利用されたり、いろいろ変えられたりするのが怖いよね
アンケートは町に出て聞きなって幹事
0100nobodyさん
2005/12/11(日) 04:27:07ID:q4a19M1G入力による回答時は文字の揺らぎも考慮お願いします。
(三=3など)
010197
2005/12/11(日) 09:39:22ID:???http://vipbox.dip.jp/ui.png
じゃあ、こんな感じでOK?
0102nobodyさん
2005/12/11(日) 09:43:18ID:???010397
2005/12/11(日) 10:06:13ID:???スマソ、そういう方法でのやり方がよくわからんからこれで…
もうちょっと詳しく言ってくれたらわかるんだけど…日本語力不足でスマソ
入力をえらぶと正答欄に [正答1.正答一.正答壱]
っていう風にドット(か別の何か)で区切って正答を入力してもらう予定…
数字の揺らぎ修正なんてむりぽ…
何択って形式を取るときは誤答欄3が空だったら一応警告して2択にする風にできたら良いな
010570 ◆CcyXJHS7ZM
2005/12/11(日) 10:48:57ID:/ucvptXK>>97
どうもありがとうございます!少し説明不足があったようです。すみません。
ちなみに>>100は自分じゃありません。
理想的には選択問題がいいです。打ち込みだと手間がかかり気軽に出来なくなってしまうので。
選択数は4〜5が当てずっぽうで正解しにくいので理想です。
それと問題を複数作ってランダム出題できると尚助かります。
大事なところを忘れていました。どうもすみませんでした。
010697 ◆NZZQcM1W4U
2005/12/11(日) 11:57:30ID:???じゃあ、その希望だと、こんな感じかな?
http://vipbox.dip.jp/ui2.gif
手打ちで確認したいときもあるだろうから、直接入力方式も使えるようにしてみようと思う。まあ、基本的に選択式で。
誤答欄空白でそこまでで選択数を決めるから【何択】っていう欄は作らない予定。
問題は10個まで作れるようになるはず。ランダム出題…難しいな。考えてみる。
ランダム出題させるとしたら20は質問が必要になるんだよなあ…それを入力するフォームとCGIを考えるとちょっと…
まあ、できる限り努力します。
>>104、>>105
>>100、>>102はただ参考にということで。
010770 ◆CcyXJHS7ZM
2005/12/11(日) 12:18:06ID:/ucvptXKはい。どちらも出来るならば大丈夫です。
CGIは触り程度の初心者ですが、問題の数固定ではなく、追加するタイプだと出来ませんか?
┌───┐
│データ │
└───┘
↑挿入する
┌─────┐
│新しいデータ│
└─────┘
伝わりにくいかもしれませんが、なんていえばいいかわかりません。
もう少しCGIの情報を集めてみます。
私の意見はすべて参考でお願いします。最終的な機能はお任せします。
010897 ◆NZZQcM1W4U
2005/12/11(日) 13:05:02ID:???問題の数の上限は作らざるを得ないんだよなあ…100個とか1000個とかなら事実上ほぼ上限は無いといえるけど…
まあ、上限を大きく設定して、後で問題を追加することもできなくも無い。
ただ、あんまりはじめからいろいろやりすぎると後で収拾がつかなくなるので
とりあえず単純に質問リストに書き込みするCGIを作って、データの追加とかは後で別CGIでって方向でいきます。
010970 ◆CcyXJHS7ZM
2005/12/11(日) 14:14:15ID:/ucvptXKわかりました。お願いします
0110nobodyさん
2005/12/11(日) 23:56:28ID:???つttp://58.70.65.3:9999/2ch/1133361560-70/login.php
ごめんなさい。
0111nobodyさん
2005/12/12(月) 02:43:29ID:???型にはまった恋愛[プログラミング]なんて無理!
っていう気持ちを忘れずにな。つ
0112nobodyさん
2005/12/12(月) 15:25:02ID:???ご教授いただければと思い書き込み致します。
txtファイル(ログファイル)から、「」に挟まれた単語を抜き出して
カウントするようなCGIを作ろうと思っているんですが、
pushを使って単語を格納してからカウントしたほうがいいのか、
ハッシュ変数を使ってカウントしたほうがいいのか教えて下さい。
ある程度は勉強したつもりなんですが、
プログラムの組み方がほとんどわからないため、初歩的な質問でしたら申し訳ないです。
0113nobodyさん
2005/12/12(月) 15:36:50ID:???while (<FH>) { while(/「(.*?)」/g){ $h{$1}++; } }
close(FH);
foreach $k (sort keys %h) {
print $k, ' => ', $h{$k}, "\n";
}
0114112
2005/12/12(月) 15:38:42ID:???0115112
2005/12/12(月) 19:49:20ID:???print "Content-type: text/html\n\n";
read(STDIN,$buffer,$ENV{'CONTENT_LENGTH'});
print "<html><body>\n;"
open(FH, 'log.txt');
while (<FH>) { while(/[(.*?)]/g){ $h{$1}++; } }
close(FH);
foreach $k (sort keys %h) {
print $k, ' => ', $h{$k}, "\n";
}
print "</body></html>";
頑張れなくてすいません・・・。本当に丸投げになってしまいますが、
どこが足りないか教えていただきたいです。お願いしますm(__)m
表示は、HTMLでテーブルを使って
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| りんご | 2 |
|―――――――――――|
| みかん | 0 |
|―――――――――――|
| : | : |
|___________|
のような感じに表示させたいです。
0116nobodyさん
2005/12/12(月) 20:56:38ID:???#!/usr/local/bin/perl -w
use strict;
use CGI qw(header start_html table Tr td end_html);
use CGI::Carp qw(fatalsToBrowser);
my $file = 'log.txt';
my $charset = 'Shift_JIS';
my %count;
{
local *FH;
-f $file or die "No such file.\n";
open FH, '<' . $file or die $!;
while (<FH>) { ++$count{$_} for /「(.*?)」/g }
close FH;
}
header(-charset => $charset),
start_html(-encoding => $charset, -lang => 'ja'),
table( Tr([ map td([ $_, $count{$_} ]), sort keys %count ]) ),
end_html,
;
__END__
0117nobodyさん
2005/12/12(月) 22:11:46ID:???0118112
2005/12/13(火) 12:09:19ID:???実行したところ、11行目(多分 local *FH;)が間違っていると言われてしまいましたorz
$なのかな、と思って書き直したらそれも間違い言われました・・・
0120112
2005/12/13(火) 20:05:56ID:???自分ももう少し勉強しようと思います。どうもお世話になりました!
0121112
2005/12/13(火) 21:51:07ID:???sort keys %countで名前順にしているのはわかるんですが、
出てきた回数の数でソートするにはどう書けば良いでしょうか?
あと、少し気になったのですが、今まで自分が書いてたものは
print "<html><body><table>\n";
みたいな感じで書いていたんですが、それとは少し違うみたいなんですが、
単に書き方の違いなんでしょうか?スレ違いな質問申し訳ないです。
0122nobodyさん
2005/12/13(火) 22:17:24ID:???http://www.kt.rim.or.jp/~kbk/perl-5.8/perlfaq4.html#how_do_i_sort_a_hash__optionally_by_value_instead_of_key_
http://perldoc.jp/docs/modules/CGI.pm-2.89/CGI.pod
こういう小さなスクリプトだと CGI.pm で HTML を生成するメリットは
正直殆ど無いよ。でも生成条件が複雑になってくると自分で文字列
をチマチマいじって生成するより、関数にデータを放り込んで自動で
吐かせた方が楽になるし、スクリプトの見通しも良くなる。
以後、コーディングに関する質問は以下へ。
Perlコーディング初心者質問スレ Part 45
http://pc8.2ch.net/test/read.cgi/php/1134049707/
0123112
2005/12/13(火) 23:22:59ID:???ご丁寧に有難うございます。以後、あちらのスレにて質問いたします。
ここまで教えて下さった方々に感謝です。
0124nobodyさん
2005/12/14(水) 20:43:47ID:???0125nobodyさん
2005/12/18(日) 20:54:27ID:???おまえらのマルチを見つける速さと的確さに感動。w
0126nobodyさん
2005/12/18(日) 23:43:33ID:???pf-xや石大が提供するような、ユーザー管理システム?などはどんな仕組みで
管理・動作するのでしょうか?
また、あれは管理者の自作なのですか?
だとしたら、Linuxベースのシステムで動作する
管理システムは作れますか?
0128nobodyさん
2005/12/19(月) 00:08:07ID:???中学生であんなプログラム組めるんだから
このスレの住人なら、
もっと良いのが作れるんじゃないの?
0129nobodyさん
2005/12/19(月) 08:13:08ID:???職業プログラマだってピンキリだし、ここに書き込まれる簡単な書きなぐりスクリプトだって、
小技きいてんなぁと唸ってしまうものもあれば、苦笑してしまうような酷いものまで千差万別って感じ。
0131nobodyさん
2005/12/19(月) 14:03:42ID:???0132nobodyさん
2005/12/19(月) 14:46:46ID:???ワロタ
同感。
>>126
>>130が大いなるヒントだと思う。
自鯖でやるって前提だろうから、system関数とかを使ってできるんじゃない?
というか、コマンドラインから実行できるものはすべて自動化可能かと。
013370 ◆CcyXJHS7ZM
2005/12/21(水) 20:30:10ID:K1psG2zIかなり遅れて申し訳ありません。
ありがとうございます!理想どうりの機能です!
すみませんが、ダウンロードはどうすれば出来ますか?
0134nobodyさん
2005/12/21(水) 21:19:06ID:???013570 ◆CcyXJHS7ZM
2005/12/21(水) 22:35:50ID:???どうも
0136nobodyさん
2005/12/23(金) 02:28:55ID:???指定した時間内に一人しかアクセスできない,または指定した人数までしかアクセスできない
というような処理ができるCGIが欲しいのですが、
実現可能でしょうか?
サーバ側でMaxConnPerIPは使えません。
0138nobodyさん
2005/12/24(土) 18:33:48ID:???ちょっと考えてみたけど、「ダウンロード開始」をトリガにカウントした場合、
連続してクリックされたり(それはIPアドレスなりで判断すりゃいいけど)、
ダウンロードしかけてキャンセルしたものもカウントしてしまったりと問題があるような。
■ このスレッドは過去ログ倉庫に格納されています