X



せっかくだからPHPで掲示板作ってみませんか?
0001⊂(´ー`⊂⌒ヽつ
垢版 |
NGNG
Perl + CGI とか色々ありますけど、サーバ管理してるものとしては重いんですよ
結構回線食ってますんで、できれば軽い掲示板を使って欲しいです
0220名無しさん@お腹いっぱい。
垢版 |
01/09/28 21:01ID:yatlQWYk
あげ
0221名無しさん@お腹いっぱい。
垢版 |
01/09/30 06:52ID:Adl10q6o
PHPだと文法エラー等がある場合、エラーメッセージが出ると聞いたのだが、
そんなもんは出なくて、
白紙(IEでソース見るとレンタルサーバの広告のみ)しか出ない。
これはいったい何のエラーなんだか。
0223名無しさん@お腹いっぱい。
垢版 |
01/10/09 12:21ID:ATYJfjH.
PHPよく分からんage
0225名無しさん@お腹いっぱい。
垢版 |
01/11/07 01:45ID:FJMcKMjy
>>221
サーバによっちゃエラーメッセージでないよ。
0226名無しさん@お腹いっぱい。
垢版 |
01/11/07 01:56ID:jj1CZs+f
ファーストキスはエラー吐く。
しかし奴はECUで書かなないとあかんのでめんどいのー。

ところでレンタルスペースのミルトクラブはトップからphpなのはいいが、
エラーメッセージさらしっぱなしでひじょうにみっともないんだが…。
直す気ないのか?
0227名無しさん@お腹いっぱい。
垢版 |
01/11/07 02:14ID:FJMcKMjy
>>221
ちなみに何処のサーバ?
0229名無しさん@お腹いっぱい。
垢版 |
01/11/08 09:54ID:???
PHPの掲示板でお勧めのLOCKあります?

$fp = fopen ("$logfile","a");
flock($fp,2);
fputs($fp, $hoge);
flock($fp,3);
fclose($fp);
で効きますか?
配布などは考えてません。
0230名無しさん@お腹いっぱい。
垢版 |
01/11/08 12:53ID:A2A4Idoa
>>228
(・∀・)イイ!
0231名無しさん@お腹いっぱい。
垢版 |
01/11/09 16:15ID:t6/s73d3
>>229さんではありませんが、私も良いLOCK方法を知りたいっす。
Cのflockと同じものなのか、それともPHPらしくもちょっと実用的にっていうか
229さんが書いたコードでオッケーな感じになっているのか……。
PHPのflockの中身を知りたいです。
あ。ソースを見ればいいのか。逝ってきます……。
0232柚鈴車 ◆sMGFahw.
垢版 |
01/11/26 10:28ID:???
PHP初心者だけどPHPを学習しつつ
スレッドフロート式掲示板の開発を進めている。
学習しながらなんで非常に時間掛かってるけど。
只今の進行状況:3%ってとこか?
0233柚鈴車 ◆sMGFahw.
垢版 |
01/11/26 10:28ID:???
でもPerlの心得はあるからそれほど苦労はしてないけどね。
0234hogehoge
垢版 |
01/12/20 16:19ID:gQq9NcEn
PHP+RDBMSを使ったツリー型のBBSで、
ツリー表示をする際のアルゴリズムとデータベースの構成を説明して貰えませんかのう。
PHP-Nukeのソース読んだけど理解出来ない...(・ A ・)

・[ 1 ] 逝ってヨシ
 ・[ 2 ] あぼーん
   ・[ 4 ] あぼーん
 ・[ 3 ] ワショーイ

↑こういう表示がスマートにできるようなアルゴリズム.....。

レスのテーブルに子レスIDのデータを持たせようとすると、
複数のレスがついた場合を考えて配列にしなきゃいけない。

レスのテーブルに親レスIDのデータを持たせると、
こんどは描画の際に面倒。

あとはレスに階層の深さテーブルを持たせるとか、
子レスの「数」を親レスに持たせるとか...。 ああ面倒。

php-nukeはいったいどうやって。
ttp://phorum.org/support/list.php?f=1&collapse=0
0235名無しさん@お腹いっぱい。
垢版 |
01/12/21 02:58ID:???
>>234
データベースは知らんが

W1・新規スレッドの>>1とそれに対するレスを区別しないで時間順にテーブルにぶち込む。
その際、ユニークなメッセージIDを振る。

W2・レスはその返信先のIDをリファレンスとして保持、>>1は空欄のまま。

R1・書き出し時にリファレンスの項目を参照して1を取り出す。(時間順に並んでいれば普通は最初だが)

R2・1のメッセージIDでリファレンスを検索。一致するものを配列として取り出す。見つからなければreturn。

R3・とりだした配列の要素へR2の手順を実行。

な感じじゃないか?
要はただの再帰呼び出しだが。
0237名無しさん@お腹いっぱい。
垢版 |
02/01/19 13:40ID:???
ウチは、IDとか親記事のIDと階層の数字(*)を持たせて
再帰呼び出ししてます。

・[ 1 ] 逝ってヨシ *0
 ・[ 2 ] あぼーん *1
   ・[ 4 ] あぼーん*2
 ・[ 3 ] ワショーイ *1
0238nobodyさん
垢版 |
02/03/29 09:41ID:???
PHPでアプロダのソース教えれ
0241nobodyさん
垢版 |
02/08/09 14:18ID:???
作るのと関係無いんだけど、
http://bbs.rakusagashi.com/free/sample/bbs.php?db=sample
↑の掲示板、メールアドレス入力するところに
'>'>'>">">'>">'><IMG src='mailto:unko.ne.jp'><xmp>
って入力して投稿するとローカルでのみ、凄い事になるんだけど・・・。

他にもこの掲示板にセキュリティホールありますか?


教えて君でスマソ。
0242nobodyさん
垢版 |
02/08/19 10:07ID:???
だれかシンプルでスマートな掲示板作ってよ
0244nobodyさん
垢版 |
02/10/27 04:08ID:ZBwddCFf
(´-`).。oO(>>163はどこに逝ってしまったんだろう…?)
0246nobodyさん
垢版 |
02/11/09 17:59ID:FW57v7fV
>>245
ごめんなすわぁい
0249nobodyさん
垢版 |
02/11/10 03:38ID:CKDMXs5s
>>248
厨でもCGIが使えるよ
これ使えばね
0250nobodyさん
垢版 |
02/11/11 20:27ID:???
bbsxml.php$B$H$+$G7G<(HD$,(BXML$B=PNO$5$l$k$H$J$*M3(B
0251nobodyさん
垢版 |
02/11/12 17:44ID:84Orx8vW
??247
0252nobodyさん
垢版 |
02/11/17 00:06ID:rKD6R3WV
2ちゃんねる風の掲示板はどの様に作ればいいのですか?
教えて下さい。あと、素材があったら貼っといて下さい。
0254nobodyさん
垢版 |
02/11/17 23:26ID:qfDL9fIH
つーか瓦番でいいだろ
0255nobodyさん
垢版 |
02/11/18 02:14ID:???
>>253
>PHPで掲示板なら昔作ったけど。ソースいる?
俺も作った。好感しようか(w
0258でもさぁ
垢版 |
02/12/06 15:56ID:???
簡単な掲示板ならperlでかくより、PHPのほが楽じゃないすか?
便利そうな関数がごまんとあるし(perlでも多いと思ったのに・・)
データベースをそこそこさわり始めるとある程度の事までは
わかるんだけど、バキュームとかバックアップやらの事が出てきはじめると
ワケワカメになる。
掲示板とかでDB使うとそうとうグシャグシャな状態になりそうな気が
するんだが、大丈夫なもんなのか?
容量の問題もあるし・・・
0259でもさぁ
垢版 |
02/12/06 16:01ID:e3P89aGI
もし、2ch型の掲示板をPHP+RDBMで作る場合、
テーブルの構造はどんな感じになるんだろうか?
PHPの側からテーブル作ったりできんのか?
なんかイメージするにスレッド毎にテーブルがあった方が
スッキリ管理しやすいようにおもうんだが、、、、、
でも、それじゃぁDB使う意味ないのか?
まぁ、厨房の独り言でし。
0260nobodyさん
垢版 |
02/12/06 16:19ID:???
>便利そうな関数がごまんとあるし

PHPに5万も標準の関数はありませんとか言ってみるテスト

>もし、2ch型の掲示板をPHP+RDBMで作る場合、
>テーブルの構造はどんな感じになるんだろうか?

1つの板につきスレッドテーブルと記事テーブルを各1個
0261でもさぁ
垢版 |
02/12/06 19:13ID:e3P89aGI
>1つの板につきスレッドテーブルと記事テーブルを各1個
そんだけでいいんだ。そうだよなぁDBでしかもリレーショナルだもんね(ワ。
漏れがPerlで作ったBBSはしこたまファイルが出来るから
dataやらのディレクトリをのぞく度に鬱になる。
0262nobodyさん
垢版 |
02/12/06 19:15ID:???
つーか


     Perl + CGI


って何?
0263nobodyさん
垢版 |
02/12/06 19:25ID:e3P89aGI
>>262
それは、もしかしてPerl + CGIの事ですか?
0265nobodyさん
垢版 |
02/12/06 22:09ID:???
php+MySQLで掲示板作っているけど、スレッドテーブルなんか使わないなぁ。
親スレで検索すればいいだけじゃん。テーブルを分ける必要は無いと思うのだが。。
0266でもさぁ
垢版 |
02/12/06 23:13ID:e3P89aGI
でも、想像してみるに、記事用のテーブルはいろんな
スレッドのデータがグチャグチャに入ってて、そのグチャグチャを
DBは一生懸命検索しなきゃいけないわけでしょ。
もし、1スレッドに1テーブルだと検索する手間が省けてかなり
早くなりそうな気がするんだが・・・・。
メンテ的にも1掲示板で持てるスレッド数が決まっている場合、
さくっとテーブルの削除ができる。
ところでスレッドの順位のテーブルも必要なんじゃないか?
0267265
垢版 |
02/12/06 23:20ID:???
親スレを示すフィールドと、スレッドの順番を示すフィールドがあれば、ソート出来るじゃん。
検索し、並び替えるのが得意なDBにとって、順番やスレッドがぐちゃぐちゃなんてたいした手間じゃないと思うけどな。
0268nobodyさん
垢版 |
02/12/07 06:29ID:???
>262
まさか、perl == CGI とか思ってやしないよな。
と煽り返してみる。
0269workaholic
垢版 |
02/12/07 09:59ID:???
必要以上にテーブル分けして、外部ジョイーンとか連発しなければ遅くはならないとYO。
あと、like で or な検索連発してみたり(しないか)。

つーか、BBS程度のシステムなのに、絶賛稼動中なロジックの中で create table するのって、
ちょっと正気の沙汰とは思えない、とか。
1スレ=1テーブルって、どういう設計よ。
0270nobodyさん
垢版 |
02/12/07 10:08ID:???
>つーか、BBS程度のシステムなのに、絶賛稼動中なロジックの中で create table するのって、
>ちょっと正気の沙汰とは思えない

禿同
0271workaholic
垢版 |
02/12/07 10:51ID:???
ありがちな例:
"板コード"をpKeyにして、"スレコード"で別テーブルぶらさげて、
他になんか文言とか付随データをVARCHARでいくつか付けておいて、
その後その別テーブル上に「書き込みindex」をキー、スレコードはfKeyで、
カキコの中身はVARCHAR(256)位でまとめればいいんじゃないのかな。
0272nobodyさん
垢版 |
02/12/07 16:40ID:???
DBだと記事の削除とか楽だからいいよね。
テキストファイルだと削除が大変。

漏れは
1) 該当スレのログファイルをオープン
2) ファイル全体を配列に読み込む
3) 該当行を配列から削除
4) 元ファイルに書き込む
5) スレッドインデックスファイルの「レス数」を変更
という風にやっています。
なんかいい方法ありませんかね。
0273workaholic
垢版 |
02/12/07 17:43ID:???
>>272 さん。
その処理って、ナニでやってるの?Perl?
オレは基本的にJava野郎で、Perlはすでにウロ覚え状態です。
前にServlet(&JSP)で、個人的にソレっぽいもの作った時は、

