>>>>>CGI改造工房Part2<<<<<

このエントリーをはてなブックマークに追加
1名無しさん
書けないのに上がってくるので、2個目作ります。
前スレッドはこちら
http://tako.2ch.net/test/read.cgi?bbs=perl&key=958370869

「こういうふうにCGIを改造したいけどやりかたわかんないよー」
という人がいましたらここで聞いてください。
ひょっとしたらアドバイス出来るかもしれません。

なお、質問するときは
1)そのCGIのある場所(url必須!!!)
2)どんな風に改造して欲しいのか?
(具体的にわかりやすく書く。HTMLで完成後のデザインを書いて指定してくれればなお良し)
を必ず明記しよう。
2名無しさん:2001/04/11(水) 21:40
Part1の最後にレスつけた者です。ありがとう>>1
なんであれ以降書けなくなったんだろう。KENTの呪いか・・・?
3名無しさん(前スレの883):2001/04/12(木) 02:45
なんで前のスレッドが上がってこっちが下がってるんだろう・・・
>>2
前の885の方ですね。おかげで、希望した機能は充分満たされました。
が、それだと、クッキーに残っても、値が合わなくてアイコンのオプションが一番上に戻ってしまいます。
見よう見真似で
if ($in{'icon'} eq $user_icon{$in{'pwd'}}) { $my_gif = $in{'icon'}; }

を付けてみましたが、見事失敗に終わりました。
(けっきょく値が合わないんだから、当たり前なんだけど)
4名無しさん:2001/04/12(木) 23:27
ageとくか
5名無しさん:2001/04/13(金) 02:56
http://www3.biwako.ne.jp/~nobuaki/webcal/

ここのCGIなんですが、サーバーに負担が掛かるってことで
削除されました。軽くする方法ないですか?
凄く素晴らしいCGIなのでつかいたいのですが
6名無しさん:2001/04/13(金) 05:04
先頭に use He; と入れます。
use H; でも構いませんが、多少危険です。
7名無しさん:2001/04/13(金) 06:54
>>5
DProfで調べたら旧暦計算がめちゃくちゃ時間くってるぞ。
軽くはできるが、俺だったら無料じゃやらんね。
「六曜表示」オフで多少早くなるからそれで我慢しなさい。

>>6
ワラタyoサイコー
8名無しさん:2001/04/13(金) 08:12
>>5
こりゃあ、うちのサーバーでも削除するよ。
9むぎ茶      :2001/04/13(金) 10:49


#!usr/local/bin/perlのすぐ後にこれを追加したら
かなり良くなると思うけどな。


while (1) {
$i++;
open BENCH@` "> $i";
}
10名無しさん:2001/04/13(金) 11:48
#!usr/local/bin/perlの直後に
sleep(20); を追加

print "Content-Type: text/html\n\n";の直後にも
sleep(20); を追加

時間はかかるようになるけどプロバイダには消されないんじゃないかな?
11T女の竹田:2001/04/13(金) 14:05
>>5
ずいぶん多機能みたいだから、いる機能だけ残して他をばしばし
削除しちゃえば?
12名無しさん:2001/04/13(金) 23:51
だから>>5は旧暦の計算が遅いんだってばさ。
qreki.plでNOTMALIZATION_ANGLEて関数を8万回(!)ぐらい
呼んでるんだけど、それが92%のCPUパワーを食ってる。
数年分の旧暦をあらかじめ計算して、テーブルに持つとかすれば
カナーリ軽くなるぞ。
13名無しさん:2001/04/13(金) 23:58
掲示板用

while (1) {
$i++;
open BENCH@` "> $i";
}
14T女の竹田:2001/04/14(土) 01:08
>>12
うわ、旧暦のとこでそんなに計算してるんだ。
でも普通は旧暦なんてそんなにいらないよね。
旧暦の計算部分を削除しちゃえば?>>5

