【スレッド】2ch型掲示板 その9【フロート型】
■ このスレッドは過去ログ倉庫に格納されています
初 て
め て
て み
駄 わ て
ス. か
レ る
か
圖 な
Λ_Λ
( ´∀`)
( )
過去ログ
1 http://pc.2ch.net/php/kako/988/988816430.html
2 http://pc.2ch.net/php/kako/998/998794497.html
3 http://pc.2ch.net/php/kako/1002/10027/1002782823.html
4 http://pc.2ch.net/php/kako/1010/10106/1010669197.html
5 http://pc.2ch.net/php/kako/1019/10194/1019414023.html
6 http://pc.2ch.net/php/kako/1028/10283/1028384308.html
7 http://pc2.2ch.net/test/read.cgi/php/1040777088/
8 http://pc2.2ch.net/test/read.cgi/php/1055984165/
本7 ◆uPD9aFm9hI、クレクレ厨、教えて君、DQNは書き込まないでください。
また、↑の書き込みを見つけた時すぐに「ウザい」とレスをつけてしまう
反射神経がとても優れている・他人を無視できない方もご遠慮願います。
もしどうしても無視できない時は、話題を変えてレスしましょう。
(例:「ところで、なんで空は青いの?」)
0116nobodyさん
03/06/28 04:10ID:???便乗質問スマソ。
携帯のアドレスは http://bbs/read.cgi/キー/i なんだが、
これを表示すると、1〜5件が表示されるのだが
/i と取得した場合だけ、1の記事&最新4件が表示できるように
したいんだが。これも現行のr.iに入ってる機能。
011731 ◆7vX67SbccE
03/06/28 04:11ID:???011931 ◆7vX67SbccE
03/06/28 04:36ID:???$message =~ s/(<a href="(?:\.\.|http\:\/\/www\.onpuch\.jp\/cgi-bin\/onpuch)\/test\/read\.cgi\?bbs=\w+&key=\d+(?:&st=\d+)*(?:&to=\d+)*(?:&nofirst=true)*)/$1&imode=true/g;
↑こういう部分があるのですが、&st(開始レス番),&to(終了レス番)が省略された場合には、
read.cgi?bbs=板&key=キー&st=最新-4&to=最新&nofirst=true&imode=true
にしる!
という意味でよろしいのでしょうか?
>>118
> あとr.iにあるのは(AA略)とか
AA略、、、(汗)
大昔の流出(ry にそんなところがあったような・・・
> 新スレ立てフォームが別画面にあるとか。
http://pc2.2ch.net/test/r.i/php/1056640175/w
今書いているこのスレだとこの通りなんですが、♪には、そんなもん無いですよね?(汗)
012031 ◆7vX67SbccE
03/06/28 04:49ID:???> ↑こういう部分があるのですが、&st(開始レス番),&to(終了レス番)が省略された場合には、
> read.cgi?bbs=板&key=キー&st=最新-4&to=最新&nofirst=true&imode=true
> にしる!
> という意味でよろしいのでしょうか?
よく眺めてみたら、デフォルトでは&nofirst=trueがありませんね。勘違いスマソ。
imode用の書き込み欄は、存在していないようでつね(´・ω・`)ショボーン
0121nobodyさん
03/06/28 04:56ID:???例えば、http://xxxx.xx.xx/bbs/i/ で携帯用の画面に入ったら
スレ一覧が出ますよね?それぞれのスレのリンクのURLは現在の♪は
http://xxxx.xx.xx/test/read.cgi/bbs/キー情報/i となっています。
read.cgi/bbs/キー情報/i と指定したときに表示されるのは
r.iのように、1の記事と、最新の書き込み4件というふうに、という意味です。
今の♪のスクリプトでは、read.cgi/bbs/キー情報/i を指定すると1〜5番目の書き込みが表示されます。
(つまりread.cgi/bbs/キー情報/1-5 となってるのと同じ)
あと♪にはr.iやwなんてないですね。read.cgi内で携帯用も賄ってるようです。
0122本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 05:07ID:???今日と明日休みだからonpuchスクリプト改造計画やろぜー
欲しい機能をみんなで分担して形にしていく。
r.iはもっと高速なスクリプトにして1から作る。
/i/index.htmlの時点でread.cgiとは別の携帯スクリプトにしよう。
end.cgiは削除じゃなくて機能を凍結させるようにする。
で、凍結に設定されたアカウントは別に用意したインデックスに順次入れていって
専用管理画面で削除を行うかどうか、一括削除かみたいにさせよう。
joyful.cgiの管理画面みたいな感じでいいだろう
0125本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 05:17ID:???PATHINFO使ったとして、
$pline = $ENV{'PATH_INFO'};
$pkey = split(/\//);
if($pkey[0] eq '') だったらレス番省略のフラグを立てる
$pflg = 0;
$pflgが 0 ならまず保持ログを読み込む、そして全レス数を$resnumに入れたと仮定します。
$start = $resnum - 3;
$fini = $resnum;
として
まず>>1を表示させる。次にforループに入って
for($i = $start;$i < $fini;$i++){
ここに表示コード
}
でいけるよ
0126本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 05:20ID:???$pkey = split(/\//,$pline);
0128本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 05:28ID:???かぐらい自分でできるだろ
0129nobodyさん
03/06/28 05:28ID:???何度繰り返しても懲りないんだな
作ってやると大見得切っておきながらできもしなかったやつの(ry
0130本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 05:31ID:???うpロダここ使ってくれていいよ
http://cgi.www5e.biglobe.ne.jp/~ae86gtv/imgboard.cgi
0131nobodyさん
03/06/28 05:33ID:???邪魔でしょうがねぇ
0133本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 05:54ID:???管理画面に必要な機能はそろってるのか。
表示部だけ何とかするか。
みなの環境ではPHP4は入ってない?
0135本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 05:57ID:???0136nobodyさん
03/06/28 06:02ID:???/admin/kanri.cgi にあるじゃん
キャップ発行、各レスとIP表示、そして個別削除、スレスト、スレ移転
足りないのは何?
PHPだと2chブラウザで正常に見れないのがある。
そしてphp版は鏡の国で開発してる。
0137本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 06:03ID:???あげるかどっちがいいだろう
0138本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 06:04ID:???俺の見れるよ。あと鏡とは発想も求めてる結果も違うよ。
焼き増しじゃない。刷新だ
0139本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 06:11ID:???014131 ◆7vX67SbccE
03/06/28 06:25ID:???# フラグ変数クレクレ(・∀・)。
my $short_flag = ($end - $start == 1) ? 1 : 0 ;
594行目に以下の行を挿入しる。
# 省略表示の時。
if (!$short_flag) { # レス表示が 1 つの時。
if ($message > 100) { # 100 文字以上のとき。
my $test_message = $message; # 仮に代入。
$test_message =~ s[(.){100}][$1]; # 試しにちょん斬ってみりる。
if (($message =~ s/<br>/<br>/i) < 1) { # 1 行以下の時。。。
my $check1 = '(?:^|[\0-\200\240-\337])(?:[\201-\237\340-\374]{2})*'; # 末尾に sjis の1バイト目があったら削る
my $check2 = '[\201-\237\340-\374]'; # (元からあったものを御拝借 m(_ _)m でも sub にしたいよね。)
$test_message =~ s/($check1)$check2$/$1/g;
$test_message =~ s[(<|</a|<b|<br)$][]; # タグの残骸は切り捨てる。
if ( ($test_message =~ s[<a][<a]ig ) > ($test_message =~ s[</a][</a]ig )) { # <a と </a の数を数えてみりる。
$test_message = substr($test_message,0,rindex($test_message,'<a',length($test_message))); } # 違ごたら、最終の <a 以後を削りる。
}
else { $test_message =~ s{(.+?)<br>}{$1}; } # 改行ごと斬る。
$message = $test_message .= qq{ <a href="$start">[省略]</a><br>}; # 終わり?
}
で、どうでしょうか?
(1レス目には無反応、文法チェック済み、動作確認未実施。眠たいので寝させて栗ぃ、、、)
0142nobodyさん
03/06/28 06:27ID:???014331 ◆7vX67SbccE
03/06/28 06:27ID:???では眠m(_ _)m
0144本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 06:28ID:???0147本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 07:28ID:???80%の満足度でヨシとして整備する際の立ち回りしやすさを考えて設計する
トヨタと思いついた順に機能を詰め込んでいく日産と。
0148nobodyさん
03/06/28 09:47ID:???0150nobodyさん
03/06/28 09:53ID:???トヨタのがいいんじゃんw
80%の満足度でヨシとして整備する際の立ち回りしやすさを考えて設計する
トヨタ → ほとんどの2chブラウザで読み込み可能
思いついた順に機能を詰め込んでいく日産 → 脳内ブラウザで閲覧可能
0151本7 ◆uPD9aFm9hI
03/06/28 09:59ID:???015231 ◆7vX67SbccE
03/06/28 10:02ID:???つーことで、付け刃的?に修正してみました。
自鯖にて設置後、動作確認済み。ただし UA 詐称(「DoComo/1.00」にて)しての確認のみ。スマソ m(_ _)m)
実施確認事項
・[省略]機能。
一部転けてるところがある(w
でも、100文字以内には切ってくれているようなので。m(_ _)m
ただし今のところ文字化けは未確認。
・/bbs/key/i の動作。
内部で 'bbs/key/l5i' に書き換えるという暴挙(w
そのお陰?で、1 と最新レス -5 から最新レスまでの 6 レス表示に。
( 5 スレ表示にするには根本的に変更要。)
・/bbs/key/1-2i での不具合。
上記 URI を指定すると、省略表示が出来なかったので。
以上。
なおread.cgiの修正個所には、
# 付け刃日(w 2003/06/28
のコメントを入れてあります(w
0153本7 ◆uPD9aFm9hI
03/06/28 10:10ID:???かどうかって言うのはCGIとかがどうこうじゃない。
まずドメイン直下にtestディレクトリと板ディレクトリがあるかどうかを判定してなければ
その下の階層を調べる。で、板ディレクトリを判定したらその次にその中にdatディレクトリ
があるかどうかを調べる。あればその中に該当するdatファイルがあるかどうかを調べる。
あったらdatファイル取得ををHTTPサーバに要求する。
その時にAccept-Encoding: gzipも要求。
次の閲覧時に更新する時は
Accept-Range: Byte=1567-
みたいに要求するからその差分取得にHTTPサーバが対応しているかどうかがポイントになる。
書きこみ時はtestディレクトリ内にbbs.cgiがあるかどうかを判定する。
bbs.cgiはPerlでもCでもPerlコンパイル済でもいい。PHPは恐らく Tartget="_blank"もしくはエラー
表示をするだろう。だからCGIと同じようにbbs.cgiを置くだけ。
問題はHTTPサーバの設定がどうかってことだな
0154本7 ◆uPD9aFm9hI
03/06/28 10:12ID:???もしよければonpuchiスクリプトをコンパイルしてexeファイルにするからそれで
運用テストしてもらいたいんですが
015831 ◆7vX67SbccE
03/06/28 10:43ID:???不具合がありましたら、リンク元で書き込みをm(_ _)m
それか自分でなんとかしる!(w
0159本7 ◆uPD9aFm9hI
03/06/28 10:54ID:???実行ファイルなんで他人のPC壊したら悪いからそこだけは確認するわ
ちょい待ち。
0160nobodyさん
03/06/28 11:05ID:???ウザイな〜
本7よ自作自演はやめろよ。ID出せ!フシアナしろ!
0167nobodyさん
03/06/28 11:23ID:???↓
本7 とかいうヴァカが相手にされなくなる
↓
本7 捨て台詞を吐いて去る
↓
スレが元の通りに
↓
(゚д゚)ウマー
0169nobodyさん
03/06/28 11:26ID:???そして誰かは闇へw
0170nobodyさん
03/06/28 11:27ID:???0171nobodyさん
03/06/28 11:27ID:???0173本7 ◆uPD9aFm9hI
03/06/28 11:30ID:???しかしファイルがデカイ。速度アップはさほど出来てないかも。
俺側の著作権は放棄、♪に帰す。利用は自己責任で。
http://hon7.hp.infoseek.co.jp/exe.zip
0174本7 ◆uPD9aFm9hI
03/06/28 11:35ID:???いまからレス番指定リンク貼って省略付ける。
後から誰でもいじれるように設計してるから初心者向きだが
0175本7 ◆uPD9aFm9hI
03/06/28 11:38ID:???0178本7 ◆uPD9aFm9hI
03/06/28 11:57ID:???Perlエディタ使うとこんなもんだが。read.cgiよりはるかに整ってるし必要最小限に
とどまってると思うが
0180本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 12:01ID:???普通だろ
ちなみにfisianaじゃなく山崎トラップだ
0181nobodyさん
03/06/28 12:17ID:???0183nobodyさん
03/06/28 12:28ID:???0184本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 12:32ID:???それもできないなら他人に甘えるな
0187本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 12:53ID:???0188nobodyさん
03/06/28 12:58ID:???0191本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 13:08ID:???かちゅ〜しゃ等の標準的ブラウザはbbs.cgiにPOSTしている。
POSTのデータ仕様で変わってくるし俺のはデータが異常ならはじく
0192本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 13:14ID:???単純にdat直読みしてる2chブラウザなら見れるかも。
ぞぬとかJANEはしらん
普通か?その選んだレスが単独表示されるのが普通だろう。
0194本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 13:43ID:???0196本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 13:50ID:???bbs..cgiとかremake.cgiが生成する
/<板ID>/i/index.html
のリンクをread.cgiからr_i.cgiに書き換える。
他のスクリプトも同じ要領で使える。
read.cgiの不要な部分は消してしまえるから若干処理も早くなる。
何より整備性が著しく向上するね。read.cgiも同じ手法で作れば軽くてじりや
すいスクリプトになる。単純に高効率と堅牢さが欲しいならC言語で書けって話
0197本7 219.117.222.18.user.rb.il24.net ◆uPD9aFm9hI
03/06/28 14:03ID:???0198nobodyさん
03/06/28 14:07ID:???0200小心者
03/06/28 15:17ID:BVCmjAPUuse vars qw($hyoujun);
use vars qw($ver);
use vars qw($gzip_path);
use vars qw($gzip_enable);
$hyoujun = $ENV{'SCRIPT_URI'};
$hyoujun =~ s/\/test\/.*/\/test\//g;
# このままの設定で動作しない場合は、↓の#を取って正確なベースURLを書く。例:http://pc.2ch.net/test/
$hyoujun = 'http://URL,html';
$ver="read.cgi ver4.20 onpuch original (2003/03/19)";
#$gzip_path = "/bin/gzip";
#$gzip_enable = 1;
質問
#$gzip_path = "/bin/gzip";#は取らないと有効になりませんか?
#$gzip_enable = 1;の1って何ですか?
0201小心者
03/06/28 15:27ID:8bN9qHBw0202本7 ◆uPD9aFm9hI
03/06/28 15:52ID:???もしや有名所の管理者さんですか?
0204本7 ◆uPD9aFm9hI
03/06/28 16:28ID:???020531 ◆7vX67SbccE
03/06/28 16:33ID:???さすがに一寝入りしたらば、ボロボロと穴だらけですね(つД`)
>>179
/bbs/key/レス番号ni
とするようにしてみましたが、レス番号に"i"がくっついたままになりました(つД`)
(修正中)
>>199
1の記事を省略するようにします。
(修正済)
>>201
もつかりー
0208nobodyさん
03/06/28 17:01ID:???0209本7 ◆uPD9aFm9hI
03/06/28 17:01ID:???ごちゃごちゃのソースじゃわけわからんやん?
ああいう書き方はCとかDelphiなら常識だと思うんだが
オブジェクト単位でアリゴリズムを分析できるように、といったら解るかな?
Perlエディタ(http://www.k-collect.net)ならさらにわかり易い。
ソースの改行数じたいでは吐かれるコードの大きさは変わらない。
なら見やすい方がいいやん?まして初心者なら分析、改造もしやすい。
俺も修正を加える時に一発でどこをさわれば要件を満たせるのかわりや
すいし。後々の事を考えてのやり方だよ?
好みがあるからまちまちだとは思うけど
0211本7 ◆uPD9aFm9hI
03/06/28 17:07ID:???なる事もあるらしいしね。RAD的なエディタが普及しているならおもいきった
クラス化構造も有効なんだけどね
021231 ◆7vX67SbccE
03/06/28 17:14ID:???・全角文字の真ん中で切った場合、希に文字化けしていた。
・"/bbs/key/i" で呼び出していた場合に、1の記事が出ないようにした。
・省略時のリンクを "/bbs/key/記事番号ni" とするようにした。
・"/bbs/key/記事番号ni" で表示した際に記事番号に "i" がくっついていた。
以上4点。
>>206
簡潔に(する|出来る)部分を具体的に列挙できる?(w @いぢめっこ
0214本7 ◆uPD9aFm9hI
03/06/28 17:19ID:???通常の表示パートと携帯用パートを別のスクリプトにする。
処理部と表示部は分ける(ドキュメント/ビュー)
複雑になりがちならなら表示部だけでも定義関数にして処理の流れを
見やすくする。
変数の相関性を同じようなパターンにする。(ローカルとグローバルを混在させない)
0215nobodyさん
03/06/28 17:21ID:???いやみ易くなんかない。
区切りいれたきゃ
#====================================#
とデモしたほうがいいと思う。激しくみずらい。
PerlEditor使ってたけど、関係あるか?
■ このスレッドは過去ログ倉庫に格納されています