TextFileとして記録されるLogのフォーマットを、HTTPのPOST内容っぽい
(つまりバウンダリ文字列で区分する)形で記録するようにしました。
それ専用の汎用ParserClassを作って、Servletで使用って感じで。

でも、結局TextFileに記録って時点で、あまり凝った事はやりづらいです
よね。
Stringの塊を整形して、取り出す時は部分取得して...。

それでもPerlの場合正規表現は最初からあったけど、JavaにRegExpが標準パッケージ
として含まれたのって最近だし...。

やっぱDBがイイすね。楽。
0274nobodyさん
垢版 |
02/12/08 18:03ID:???
>>272
1) 該当スレのログファイルをオープン
2) 新しいファイルを作る
ループ{
  1) ログファイルから次の「1行ダケ」読み込む
  2) 該当行じゃなければ、新しいファイルに行を書込む
}
3) 元ファイルを削除
4) 新しいファイルを元ファイル名に変更
5) 「レス数」とやらを変更

とやるのが一般的だよっと。
世間の参考書は全行読むのが多いよなあ。
出版社にはこの辺チト配慮してほすぃ。
0275272
垢版 |
02/12/08 19:00ID:???
>>274
どもです。
確かにメモリ食いまくりですね。
私も最初は、
1) インデックスファイルなど小さいモノはそのまま読み込む
2) 大きいモノは1行づつ読み込む
としていましたが、
掲示板の内容をhtmlに書き出すときに、
<html>から</html>まで全部変数に入れて、
一気に書き出す。
という方法をとってからは、ファイル全部読み込むことにしました。
まあ、ログサイズは大きくならないようにしてますけど。