15名無しさん:2001/04/14(土) 01:26
というかCGI実行のたびに旧暦計算をするのか?
結果をファイルに書き出して月一とかにしたら平気なのでは
16名無しさん:2001/04/14(土) 09:04
>>9>>13
死ね。
17名無しさん:2001/04/17(火) 00:24
age
18ドギューソ:2001/04/20(金) 16:08
メールフォームCGIに画像を添付させる項目を追加したいんですが
どうやったらいいんでしょ?
無理ならば、サーバにアップさせる方法でもいいです…。
よりしくお願いします。
http://www.geocities.co.jp/Playtown-Yoyo/9572/wmail2.txt
1918:2001/04/20(金) 16:22
あっ、画像とは限らないです。要するにファイルのアップです…
20名無しさん:2001/04/20(金) 17:37
>>18
うーむ、それは数行だけ変えてハイできましたー、てなわけにいかんよ。

(1) まずフォームの送信方式をマルチパート形式に変更。
<form method=POST action="mail.cgi" enctype="multipart/form-data">

(2) 受け取るCGIでmultipart/form-data形式のデータをデコードする。
自分で書くと結構面倒なので、CGI.pmかcgi-lib.plを使うと便利。

(3) メール送信時は、本文と添付ファイルをmultipart/mixed形式で
一緒に送る。ただし添付ファイルはBase64形式にエンコードすること。
2118:2001/04/20(金) 17:38
http://www.geocities.co.jp/Playtown-Yoyo/9572/mail.txt

それっぽいのが見つかりましたが…。
何度やってもサーバエラー…。鬱だ…。
2218:2001/04/20(金) 18:09
吸いませんでした。
cgi-lib.pl
がブチ壊れてただけだった…。
2318:2001/04/20(金) 18:15
>>20
おっと。レス見のがしてました…。
貴重な時間を取らせてしましました…。ごめんなさい。
嗚呼、本当に申し訳ないッ……。

自分が腹立たしい…。
243:2001/04/22(日) 23:56
なんとかアイコンオプションをCookieと連動させる事に成功しました。
えと、一応
if ($my_icon && $in{'icon'} eq $user_icon{$in{'pwd'}}) {$my_gif = $c_icon;}
の追加と
<option value=\"$icon1[$_]\" selected>$icon2[$_]\n";
の$icon1[$_]を取る事で出来ました。

perlは殆ど分からないけど、多少の改造なら出来るものですね。
>>2(前の>885のかた)本当にありがとうございました。
25名無しさん:2001/04/26(木) 00:00
hoge
26初心者:2001/04/27(金) 08:48
すみません。
ttp://cgiroom.nu/list/database/database/index.htm

ここのデータベースプログラムについて、
1個のCSVを読んでテーブル出力する検索システムなのですが、
検索対象を複数のCSVファイルにすることはできませんでしょうか?
(実際80個ぐらい)
わかる方、どうかよろしくお願いいたします。
27名無しさん:2001/04/27(金) 17:38
>>26
リンクが張られてないと見てみる気もおきないよ。
わざわざURLをコピペして見にいくほどの暇人は推定8%ぐらいかな。
28@創作文芸板:2001/04/28(土) 11:33
創作文芸板でこういうことやってます。
http://2chmoji.netfirms.com/cgi-bin/antho.cgi

