【 スクリプト改造工房 PART 5 】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
02/08/01 18:19ID:???#================================
# スレッドの説明
#================================
「スクリプトを改造したいけどやりかたわかんないよー」という人がいましたら
ここで聞いてください。ひょっとしたらアドバイス出来るかもしれません。
質問するときは以下の点に注意して書いて下さい
(1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い)
(2) どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
(3) 出来るだけ詳しく書くこと。少しは自分で考えること。できれば御礼も言ったほうが良い
※答えてくれないからといって逆ギレする厨はお断り
#================================
# 過去のスレッド
#================================
【PART1】行方不明
【PART2】http://pc.2ch.net/test/read.cgi/perl/986986227/
【PART3】http://pc.2ch.net/php/kako/988/988808396.html (HTML化済み)
0937934
03/03/09 13:27ID:hIa+sLU+早速のレス、ありがとうございます。^^
20人位で使おうと思っていて、できれば、
日記が個人別に分かれて欲しいと思っているからです。
個別に分かれていてレスがつけらて、各人の最終更新時間が一覧でわかれば
最高なんです♪
だから、934で書いたタイプにレスをつけられたらいいなぁ〜って思っています♪
こういうタイプは見た事がないので、きっと無理なプログラムばんでしょうか…(T^T)
0938934
03/03/09 13:29ID:hIa+sLU+× プログラムばんでしょうか…
〇 プログラムなんでしょうか…
m(__)m
0939nobodyさん
03/03/09 13:40ID:???0940nobodyさん
03/03/09 13:45ID:57f77bEe0941nobodyさん
03/03/09 15:59ID:???0942934
03/03/09 18:22ID:pZsxM+bPレスありがとうございます。
スレッド掲示板ですか…。
それだと、あまり日記っぽくなくなってしまう気がするので…^^;
(わがままいってすいません)
色々機能を満たすのを探すのは、やっぱり難しいですよね… (T^T)
0943940
03/03/09 18:29ID:KwWbXhd40944場違いでごめんね。よかったら教えってね。
03/03/09 23:44ID:2uGjMOlZ☆送信ボタンがあるページ →場所:C:\HOMEPAGE\template\hyouzyun\h_1
☆開きたいページ(tizu) →場所:C:\HOMEPAGE\template\hyouzyun\h_1
二つのページは同じフォルダに保存してあります。
送信ボタンは挿入→入力部品の送信ボタンを選択して作りました。
それからが問題なのですが、
その作成した送信ボタンを右クリック→イベントの設定をし、
★イベント = ON CLICK
★スクリプト =var winwindow.open("tizu.html","tizu","width=100,height=50")
と、入力し、OKを押して、送信ボタンに上のスクリプトを割り当てたのですが
"tizu"のウインドウが開きません・・。やり方がまちがってるでしょうか?
宜しくご指導ください!お願いいたします。
0946nobodyさん
03/03/10 14:41ID:ZSUpGpYi↓このスクリプトだと
http://www.geocities.co.jp/Bookend-Ohgai/4692/tboard007.txt
↓このような表示になります
http://www.geocities.co.jp/Bookend-Ohgai/4692/moto.html
これを↓のような表示にするにはどうすればよいですか?
http://www.geocities.co.jp/Bookend-Ohgai/4692/kaihen.html
簡単に説明すると、現在 左=画像 右=本文 となってるレイアウトを
上=画像 下=本分 にしたいわけです。
よろしくご指導ください
0948nobodyさん
03/03/10 16:53ID:+NULa64Yテーブルで画像と本文分かれてるからそれだと無理じゃない?
それ以上のことは俺にはわかんないけど
0949nobodyさん
03/03/10 16:53ID:???sub lock {
local($retry,$mtime);
# 1分以上古いロックは削除する
if (-e $lockfile) {
($mtime) = (stat($lockfile))[9];
if ($mtime < time - 60) { &unlock; }
}
# symlink関数式ロック
if ($lockkey == 1) {
$retry = 5;
while (!symlink(".", $lockfile)) {
if (--$retry <= 0) { &error('LOCK is BUSY'); }
sleep(1);
}
# mkdir関数式ロック
} elsif ($lockkey == 2) {
$retry = 5;
while (!mkdir($lockfile, 0755)) {
if (--$retry <= 0) { &error('LOCK is BUSY'); }
sleep(1);
}
}
$lockflag=1;
}
# ロック解除 #
sub unlock {
if ($lockkey == 1) { unlink($lockfile); }
elsif ($lockkey == 2) { rmdir($lockfile); }
$lockflag=0;
}
KENTさんのファイルロックのルーチンなのですが、これにflock関数のファイルロックをつけるにはどうすればいいのですか?
0951931
03/03/10 20:32ID:wfQN1r0d0952nobodyさん
03/03/10 20:49ID:???/ .:::| / ::|
| ...:::|_ / :::|
i  ̄ ̄⌒゙゙^――/ ::::::|
/ :::::::::\
/|・\ ./・> :::::::::\
/ミ\ \ / /彡 i し./:::::::\
/ ミ\.\ヽ|||liiiii||/ /./彡 ノ (::::::::::::::::::\
/ ミ\\|||iii||l//彡 '~ヽ :::::::::::::::\
/  ̄  ̄,,、 /:::::::::::::::::.\
ファビョ━━━━━/ \ / ,,____ _,/ ̄ \ \ /::::::::::::::::::::::::::::\━━━━━ソ!!!!!
\ |.. | /└└└└\../\ /:::::::::::::::::::::::::::::::::/
\ ∨.|lllllllllllllllllllllllllllllllllllllllll| /::::::::::::::::::::::::::::::::::/
\ |.|llllllllllllllll;/⌒/⌒ | ::::::::::::::::::::::::/
\ |.|llllllllll; ./ . . | :::::::::::::::::::/
/ |.|llllll|′ / . | | ::::::::/|
/ |.|llll| | .∧〔 / ::::::::::::::::\
/ }.∧lll | ../ / / :::::::::::::::::\
/ /| \┌┌┌┌┌/./ /::: :::::::::::::::::\
/ ( ゙゙^^¨^¨゙゙¨  ̄ ̄ ̄ /::::::::::: ::::::::::\
/ ヽー─¬ー〜ー――― :::::::::::::
0953931
03/03/11 17:24ID:faQewhAOcomchatのソース⇒http://csx.jp/~lgyec/ichat.data
0955nobodyさん
03/03/11 18:32ID:???既に解決しているだろうと思うけれど、念のためにカキコすると
flock関数はopen関数で指定されたファイルハンドルで使用するため
指定のルーチンをそのまま置き換えるには無理があるYO
実際はもっと簡単にできる
flock関数を使用している他のソースを調べましょう
0956872
03/03/11 18:47ID:k4GIfrjV$lockkey = '3';
#&lock内に追加
if ($lockkey == 3) {
for ($i; $i<=5; $i++) {
if (flock (FH, 2)) {
last;
} elsif ($i == 5){ &error('LOCK is BUSY'); }
sleep(1);
}
}
#同じく
sub unlock {
if ($lockkey == 1) { unlink($lockfile); }
elsif ($lockkey == 2) { rmdir($lockfile); }
elsif ($lockkey == 3) { flock(FH, 8);}
$lockflag=0;
}
0957872
03/03/11 19:18ID:k4GIfrjVすいませんでした。。
0958nobodyさん
03/03/11 20:23ID:???ん? なんで謝るのYO
ファイルハンドルとサブルーチンを呼び出す位置を間違っていなければ
sleepする必要はない気がするけれど・・・構わないんじゃないの
0959949
03/03/11 20:41ID:???>>956さん
試してみたんですが、LOCK is BUSYばかり出て書き込めませんでした。
>>955さん
とりあえず以下のように記述してみました。
open(IN,"$logfile") || &error("ログファイルが開けません");
flock( IN, 1 ); #ファイルを読み出しロック
@lines = <IN>;
flock( IN, 8 ); #ロック解除
close(IN);
open(OUT,">$logfile") || &error("ログファイルに書きこめません");
flock( OUT, 2 ); #ファイルを書き込みロック
print OUT @lines;
flock( OUT, 8 ); #ロック解除
close(OUT);
これで書き込めたんですが、あっているでしょうか? ファイルロックができているかチェックする方法とかありませんか?
0960nobodyさん
03/03/11 20:54ID:???flock( OUT, 8 ); #ロック解除
はいらない
0961nobodyさん
03/03/11 21:06ID:?????
0962nobodyさん
03/03/11 21:57ID:???あってるYO
ファイルロックのテストは、適当にfork関数で多数の子プロセス上で排他処理させるか
指定時刻にファイルの読み書きのループを一斉に開始するスクリプトなどで
気の済むまでやるしか無いでしょう
もちろん、後からでも正常に処理できたかは分るように、読み書きする内容はキチンとプログラムしましょう
0963nobodyさん
03/03/11 21:58ID:???0968nobodyさん
03/03/13 01:28ID:???$logfileが重要かどうかではなくて、その内容によるYO
>>966
ファイルロックトも兼ねてテストすれば、問題点はすぐに気が付くハズ・・・
0970nobodyさん
03/03/13 01:54ID:???←ここで別プロセスがファイルを操作する危険も
flock( OUT, 2 );
print OUT @lines; ←この前までにプロセスが死んだらファイルは破損
flock( OUT, 8 );
←ここで別プロセスがファイルを操作する危険も
close(IN); ←実際の書き込みが行われるのはここ(オートフラッシュなしの場合)
0971nobodyさん
03/03/13 10:07ID:???なるほど、open(FH, ">filename") でファイルを開いただけでは
ファイルは変更されていない状態だと思っていましたが・・・確かに危険ですね
">>filename"などでオープンして、turncateで0指定する方法をとるべきか・・・
良い事を教えてもらいました。ありがとうございます
失礼しました
0972山崎渉
03/03/13 17:00ID:???0973931
03/03/15 11:29ID:???改造した部分だけのソース⇒http://csx.jp/~lgyec/ichats.data
ichatのソース⇒http://csx.jp/~lgyec/ichat.data
こういう風にやっても、自分の発言を削除をクリックしても”クリアメッセージ”と自動的に発動しません。
援助お願い致します。
0974ひよこ名無しさん
03/03/15 12:43ID:???(,,゚Д゚)http://www.geocities.co.jp/HeartLand-Yurinoki/3749/dustbox.html
0975名無し
03/03/15 16:35ID:55qzOCkchttp://www.kent-web.com/bbs/fantasy.html?
に、”タイトル”を入力する項目を追加したいのですが
いざやってみたら、上手くいきませんでした。
この場合、どこをどういじればいいのでしょうか?
0976ウマー(゚Д゚)@Apw5yill☆2ch
03/03/15 16:39ID:abzlUrYYみたいな、?1111を付け加えて表示させる物があります。そこで、
URL転送を使って、***.com/1111を入力すると、****.cgi?1111が表示
されるように、転送先を****.cgi?にしましたが無理でした。
なにかいい方法はありませんか?
0977007
03/03/15 16:48ID:???# タイトル名
$title = "Fantasy Board";
ってやつが
0978nobodyさん
03/03/15 16:53ID:???while (<IO>){
if ($_ =~ /<>$ip/){
@y2=split(/<>/,$_);
if ($y2[6] ne $ip){
push(@log,$_);
}else{
push(@log,'All Clear (^-^)v');
}
}else{
push(@log,$_);
}
}
0980ウマー(゚Д゚)@Apw5yill☆2ch
03/03/15 16:58ID:abzlUrYY0982nobodyさん
03/03/15 18:20ID:???sub deleteme{
#自分の発言消去
open (IO,"+<$logfile");
eval{flock(IO,2)};
while (<IO>){
if ($_ =~ /<>$ip/){
@y2=split(/<>/,$_);
if ($y2[6] ne $ip){
push(@log,$_);
}else{
push(@log,'All Clear (^-^)v');
}
}else{
push(@log,$_);
}
}
truncate(IO,0);
seek(IO,0,0);
print IO @log;
close (IO);
&reload2;
}
でいいですよね?そうしたらScript Errorがでました。
援助お願いします。
0984nobodyさん
03/03/15 21:59ID:6KH7Xn0j>URL転送を使って
多分/以降のデータは中継されないから無理
0985nobodyさん
03/03/15 22:06ID:???! i iノノリ)) 〉
i l l.´ヮ`ノリ <先生!こんなのがありました!
l く/_只ヽ
| ̄ ̄ ̄ ̄ ̄|
http://saitama.gasuki.com/aomori/
0986975
03/03/15 23:45ID:MaN1zNKvいや、掲示板のタイトルじゃなくて
ここのスレッドにタイトルをつけたいのです。
0987nobodyさん
03/03/16 13:58ID:???0988nobodyさん
03/03/16 13:59ID:t8L+n8I+0990nobodyさん
03/03/16 15:29ID:vOOsWTxU0992nobodyさん
03/03/16 17:44ID:KSrtergb0993nobodyさん
03/03/16 17:47ID:WBb98oow★その目で確認すべし!!★超おすすめ★
0995nobodyさん
03/03/16 18:08ID:vOOsWTxUAll Clear (^-^)v > () と名前のところにそのALL Clearとでて文字のところに()とでます。
援助お願いします。
0996nobodyさん
03/03/16 18:15ID:vOOsWTxUその自分の発言を削除を押した後発言をするとAll Clear (^-^)v > () が消えてしまいます。
0997nobodyさん
03/03/16 18:16ID:x5aWnNPV0998nobodyさん
03/03/16 18:24ID:MtdvS7v90999nobodyさん
03/03/16 18:24ID:MtdvS7v91000nobodyさん
03/03/16 18:24ID:MtdvS7v910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。