0276272
垢版 |
02/12/08 19:06ID:???
続き

たとえば「最新10レスを表示」する場合、
最初の設計時には

1) 最新10レスが何番目のレス(start)から何番目のレス(end)なのかを計算
2) ログファイルをオープン
3) 1行づつ読んで、(1)のstartにきたら内容を配列に読み込む
endにきたらファイルを閉じる

という風に考えていたのですが、
よく考えてみれば、(1)を計算するにはファイルをあけて何行あるかを
feof まで1行づつ読み込むループをして調べなくてはならないですね。

それなら最初から全部読み込んでしまえ。となったわけです。
それからstart、endを計算して、いらない部分を配列から消すと。
0277nobodyさん
垢版 |
02/12/08 19:54ID:???
272は始めから改善する気がなさそうな気もするけど、一応レスってみる事に。
例えば、PHPで初めの10行をとばすなら、
$begin = 10;
while($rec = fgets($FP,'12345') and $begin) {$begin--;}
while($rec = fgets($FP,'12345')) {読み込みたい件数だけ配列に入れてループ抜ける}
Perlかもしれないから一応補足。
while($rec = <FH>) {$begin--; last if(!$begin);}
while($rec = <FH>){読み込みたい件数だけ読み込む}
てな感じでやりなって。
HDへのアクセス時間短縮&メモリ空間になるでしょ。
0278nobodyさん
垢版 |
02/12/08 22:51ID:fkqPp+lS
うちで作ったスレ式掲示板はこんなかんじ。
板毎にファイルを2つ作りそれぞれ
A:書き込みに番号を付け1行にまとめて追記
B:スレッドの構造を1スレ1行に書き込み番号を連ねて収納
スレッドを表示する時はB内の所望の行を読み、それに基づきA内の行を吐く。
age処理はBの行の順番を入れ替える。レス削除はBの該当番号を消し、
スレッド削除はBの1行を消す。Aは出来るだけいじらない。
lockの手順とかしっかりしないと嵌る。
SQLはいじった事ないけどねヽ( ´ー`)ノ
0279nobodyさん
垢版 |
02/12/08 23:02ID:???
漏れの作った2ch型はレス毎の位置を記録したのを別に持っていて、
read.cgiではseekするようにしてる。
0280nobodyさん
垢版 |
02/12/08 23:11ID:???
あの、Java野郎なんですけど、
2chの発言内容って、htmlタグを全て排除してるじゃないですか。
でも、http://www.yahoo.co.jp
は、別画面が出てくるように、http://***.2ch.net/"""
はスレッドを表示する…
それと、>>n はスレ内のレスを直接表示…と、
よく出来ていると思うのですが、これに近い処理をするPHPやPerlの
ソースはありませんか。Javaで書いてみたいのですが…もしくは、
同じ処理をするJavaソースがあれば教えて下さい。。。
PHPとPerlはうろおぼえでGoogle探しても色々あって、どれがいいのか、はて、、です。
0281nobodyさん
垢版 |
02/12/08 23:19ID:???
read.cgi(pl)とread.phpは17氏のスクリプトについてたが。
0282nobodyさん
垢版 |
02/12/09 12:49ID:???
>>281
17にアクセスしても404なんですが、、、どこかに転がっていませんか。
googleでさがしたんですが、ウトゥ-
0283272
垢版 |
02/12/09 16:55ID:???
>>277
レスありがとうございます。
while($rec = fgets($FP,'12345') and $begin) で and $begin という使い方は知りませんでした。
これは便利ですね。早速使ってみます。

さて、上述の、「ファイルを舐めないと総レス数がわからないので、たとえば「最近10レス」が
どのレスからどのレスまでを計算するには、ファイルを舐めないといけない」を
上手く解決する方法はありますか? この問題さえ解決できれば、必要な行だけを配列に
読み込む方式に移行できます。

よろしくお願いします。
0284nobodyさん
垢版 |
02/12/09 18:37ID:???
Perl + CGIって何だよ(藁

じゃあ Shift_JIS + html もいいのかw
誰も変だと思わないのか?
0285nobodyさん
垢版 |
02/12/09 19:07ID:???
>>283
何故最新10レスを計算する必要があるのかナスカの地上絵よりも謎だが、
ツリー形式掲示板なら、記事追加時に記事の情報を別に記録しておくとか
最新記事がファイルの先頭に記録するタイプなら、最初の10件だけ読み込む
2ch式掲示板なら、書込み時にftellして、読み込み時にfseekする
固定長ファーマットにしてランダムアクセスする手もある
そもそも277と279が答え出してるだろ
0286nobodyさん
垢版 |
02/12/09 19:07ID:???
Perl + CGIって何処にあるって探したら >>1かよ。
0287nobodyさん
垢版 |
02/12/09 22:54ID:???
>282
別スレでも話題になってるが♪のならこのへん。perlだけね。
ttp://www.onpuch.jp/files/onpuch.zip
0288nobodyさん
垢版 |
02/12/10 01:21ID:???
ログをテキストでやるのって難しそうですよね。
いっぱいファイル開いたり閉じたり面倒で気が遠くなりそうだったんで
DBにしました。DBでも面倒なので放置気味ですが。
2ch型作っても、書き込み少なくてスカスカで見苦しいサイトがほとんどだし
もっと一般人向けの良いアイディアの掲示板ってないですかね。
0289nobodyさん
垢版 |
02/12/12 11:12ID:???
>>92-101
あたりの話をもっと聞きたいんだけど…
でも自分から話をふるほど知識がないのでsage
0290nobodyさん
垢版 |
02/12/12 16:16ID:vEZAWx5M
電動ナナシ氏も初期不良氏も見かけなくなっちゃったからねぇ…。

まだ居るのか期待してageっ!
0291289
垢版 |
02/12/12 23:48ID:???
おお、自分以外にも期待している人が!
というわけで、ついでに1年以上前のことですが質問させてください。

>>95
>BbsThread は自分のスレッドの全メッセージにアクセスでき、
てことは、BbsThreadは自分のスレッドの全メッセージを配列で持っているの?
それともメッセージ取得メソッドが呼ばれるたびにファイルを開いて読み込むのかな?
でもそうだとDBを使うかファイルを使うかで変わってくるからMesseageStoreのように
MessageReaderを複数種類用意するってこと??
0292nobodyさん
垢版 |
02/12/13 06:08ID:???
>>291
後者じゃないのかな?
>MessageReaderを複数種類用意するってこと??
うん。多分。
0294289
垢版 |
02/12/13 20:00ID:???
>>292
レスありがとうございます。やはり後者でしたか。
ということはThreadStoreやThreadReaderも複数用意するってことかな。

ああ、電動ナナシ氏作成の掲示板見てみたいなぁ。
0295あし
垢版 |
02/12/20 12:19ID:7MV1a4/S
てすてす
0296nobodyさん
垢版 |
03/01/09 16:27ID:???
電動さん降臨キボンヌ

前に掲示板のクラス設計途中までやったよね
0302山崎渉
垢版 |
03/04/20 06:09ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0303山崎渉
垢版 |
03/05/22 02:11ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
0304山崎渉
垢版 |
03/05/28 17:15ID:???
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0305ぴえ〜る ◆zowdz.TJ/Q
垢版 |
03/06/06 09:07ID:cm0eL4ze
他のスレでも書いたけど、掲示板っつかphpbbとかvBulletin目指して作ってる。
完成したけど、まだまだ付けたい機能あるし、バグチェック不十分だからソース公開してない。

http://earth.s13.xrea.com:8080/obb/index.php

ほいな
0308ぴえ〜る ◆zowdz.TJ/Q
垢版 |
03/06/07 04:28ID:???
>>307
フリーで配布するから、もし見たいなら待ってください。
まだ付けたい機能あるし、バグのチェックが不十分。量も多いし…(汗。
遅くなっても6月中には公開します。
0309ぴえ〜る ◆zowdz.TJ/Q
垢版 |
03/06/07 04:29ID:???
あ、でもソース公開したところで私の「オナニー作品」なのに変わりないよ(笑)
0310山崎 渉
垢版 |
03/07/15 11:13ID:???

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0311nobodyさん
垢版 |
03/07/17 08:37ID:???
          ∧_∧                
         .(・∀・ )
         と    )
  ガッ        Y /ノ  
      人     / )
 __∧_..<  >   _/し'_
 |(.. `Д´ V (_フ彡 
 |\⌒⌒⌒\←>>310
 \ |⌒⌒⌒~|  
0312山崎 渉
垢版 |
03/08/02 02:38ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0313ぼるじょあ ◆ySd1dMH5Gk
垢版 |
03/08/02 05:22ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
0314山崎 渉
垢版 |
03/08/15 22:56ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0315nobodyさん
垢版 |
04/01/12 23:10ID:???
   ∧_∧
  (。・ヮ・);
   ゚し-J゚
0316nobodyさん
垢版 |
04/01/18 11:29ID:U9Y4F/+3
現在PHPで掲示板を作成してるんですが
サーバーによっては、書き込みデータに
"(半角ダブルクォーテーション)と'(半角シングルクォーテーション)と\(円マーク、バックスラッシュ)
の文字があると、これらの文字の前に勝手に\マークを挿入して記録してしまうんです。
" → \"  ' →\'  \→\\
こんな感じに。何が原因なんでしょうか?
0317316
垢版 |
04/01/18 12:00ID:U9Y4F/+3
いま、試してみたらほとんどのサーバーで勝手に挿入されてました。
xrea.comサーバーだけは挿入されませんでした。
もちろん、挿入するような処理はスクリプト側では一切やってません。
0318316
垢版 |
04/01/18 12:29ID:U9Y4F/+3
原因わかりました。どうやら
ttp://search.net-newbie.com/php/faq.using.html#faq.using.stripslashes
これが原因のようですね。
しかしfwrite関数で書き込みデータをファイルに書き出す直前に
$message = stripslashes($message);を入れてみましたがそれでも\が除去されません。
どうしてでしょうかね?
レスを投稿する


ニューススポーツなんでも実況