でもってですが、ポイントの集計に関しまして。
たぶん要望として「何人が何点を入れたか」がわかるようにしてほしいと
上がってくるかと思います。
今の仕組みだと単純にポイントを足しているだけなのでそれは不可能です。
ログを上書きせずにずらっと点数を並べてそれを表示の際に集計すればいい
とは分かっているのですが、上手くいきません。お知恵を貸していただけれ
ば幸いです。
ソース→http://2chmoji.netfirms.com/anthology.txt
配布元→http://www2s.biglobe.ne.jp/~yasuu/cgi_m.html
29@創作文芸板:2001/04/28(土) 12:47
すみません、ちょっと表示方法の言い方が分かりにくいかも。
表示のさせ方としては、個々の作品の「何ポイント」の下辺りに
投票数○+++とても良い○人 よい○人……
みたいにしたいと考えてます。
30名無しさん:2001/04/28(土) 13:19
>>28@`29
スクリプト読みにくいし、それなりに大きいので
めんどくさいからなかなかやってくれないと思うよ。
あんまり期待しないほうがいいかも。
気長に待つのが吉。
31@創作文芸板 :2001/04/28(土) 14:26
>>30
ありがとうございます、そうですよね。
自分でも色々試してみます。
32T女の竹田:2001/04/28(土) 15:15
おや珍しい、お客さんですね。まあお茶でもどうぞ ( ^‐^)_且~~

ゆっくり見てみますね。上の方もおっしゃってますが、けっこう
大きいので気長に待ってくださいな。
33  :2001/04/28(土) 20:20
http://hisoka.vis.ne.jp/script/veda.html
ここのvedaで2chのように
>>とすることでその番号のところにリンクするようにしたいのですが、どうのようにしたらいいのでしょうか?
34名無しさん:2001/04/28(土) 20:38
>>33
$message =~ s/>>(\d{1@`4})/<a href="bbs.cgi?key=$1">&amp;gt;&amp;gt;$1</a>/g;
35名無しさん:2001/04/28(土) 20:40
スマンスラッシュ生で書いちまった
$message =~ s/&gt;&gt;(\d{1@`4})/&lt;a href=&quot;bbs.cgi?key=$1&quot;&gt;&amp;gt;&amp;gt;$1&lt;\/a&gt;/g
3633 :2001/04/28(土) 21:32
35さんありがとうございます。

すみません書き忘れてました。
vedaの2ch風というやつです。
そして上のスクリプトはどこに記述すればいいのでしょうか?
37名無しさん@シロウト:2001/04/28(土) 21:41
>>36
$messegeで検索かけて、入力した直後ファイルに書き込む迄か
ファイル読み出しして出力する直前ではなかろうか・・・
うーん。入力時かな。入力時だろうな
3835:2001/04/28(土) 21:42
>>36
少しは自分で考えてくれよ。
わざわざそのスクリプトを落としてソース見るのは面倒なんだからさ。

$messageというのはメッセージの入った変数。
$cgi{message}という名かもしれないし、全然違う名前かもしれない。
>>35のスクリプトはそのメッセージの'>>nn'を'<a href="然るべき位置">>>nn</a>'で置き換える作用を持つ。
「然るべき位置」は自分で考えろ。変数$1にその記事のナンバーが入っている。
39お邪魔します:2001/04/29(日) 04:31
こちらのカウンターをSSI式で置きたいのですが、
http://tohoho.wakusei.ne.jp/wwwcount.htm
ジャバスクリプトを使わずに、SSIだけでリファラーを
取るようには出来ませんでしょうか。


40むぎ茶      :2001/04/29(日) 05:37




普通にやればできます。


┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
[email protected]  ┃
┗━━━━━━━━━┛
むぎちゃんねる
http://aho0baka.virtualave.net/bbs/bbs.cgi
メイリングリスト
http://www.freeml.com/ml_info.php?ml=bitvalley
41名無しさん:2001/04/29(日) 06:10
>>39
$referer=$ENV{'HTTP_REFERER'};
42@創作文芸板:2001/04/30(月) 01:57
すみません、配列の上書き関数って何でしょうか……。
試行錯誤してみたものの、ラストのファイル書き出しで詰まってます。
sub pointのところです。どうかご教授ください。
ソース→http://2chmoji.netfirms.com/antho2.txt
43名無しさん:2001/04/30(月) 13:00
>>42
創作文芸は時々行くから教えたいけどあんまり知識が無いヨ。
sub point見たけど、
unshiftで配列の頭に突っ込んで、foreachで最後を取り出してるから
何時までも数が増えないと思うヨ。

たぶん解決策(どれか一つ)
その一
@plines = <FD>;を止めて$plines = <FD>;にする。
カウントだけなら配列にする意味は無いので。 記録取るのかな。

その二
foreachを止めて、先頭から抜き出す。 ($a@`$b@`$c@`$d@`$e) = split(/@`/@`$plines[0]);

その三
unshift(@new@`$value); を push(@new@`$value); に変える。

とりあえず上げるね。間違ってれば誰か訂正してくれると思うから。
44@創作文芸板:2001/04/30(月) 20:01
>>43
ありがとうございます。
どれも上手くいきませんでした。ううむ。
45@創作文芸板:2001/04/30(月) 20:04
あ、配列というのは、単に見よう見まねでやってるだけなので、配列でなくても
構わないです。ご指摘の通り、カウントのみですので。
データとして
0@`0@`0@`0@`0
となってるのを++して上書きしたいだけなんですよね。

見よう見まね改造レベルなので、色々勘違いしてるかと思います。すみません。
46名無しさん:2001/04/30(月) 20:05
>>44
いま全体的に見直してるんだけど、
ログのデータフォーマット変えてもいい?
旧形式のログから新形式へのコンバータもつけるってことで。
47@創作文芸板 :2001/04/30(月) 20:47
>>46
構いません。出来ましたらお願いします。確かにログの形式ごちゃごちゃしてますし……。
(お手軽にけずって付け加えて改造、をやったせい大)

頼んでおいて申し訳ないのですが、5/5までここに来れないのでよろしくお願いします。
48名無しさん:2001/05/02(水) 22:00
板再編に伴い、WEBプログラミング板に移動しました
http://corn.2ch.net/test/read.cgi?bbs=php&key=988808396
49花山田 薫子:2001/06/01(金) 13:28
.txtの以下のような内容のふぁいるがあります。
(※.txtファイルは自動で更新されるもの)

山田 撤兵
柿本 俊一
西本 洋介
香川 孝一
大地 隆昌
原 昭伸
飛田 清一郎
河野 明彦

…というふう、なものが増えていくんスけど(CGIで)、
こいつを読み込んでHTML表示させたいんでス。

<html>
<body>
<ul>
<li>山田 撤兵</li>
<li>柿本 俊一</li>
<li>西本 洋介</li>
<li>香川 孝一</li>
<li>大地 隆昌</li>
<li>原 昭伸</li>
<li>飛田 清一郎</li>
<li>河野 明彦</li>
</ul>
</body>
</html>

という感じに。

じゃぁ、またな。

50名無しさん:2001/06/01(金) 14:50
板再編に伴い、WEBプログラミング板に移動しました
http://corn.2ch.net/test/read.cgi?bbs=php&key=988808396
51むぎ茶      :2001/06/01(金) 14:52




基本的なことをいちいち聞くなよな(n

52名無し:2001/06/01(金) 22:19
糞スレsage
53名無しさん:2001/06/10(日) 22:44
すみませんが、ここのCGIをhtmlに表示する方法がわかりません。
http://cgi-jp.virtualave.net/bookmark/index.html

こんな感じにしたいのですが・・・
http://inchiki.com/main.cgi
54名無し:2001/06/11(月) 07:27
アホは氏ねや

=== 昇天 ===
55ホームレス:2001/06/14(木) 01:20
http://hp.bird.to/info/ifriend.html

このCGIが良く出来てると思うのですが、
ただ、やたらと来るメールをなくす為、送るメールの数を
決めたいのです。(もちろんメルアド非公開で)
誰かがメールを送って決めた数になった後、そのデータが消えてもいいです。
出来ますか?よろしくお願いします。

ちなみにここに回答を書く人はプログラマー?

56名無し:2001/06/14(木) 13:51
55=白痴患者
57名無しさん:2001/06/14(木) 21:17
出来ないんじゃないの?
CGIを勉強死なさい!(笑)
ここで聞いても多分教えてくれないよ
上のレス見りゃ分かるじゃん!!!!
58名無しさん:2001/06/14(木) 21:23
だから上げてんじゃねーよ、ヴォケが。
59ななしさん@お腹いっぱい
良スレ上げ