スクリプト改造工房 Part3
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。
2001/05/02(水) 21:59ID:nr93n3doという人がいましたらここで聞いてください。
ひょっとしたらアドバイス出来るかもしれません。
前スレ
Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=958370869
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=986986227
#板移動に伴い「CGI改造工房」→「スクリプト改造工房」に改名
なお、質問するときは
1)そのスクリプトのある場所(URL必須、拡張子".txt"でアップすればなお良し)
2)どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
を必ず明記しよう。
0809ナナシンボ
02/01/24 22:33ID:WUwMo1ER0810名無しさん@お腹いっぱい。
02/01/25 00:20ID:???0811名無しさん@お腹いっぱい。
02/01/25 00:48ID:???age
0812名無しさん@お腹いっぱい。
02/01/25 01:37ID:???0813名無しさん@お腹いっぱい。
02/01/25 08:02ID:???0815名無しさん@お腹いっぱい。
02/01/25 15:51ID:/7cgUOJjみんな、誰かのスクリプトを使ってみて、それででてきた
不満や課題を自分で何とかしようとして、そうやってだんだん
プログラム/スクリプティング覚えてきたんだよ。
ナナシンボがんばれ。がんばっていればきっと何とかなる。
質問の仕方も変わってくる。
そしたら、多分どんどんいいアドバイスがもらえるようになってくるよ。
0816名無しさん@お腹いっぱい。
02/01/25 16:46ID:???質問なら分かる範囲で答えるけどねぇ
0817名無しさん@お腹いっぱい。
02/01/25 16:49ID:p42dGcu9トップページをhtml表示にして、各カテゴリの横に登録件数を表示したいのですが
どのようにしたらよいでしょうか。。。
下記URLにありますように、「CGI*(119)」「フリー素材(302)」などの「(登録件数)」をhtmlに表示させてやりたいのです。
http://yomi.pekori.to/s/yomi.cgi?mode=kt&kt=01
カテゴリごとの登録件数を吐き出すcgiを作成して、
それをトップページのshtmlに渡してやれば良いみたいなのですが、cgiの書き方がわからないのです。。。
0818ナナシンボ
02/01/26 05:37ID:i7EWq8IC頑張ります!!
0819名無しさん@お腹いっぱい。
02/01/26 16:58ID:rcPie24K画像のアップロード機能を付けたり、返信タイトルを変えれるように改造したいのですが
どうすればよいでしょう。
ソースはwww12.tok2.com/home/azsx4/bbs.txt です。
0820名無しさん@お腹いっぱい。
02/01/26 20:38ID:???0822名無しさん@お腹いっぱい。
02/01/27 12:32ID:c8vNEx+4知ろうとしているのですが、逆クオートで、`which perl`などとやっても
うまく表示されません。
そこで、
test.cgi
#! /usr/local/bin/perl -w
`sh ./test.sh`;
exit;
test.sh
#! /bin/sh
which perl >1.txt
which gzip >>1.txt
which sendmail >>1.txt
として表示させています。
(sendmailのパスはこれでもだめでした・・・)
よろしければ、これらの問題点、sendmailのパスの取り方、
もっとまともなやり方、などアドバイスがありましたら、
よろしくお願いします。
0823名無しさん@お腹いっぱい。
02/01/27 12:34ID:c8vNEx+4(背景)
CGIは稼働するのですが、SSHやtelnetを許可されていないプロバイダで、
かつ、これらのパスの位置などをユーザが容易に知り得ない状況で、
スクリプトにパスを記入するのが必要な場合に簡単に提供してあげたい
という事情です。
0824名無しさん@お腹いっぱい。
02/01/27 13:12ID:???0825名無しさん@お腹いっぱい。
02/01/27 13:18ID:???demupa?
0827名無しさん@お腹いっぱい。
02/01/27 14:21ID:???お返事ありがとうございます。
$check = `which ls`;
print $check;
では、/bin/ls
がきちんと表示されます。
しかし、
$check = `which perl`;
ですと、うまくいかないようです。
もしかしたらパーミッションなんかが絡んでいるのかもしれないのですが・・・
あるいは、セキュリティ対策のために隠蔽されているかもしれないですが・・・
0828名無しさん@お腹いっぱい。
02/01/27 15:18ID:???後者の場合、どのように表示されるの?
0829名無しさん@お腹いっぱい。
02/01/27 15:19ID:???カラッポです。
0830名無しさん@お腹いっぱい。
02/01/27 17:06ID:???0831819
02/01/27 17:08ID:???画像アップできる掲示板なんですが、レスにも親記事と同様に
画像のアップロード機能を付けたり、返信タイトルを変えれるように改造したいのですが
どうすればよいでしょう。
下の2つが関与していることが分かりました。
www12.tok2.com/home/azsx4/bbs.txt
www12.tok2.com/home/azsx4/bbs_eng.txt
0832名無しさん@お腹いっぱい。
02/01/27 17:19ID:???めんどくせー
0833名無しさん@お腹いっぱい。
02/01/27 17:39ID:???るせんだよお前
馬鹿は引っ込んでろって
0834名無しさん@お腹いっぱい。
02/01/27 18:04ID:???>>822-823
をご覧下さい。
>>827は、>>826へのお返事です。
m(_ _)m
0835819
02/01/27 19:04ID:???以前2チャンネルに直リンクしたところ、アカウントを抹消されましたので
こり方法を採らせて頂きました。申し訳有りませんが、これで宜しくお願いします。
0836名無しさん@お腹いっぱい。
02/01/27 19:08ID:???0837名無しさん@お腹いっぱい。
02/01/27 19:47ID:???引っ込めゴミ屑
0838名無しさん@お腹いっぱい。
02/01/27 19:57ID:???だいたい、833の方がクズっぽいじゃんw
0839838
02/01/27 20:08ID:???$cmd の汚染チェック
$which = "/usr/bin/which";
if($cmd){
$s = `$which $cmd`;
if($s ne ""){
print " $s\n";
} else {
print " 無い\n";
}
} else {
print "入力して\n";
}
うちのサーバーでは動くよ。
0840名無しさん@お腹いっぱい。
02/01/27 20:24ID:c8vNEx+4>839
ありがとうございます。おかげさまでPerlのパスは表示できるようになりました。
原因がよくわからないのですが、/usr/bin/whichとフルパスにしたところ、
今までちゃんと表示されなかったsendmail perlについても、
パス表示で出力されました。
ありがとうございました。
0841名無しさん@お腹いっぱい。
02/01/27 20:49ID:???大体PerlのパスはPerlで調べられないでしょう (笑
て冗談は置いといて
コマンドパス(ここではwhich)もshの方があらかじめ通ってる可能性が高いよ
0842名無しさん@お腹いっぱい。
02/01/27 20:55ID:c8vNEx+4PerlのパスをPerlで調べる、というのは、結果が出せなくてムキに
なってやってた面があります(笑)。おっしゃるとおりだと思います。
(ただ、表示させることは出来たので「できない」と言い切るわけにも行きませんが)
>コマンドパス(ここではwhich)もshの方があらかじめ通ってる可能性が高いよ
そうなのだと思いました。
> which which
which: shell built-in command.
これを実行して、そのことに気づきました。
shスクリプトについては、ブラウザから実行できないケースがありますので、
なんとか、CGI(Perl)でやりたかったというのが真相です。
0843名無しさん@お腹いっぱい。
02/01/29 14:08ID:wmSGxJCChttp://www.botan.sakura.ne.jp/%7Ewcs/perl/download.htm
ここのbbsnote7.17を使いたいのですが、
画像サイズは任意ではなく
ポップアップメニューで
よこ100・たて200
よこ200・たて300
よこ300・たて400
といったふうに予め指定ができるようにしたいのですが
スクリプトをどう変えるべきなのでしょうか。
心当たりのあるファイルをみっつアップしてみましたが
的外れなようでしたら追加致します。
どうぞ宜しくお願い致します。
http://members.tripod.co.jp/goldenzombie/bbsnote.txt
http://members.tripod.co.jp/goldenzombie/skin.txt
http://members.tripod.co.jp/goldenzombie/config.txt
0844名無しさん@お腹いっぱい。
02/01/29 17:13ID:???えーとねぇ、多分出来たんだけど、
こういう掲示板使った事ないからよく判んないんで自分で変な所探してみてくれる?
isweb36.infoseek.co.jp/computer/perldev/cgi-bin/upload/source/027.lzh
0845名無しさん@お腹いっぱい。
02/01/29 17:31ID:???0846名無しさん@お腹いっぱい。
02/01/29 18:10ID:???ありがとうございます!
config.cgiにエラーがあったみたいなんですが
頂いたスクリプトをお手本に動くまでやってみます。
何から初めていいかすらわからなかったので勉強になりました。
0847名無しさん@お腹いっぱい。
02/01/29 19:55ID:ugS9E7RW途中でバグが発生して原因が分からなくなってしまいました。
スクリプトを直接手直ししてやってもいいぞ、という方いらっしゃいませんか。
お時間があるときでよいので宜しくお願いできませんでしょうか。
バグの内容:
1.投稿時、文字色の指定を「#」にして投稿後、フォームの体裁が崩れる。
2.レスフォームの画像のアップロードが出来ない。
3.投稿文字色を「#」で指定したときの、投稿前に選んだアイコンが反映されない。
スクリプトは下記に纏めて置いておきます。
spamkill.hoops.ne.jp/bbs.lzh
0848名無しさん@お腹いっぱい。
02/01/29 22:03ID:???ごみんね
0849名無しさん@お腹いっぱい。
02/01/29 23:51ID:???人様の為に無料でやれと書かれてモナー。
ソース見た後にバグチェックだって。
馬鹿?
0850名無しさん@お腹いっぱい。
02/01/30 00:26ID:???出来ない人の煽り禁止、負け犬程良く吠える
ここは出来ない人を助けてあげるスレです
0851850
02/01/30 00:29ID:???取り敢えず3の問題はbbs.cgiの1596行目に
<input type=hidden name="icon" value="$in{'icon'}">
を追加すればOKだと思いますよ。たぶんですけど。
残りの問題は私より詳しい人を待ちましょう。
0852とても初心者
02/01/30 02:34ID:H16YxSpOそのページの検索が終わります。これを、
すべての言葉でヒットするように改造したいのですが、
うまくいきません。
現在、全言葉がヒットしてしまいます。
なぜでしょうか?
foreach $data (@data) {
# HTMLのタイトルを記憶
if ($data =~ /<title>(.*)<\/title>/i) {
$title = $1;
}
# タグを無効化
$data =~ s/<[^>]*(>|$)//g;
if (index(lc($data), lc($pair)) >= 0) {
$flag=1;
}
# タイトル名が取得できなかった場合
if ($title eq "") { $title = "無題"; }
if ($flag) {
# 検索結果を表示
if ($h eq 0) {
$h =1 ;
$hit++;
print "<LI><a href=\"$path\"><b>$title</b></a>\n";
print "<DL><DT>$data</DL><br><br>\n";
}
else {print "<DL><DT>$data</DL><br><br>\n";}
}
}
0854名無しさん@お腹いっぱい。
02/01/30 03:03ID:???エラーメッセージ位書かないと
頭の不自由な人と思われるよ
0855とても初心者
02/01/30 03:05ID:H16YxSpO0856とても初心者
02/01/30 03:13ID:H16YxSpO最初の1ヒット目で $h=1
にしてタイトルも表示、
$h=1 ならタイトルなしにしています。
いちおう表示されますが、これでいいのでしょうか?
0857とても初心者
02/01/30 03:32ID:H16YxSpO全文検索をテストしてみたら、
20ページぐらいのHTMLの検索で
3秒以上かかります。(ローカル)
これは、ちょっとまずいでしょうか?
0858847
02/01/30 05:08ID:???>>850さん、ありがとうございます。その改変でバッチリでした。
あとの問題を解決していただける方を待つことにします。どうぞ宜しくお願いします。
一応エラーが出た後のHTMLを用意してみました。
http://spamkill.hoops.ne.jp/error.html
08599450
02/01/30 05:10ID:vwtucaqbhttp://ice.prohosting.com/pinkbook/cgi-bin/linkv.txt
このスクリプトのNEWマークの他におすすめマークと相互リンクマークをつけて
さらに、それぞれのカテゴリーに説明文をつけるにはどう改造すれば宜しいのでしょうか?
どなたかご教授ください。
0860名無しさん@お腹いっぱい。
02/01/30 12:53ID:???kENTに聞け。
0861名無しさん@お腹いっぱい。
02/01/30 13:28ID:NWpy8wW6KENTさんは改造に対する質問を断っています。
それにしてもてめぇみてぇな奴には始めっから聞いてねぇんだよ。
>>850を読め。
0862名無しさん@お腹いっぱい。
02/01/30 13:42ID:jvP4y3Zo>860とのやりとりがどんなやりとりであったとしても、
>それにしてもてめぇみてぇな奴には始めっから聞いてねぇんだよ。
>>>850を読め。
人にものを尋ねる態度でないよね、これは。
0863名無しさん@お腹いっぱい。
02/01/30 13:47ID:???人にものを尋ねる態度でないよね、これは。
(゚Д゚)ハァ?
KENTに聞けとか偉そうな事書いてる
>>860
に対してレス付けたんだぞ
仮にもあんたが850だとしたらとんだ口だけの人間だね?
ただ怒らないだけ。意味ないじゃん。カッコだけ?
0864名無しさん@お腹いっぱい。
02/01/30 13:53ID:???CGIの質問に答えるのは遅いくせにクレームは早いのか?
0865名無しさん@お腹いっぱい。
02/01/30 13:54ID:jvP4y3Zoこの板、ただでさえ人が少ないからねぇ・・・・
たぶん、その発言の後で、君に教えようって思う人はいないと思うよ。
CGI-MLでもいって聞いた方がいいと思うよ、たぶん
ここではもう回答は得られないと思う。
0866名無しさん@お腹いっぱい。
02/01/30 13:56ID:???0867名無しさん@お腹いっぱい。
02/01/30 13:57ID:???君?かっこつけんなよ。
ハンドルネーム変えてから又こよ。
0868名無しさん@お腹いっぱい。
02/01/30 14:25ID:???同意。
ハンドル変えても、内容でわかるから、ここでは無理です。
煽りは無視して待つのがよかったと思う。
と書くと、煽られるんだろうけど。w
0869名無しさん@お腹いっぱい。
02/01/30 14:35ID:???アホかおまえ ワラ
0870とても初心者
02/01/30 16:05ID:H16YxSpOひとつ教えてください。
検索で、ローカルで3秒もかかったら、
サーバーで実際には使わないほうがいいでしょうか?
0871名無しさん@お腹いっぱい。
02/01/30 16:10ID:jvP4y3Zoやってみないとわかんないし、スクリプト全体見ないと
わかんないし、君のローカル環境がわかんないし
設置するサーバの環境がわからないとわかんない。
だからレスがつかないんだと思うよ。
0872名無しさん@お腹いっぱい。
02/01/30 16:26ID:???0873名無しさん@お腹いっぱい。
02/01/30 16:51ID:???おまえもな。
0874名無しさん@お腹いっぱい。
02/01/30 16:54ID:???0875名無しさん@お腹いっぱい。
02/01/30 17:14ID:???・・・・!!
0876名無しさん@お腹いっぱい。
02/01/30 17:47ID:???0877名無しさん@お腹いっぱい。
02/01/30 18:42ID:???0878名無しさん@お腹いっぱい。
02/01/30 20:39ID:ggX8Tpx7自分なりに出来る箇所はやってみたつもりなんですが全然できません・・・
どうか手助けお願いします・・・
アイコン掲示板
http://nyanko.s6.xrea.com/x/yybbs.txt
辞書変換機能付き掲示板
http://nyanko.s6.xrea.com/x/hagure.txt
自分なりにやってみたやつ
http://nyanko.s6.xrea.com/x/henkan.txt
0879名無しさん@お腹いっぱい。
02/01/30 21:44ID:???で配布されているCOSMO-NAVI(自動リンク集CGI)で、
登録したサイトの名前とURLだけでなく、サイト管理人の名前も表示させるように
したいのですが、ご助力願えませんでしょうか?
登録画面ではサイト管理人の名前も登録させる仕組みになっているのですが
登録されたサイトの一覧を表示させても各サイトの管理人は表示されない
仕様なので困っています…
宜しくお願いします。
0880名無しさん@お腹いっぱい。
02/01/30 22:02ID:???そんなURLのページはないそうだぞ。
0881名無しさん@お腹いっぱい。
02/01/30 22:13ID:???あと、表示ルーチンを書き出してここに貼ってくれ。
読むの面倒くさい。
0882名無しさん@お腹いっぱい。
02/01/30 22:29ID:???それと改造の仕方も教えてくれ。
俺も分からんから。
0883名無しさん@お腹いっぱい。
02/01/30 22:53ID:???sub search {
のなかの
foreach ($in{'page'} .. $page_end) {
($no,$part,$sub,$hp,$name,$email,$pw,$msg,$dt,$ts,$rec)
= split(/<>/, $new[$_]);
$sub = "<font size=4><a href=\"http://$hp\" target=\"_top\">$sub</a></font>\n";
$times = time;
# 結果を表示
print "<b>$sub</b> ";
&icons;
print "分類:<a href=\"$script?mode=part&part=$part\">$parts[$part]</a>\n";
print "<P>$msg<hr>\n";
}
このぶぶんな。
0884名無しさん@お腹いっぱい。
02/01/30 22:56ID:???print "<b>$sub</b> ";
を
print "<b>$sub</b> 管理人:$name ";
とかにするんだな。
0885名無しさん@お腹いっぱい。
02/01/31 01:11ID:???>>861
>>863
教授ください。
プ
0886名無しさん@お腹いっぱい。
02/01/31 01:33ID:???全然面白くないヨォォォーーー!!
0887名無しさん@お腹いっぱい。
02/01/31 03:14ID:???板自体も随分と荒れてる気が。。。
0888名無しさん@お腹いっぱい。
02/01/31 03:20ID:???出来ない人は出来ないなりの態度があるんじゃないの?
2ちゃんだからって好き放題言いたい放題はけっこうだけど、
そうすればこうなるってのは分かり切ったことだよね?
教えてもらって、お礼もなにもいわない奴もけっこういるしね。
そもそも、CGI-MLやPerlなんかっていう老舗もあるし、
(あっちも荒れるけどね)
どうしても知りたくて、でもマナーよくできないって奴は
好きにやったらいいんだよ。
あと、荒れてるっていうけど、じゃぁ、モー娘。の狼や
ニュース速報と比べてどうなんだよ?
っていったら、ぜんぜん問題ないくらいにここは居心地いいし、
みんな程々にやっていると思うね?
0890名無しさん@お腹いっぱい。
02/01/31 03:26ID:???なんだ、君か。
0891名無しさん@お腹いっぱい。
02/01/31 05:44ID:???推奨マークをつけたサイトをカテゴリごとにリストにして1ページで
まとめて表示させるには、どうしたら良いのでしょうか?
サイトの抽出は if ($rec == 1) で何とか呼びだせたのですが
その後の処理が分かりません。ヒントだけでもどうかお願いします。
0892名無しさん@お腹いっぱい。
02/01/31 06:30ID:???0893名無しさん@お腹いっぱい。
02/01/31 08:02ID:57SsbVSr0894あぼーん
NGNG0895名無しさん@お腹いっぱい。
02/01/31 11:00ID:???ここでは、もう教えてもらえないって
0896879 ◆ft.iktHc
02/01/31 11:29ID:vSGm7NHA>>881-884さん、解説ありがとうございました。
早速試してみたのですが、ローカルサーバで実行すると
無効な要求が行われました といった内容のエラーメッセージが
返されてしまいました…
度々申し訳無いのですが、実際に弄ったtxt全文をupしましたので
最後にもう一度だけ力を貸してください、どうかお願いしますm(__)m
今txtをupしているサーバーはジオですが(^^;
実際に使うときはCGI可能な場所に置きなおします。
ローカルサーバで使っているのはunhttpdです。
0897名無しさん@お腹いっぱい。
02/01/31 11:39ID:d+VyXV4Oまんこマークのアイコンを登録したらいいんじゃないのか?
0898名無しさん@お腹いっぱい。
02/01/31 11:40ID:d+VyXV4Oなんでこいつアクセス制限にならないんだろう。
余談でした。
0899名無しさん@お腹いっぱい。
02/01/31 11:43ID:d+VyXV4Oほかの部分もいじってないか?
俺が書いた変更の部分では、そういうエラーは出ない。
0900896 ◆ft.iktHc
02/01/31 12:41ID:ADMI85c9確認ありがとうございます。
もう一度自宅に帰ったらチェックします、お手数かけました…
これで卒研間に合います...
0901878
02/01/31 13:37ID:HFi6HUD60902名無しさん@お腹いっぱい。
02/01/31 13:46ID:d+VyXV4O見てあげたい気もするけど、なんか面倒くさそうなので・・・・
話を聞いている限りでは、上手にやればちゃんと出来るよ。
がんばれ!
0903878
02/01/31 13:52ID:HFi6HUD6励まし有難うございます<(_ _)>
やはり面倒ですよねぇ。
今の所エラーなどは出て無いのですが、変換させる記述が
さっぱりわからないのですよ。。。
辞書変換のtextをコピペしたらエラー出るし
自分なりに書くって言っても変換させる記述がわからないので
さっぱりです。。。
いろいろ調べてがんばってみます!
0904名無しさん@お腹いっぱい。
02/01/31 13:58ID:d+VyXV4Oうん、わかんない部分だけここに記述してごらん?
ソースはリンクしてあるから、必要だったら参照できるし。
この辺がわかりません、ってかんじで。
そういう感じで質問すると、かなりイイカンジの答えがもらえるところだよ。
ここは。
0905名無しさん@お腹いっぱい。
02/01/31 14:38ID:HFi6HUD6アイコン掲示板にアイコン選択と同じ様な辞書変換機能を付けたいのですが、記事表示部分に
if ($comvert) {
print "<td nowrap><b>辞書変換</b></td><td><selectname=henshin>\n";
print "<optionvalue=noselected>変換無し\n";
print "<optionvalue=99selected>ランダム\n";
foreach(0 .. $#dicfile) {
if ($c_henkan eq "$dicfile[$_]") {
print "<option value=$_>$dicname[$_]\n";
}
}
と記述しましたが、cgiを実行してみたらアイコンの様な選択肢が表示されません。
そのすぐ下に#記事を展開と言うのを記述している所があるのですが、
そこにアイコンモードが記述されているので、辞書モードと言う形で
記述しなければいけないのか、またどう記述するのかで悩んでいます。
↓自分で書いたソース
http://nyanko.s6.xrea.com/x/henkan.txt
参考にしている辞書変換機能のついた掲示板のソースを見ていたら、
ログ表示と言う部分に
print " ";
print "$regdate</font>\n";
if ( $convert == 1 && @dicfile > 1 ) {
print "<font size=-1>";
print " \n";
print "($dicname[$conv])\n" if ( $conv ne 'no' );
print "(変換無し)\n" if ( $conv eq 'no' );
print "</font>\n";
}
と記述されていたので、それをコピペしてみたらエラーで表示されなくなってしまいました。
↓辞書変換機能の付いた掲示板ソース
http://nyanko.s6.xrea.com/x/hagure.txt
わかりにくい説明になってしまったかも知れませんが手助けして頂けないでしょうか?
0906905です
02/01/31 14:43ID:HFi6HUD6もし返事をして頂ける方がいらっしゃったら、帰宅してすぐに
見て返答させて頂きます(6:30は過ぎると思われます)
宜しくお願い致します
0907名無しさん@お腹いっぱい。
02/01/31 15:00ID:NGd+gL/Mでは早速。
気になるのは、コンバート開始のフラグが
$convert = 1;
になってるのに、そこのif文が
if ($comvert) {
になっていること。
これでは始まらないよな?if文の{ }が。
0908905です
02/01/31 18:57ID:jR/jMhMW早くに返答して頂けてたんですね、すいません。
if ($comvert) {
になっていては始まらない・・・
if ($comvert == 1) {
ですか・・・?(不安)
0909名無しさん@お腹いっぱい。
02/01/31 19:03ID:NGd+gL/Mいいえ。
スペルミスです。
レス数が900を超えています。1000を超えると表示できなくなるよ。