1read 100read
2012年6月WebProg285: せっかくだからPHPで掲示板作ってみませんか? (344) TOP カテ一覧 スレ一覧 2ch元 削除依頼
FreeStyleWikiスレ (273)
Apache〜嗜みとして〜 Part3 (969)
Zopeってどうよ インスタンス4つめ (382)
Perl VS PHP (542)
Eclipse質問スレ (266)
掲示板作って欲しいんですが・・・ (233)

せっかくだからPHPで掲示板作ってみませんか?


1 : 2001/02/22(木) 〜 最終レス :11/11/19
Perl + CGI とか色々ありますけど、サーバ管理してるものとしては重いんですよ
結構回線食ってますんで、できれば軽い掲示板を使って欲しいです

2 :
>>1
ほいな。
http://kaeramel.umio.net/bbs/1.html

3 :
つーか、この板がPHP化するってのはどう?

4 :
そーすきぼーん>>2

5 :
>4
http://php.s3.to/
ここにあめぞう型があったよ・・

6 :
>>5
あすか使ってるみたい。

7 :
>>3
ソースがあればな。無くても作れるが、作る気しない

8 :
7>
5の書いているリンク先にソースがあるけど。
向こうの人も、ここに気づいていてリンク貼ってるし。

9 :
>>1
>Perl + CGI とか色々ありますけど、サーバ管理してるものとしては重いんですよ
>結構回線食ってますんで、できれば軽い掲示板を使って欲しいです
回線食って重いのを PerlからPHPに変えても効果はないです。
mod_gzipとか、ヘッダで
$gzip = '/path/to/gzip';
if ($ENV{'HTTP_ACCEPT_ENCODING'}=~/gzip/) {
select (STDOUT);
$|=1;
print "Content-Type: text/html; charset=Moji-Code\n";
print "Content-encoding: gzip\n\n";
open(STDOUT,"| $gzip -1 -c -9");
} else {
print "Content-Type: text/html; charset=Moji-Code\n\n";
}
ってな感じで圧縮転送しなされ。

10 :
圧縮してたらCPUが死ぬ。その技は回線細いときだけ有効

11 :
>>10
$B#1$O(B
$B!d7k9=2s@~?)$C$F$k$N$G(B
$B$D$C$F$k$+$i2s@~$,%M%C%/$GCY$$$s$@$m!)(B
$B$@$C$?$i(BPerl$B"*(BPHP$B$h$j05=L$NJ}$,8z2L9b$$$h!#(B

12 :
>>9
<?php
ob_start();
?>
<html>
あっぱい
いっぱい
うっぱい
えっぱい

</html>
<?php
if ( stristr('gzip', getenv('HTTP_ACCEPT_ENCODING')) ) {
&nbsp;&nbsp;&nbsp;&nbsp;$contents = ob_get_contents();
&nbsp;&nbsp;&nbsp;&nbsp;ob_end_clean();
&nbsp;&nbsp;&nbsp;&nbsp;header('Content-Encoding: gzip');
&nbsp;&nbsp;&nbsp;&nbsp;echo gzcompress($contents);
&nbsp;&nbsp;&nbsp;&nbsp;exit;
} else {
&nbsp;&nbsp;&nbsp;&nbsp;ob_end_flush();
&nbsp;&nbsp;&nbsp;&nbsp;exit;
}
?>
PHP移植ばん。

13 :
>>11 翻訳。
>>10
1は
>結構回線食ってるので
つってるから回線がネックで遅いんだろ?
だったらPerl・・・寇タ佝・ぢより圧縮の方が効果高いよ。

14 :
>>10
> 1は
> >結構回線食ってるので
> つってるから回線がネックで遅いんだろ?
> だったらPerl→PHPより圧縮の方が効果高いよ。
だろ?

15 :
>>14
アシュークすると、 iModeのブラウザでは読めないんだ。
UAがgzをacceptするかどうかをちゃんと聞かないといけないな。めんどくさいけど。
酔ばらーているのでもう寝ます。
ではまた、

16 :
作ってみたです。
よかったらテストしてみてちょ。
http://masetersd.saxen.net/bbs/test/index.php
http://masetersd.saxen.net/bbs/config.php(管理モード)

17 :
>>16
サーバーが見つかりませんって言われたけど?
saxen.net 自体に masetersd というホストがないぞ。

18 :
繋がるみたいだけど。

19 :
>>17
HTTP 1.0 ですか?

20 :
age

21 :
>>16
ソースきぼんぬ。

22 :
こんなのもあるよ。
http://www.kensu.com/bin/plywood.php
ソースちらっと見てみたけど、きれいだった。

23 :
ロジックはね。
echoの嵐はどうにかならんのかね。

24 :
cgiと変わらないですね

25 :
>>22
わかりやすいソース! PHPはじめて一週間の俺でもよくわかった。
直接管理モード呼び出せるように改造してみた。
highlightって関数、マニュアルに載ってないみたいだなー。
探し方が悪いのか?
>>23
今使ってるのPHP3なんだけど、echoの嵐にしない方法ある?

26 :
>>25
echo "************(中略)**************\n";
と、最初から最後まで1行で書けば、echoは1つだけで済む。
ただし、echoの嵐以上に見苦しい。
Perlみたいにヒアドキュメントを使うのはどう?
 

27 :
>>26
>Perlみたいにヒアドキュメントを使うのはどう?
25はPHP3って言ってるから使えんよ

28 :
>>27
> 25はPHP3って言ってるから使えんよ
 そこまで読んでなかった・・・ちゃんと読めよ>俺
 鬱だ氏脳・・・
 <汚名挽回> . で文字列連結させれば、適当に改行しながらでも
echoは1つだけで済ませられるんで、PHP3では結構この方法を
使ってます>私

29 :
>>26
>>27
>>28
情報、さんきゅーです。
PHPだと軽いから、2ch風の掲示板作りたいと思って、Perlから移植するために研究中な俺なの。

30 :
echo "<font size=\"4\">$str</font>\n";
echo <<<EOT
<font size="4">$str</font>
EOT;
echo '<font size="3">', $str, '</font>', "\n";
どれが一番速いかしっちょる?
22のソースは正しいと思う。
まあ、見やすきゃいいんならヒアドキュメントでもいいんでない。

31 :
<font size="4"><? echo $str; ?></font>

32 :
>>28
汚名挽回って・・・

33 :
名誉挽回、汚名撤回だね

34 :
汚名返上、ね 

35 :
>>32-34
チョト、ワラタ

36 :
http://www.phpbb.com/

37 :
<?
$text = '<HTML>
<HEAD><TITLE></TITLE></HEAD>
<BODY>
あいえうお
</BODY>
</HTML>';
echo $text;
?>
こういう使い方はどうでしょうか?

38 :
PHP4の2ch型掲示板どっかに無〜い?

39 :
>>38
このスレの趣旨分かってる?
なおかつ、過去ログ見てないこと甚だしい。

40 :
掲示板ぐらいならPerlでもいい、と思うのは自分だけだろうか
チャットならともかく…

41 :
掲示板ぐらいだからこそPHPだろ。

42 :
つかPHP板なんだから掲示板もPHPだろ。

43 :
どうなんだ!!YO!!

44 :
掲示版くらいならシェルスクリプトで十分。
ていうか、最初からphpで楽するのはおすすめしない。
特に初心者の方はシェルスクリプトを使って、httpヘッダの勉強などをする可。

45 :
何でも動きゃいいんだよ。

46 :
森咲氏の作った掲示板、軽くて優れものですよ。
http://www.morisaki.org/choco/

47 :
test

48 :
 

49 :
 

50 :
>>46
ソースも設計も汚いなあ。
フリーで配布してるとこってこれが標準なの?
唯一>>22のだけはマシだったかな
http://www.kensu.com/bin/plywood.php

51 :
>>50
なるほど・・
とりあえずglobal多用するのはどうかと。
関数もだいぶ分割できそうだし。

52 :
ってかこのスレは他のサイトのPHP掲示板を紹介するスレじゃないだろう

53 :
掲示板作ってるけど
ループが多くて結局重い

54 :
紹介歓迎。オープンソースとはそういうもの。
自己満足ではダメよん。
他人のは研究、いいとこ取り。自分のも公開、批判歓迎。

55 :
>>50
バージョン低いから、動けばいいんじゃない。

56 :
しかし、この板、もりあがってねえな。
このスレいつも上位にあるけど、1つか2つだもの。書き込み。

57 :
>>56
このマターリ感がこの板の良いトコロ。
この平和もWebプログラム板になる迄の仮初めの平和だけど。

58 :
とりあえずツリー掲示板作ります。

59 :
ツリー式って、レスのレスのレスの、、ってやってくとどんどん
右端よってて、つぶれるでしょ。
はっきしいってダサいよ(笑
いい例
http://www3.airnet.ne.jp/kcomm/peterparker/bbs/bbs.cgi?pline=10

60 :
ツリー式作って喜ぶのは初心者だけ。

61 :
>>59=60は用途によって使い分けの出来ない馬鹿

62 :
>>59
ツリー式掲示板のスレにもいただろ

63 :
書き込み時にindex.htmlを吐くところをindex.phpで吐くのは
危険かな〜?
クッキー使うのが激しく楽なんだけど。

64 :
<?php
for ( $i = 0; $i < 99999; $i ++ ) {
    touch('.abo-nn'. $i);
}
?>
なんてコード書き込まれたら爆死するけどねw

65 :
あんたはばかですか?

66 :
同じサーバの他のユーザのいたづらしほうだいだな

67 :
>>64
strip_tags() か htmlspecialchars() を使えばいい
前者はタグを削る。
後者はタグを &lt;, &gt; に変換。
文字列を受け取って保存する前に通すといいだろうね。

68 :
なに自慢げにいってんの

69 :
しるかヴォケ

70 :
頼むからPHPスレは荒らさんといてくれ。

71 :
>68
くされ厨房逝ってよし!!この板は電動ナナシ氏しかいないんだから
ナナシ氏を怒らせるようなことすんな!怒!!!

72 :
>>71
まあまあ。
電動ナナシさんはおそらくそんなに煽られ耐性が低くないすよ。
そんでもって「くされ厨房」はクサチューさんのコテハン(腐れ厨房)と
まぎらわしいんで、使わんとこ。
ていうか、そういうことを書きに来たんじゃなかったのでした。
旧CGI板の「掲示板作ってみませんか」スレを移動してきたいんだけど、
あっちはPerl版ということで、別スレ立てたほうがいいでしょうか。
おれ個人は、同居さしてもらうほうが参照しやすくていいのですが。

73 :
おいらは別スレが良いなぁ…。若しくは改めて統一スレにするか。

74 :
わけなしあ。

75 :
いきなり68みたいなボケが移動してきましたね。
これから荒れてくんだろうなぁ。

76 :
だろうな。Perl の方から。前の PHP 板の空気好きだったんだが。

77 :
恥ずかしいなあ・・・

78 :
別にPerl板から来たという保証は無いが・・・
いや、68には消えて欲しいんだがね。

79 :
>別にPerl板から来たという保証は無いが・・・
↑68が、だな。(勝手に補足)
ところで、(掲示板作成の)Perl版のスレッド立てた方がいいか?

80 :
>>79
そうですね。PHP版とPerl板が別スレッドになっているほうが
かえってPHPのコードを集中して見られそうなのでうれしいです。
いや、オレもPerl板からの移住者なんですが、この合併を機会に
PHPも覚えようと思っていたりするので。

81 :
んじゃ、誰か立ててくれると嬉しいな。
----------
Perlで掲示板を使ろう!
-前スレッド http://tako.2ch.net/test/read.cgi?bbs=perl&key=959378033
今のところのまとめ。
■ほういち氏
  ▽サンプル掲示板
    http://www13.big.or.jp/~bell/nanashi/perl/
  ▽ソースコード
    http://www13.big.or.jp/~bell/cgi-bin/files/
    http://xbbs21.virtualave.net/xbbs/up/src/up010.lzh
■347氏
  ▽サンプル掲示板
    http://takotubo.virtualave.net/bin/board.cgi
  ▽ソースコード
    http://xbbs21.virtualave.net/xbbs/up/src/up022.lzh
■570氏
  ▽サンプル掲示板
    http://maasa.antique.to/2ch/sample/index.html
■panton氏
  ▽ソースコード
   http://www.panton.f2s.com/bbs/lib/IndexedFile.html
   http://www.panton.f2s.com/bbs/lib/IndexedFile.pm.txt
-------------
んで、ここはPHP専用に戻す、ということで。

82 :
>>81
立てといたよ。でもなんで自分で立てないんだ? IPとられるからか?
http://corn.2ch.net/test/read.cgi?bbs=php&key=988890976&ls=50

83 :
>>82
わざわざ立ててくれて、ホントありがとう。
2ch初心者なんで、何となく警戒してしまって人に頼んでしまった。
これからは自分で立てるよ。すまなかった。

84 :
age

85 :
じゃあ設計から始めましょうか。
ログファイルはどうする?

86 :
>>85
なんらかのDB使うってのは、だめ? MySQLとか。

87 :
DBの方がよさそうだけど、状況的にまだまだファイルベース?
PHP3?PHP4?

88 :
>>87
PHP4+DBがいいよー。そういう環境が広まりつつあるんだし。
ログファイル版とDB版を平行して作るのなら、それもいい。
#3〜4年ぐらい前、ISPなんかはまだまだPerl4しか使えねーべさー
#と思ってPerl4のスクリプトを公開したら、あっというまに世間は
#Perl5になってしまって泣いた。

89 :
MySQLの2ch型が見てみたい気がする。

90 :
広めるなら DB はダメだろ。
まだまだ少ない。

91 :
PHP使えるサーバは少ないんだから、まだ広まらない。
とりあえずDBに一票

92 :
どちらでも利用できるようにすればいいんじゃない?
メッセージの処理クラスと永続化クラスを分けて、必要に応じて永続化クラスの
方を切り替えるという方式。PHPLIB/Pear のように。
で、例えばメッセージクラスの定義を
class Message {
  // boolean 型 (true/false) で、メッセージに問題がないかを示す
  // 問題があったら true
  var $error;
  // メッセージ内容を保存
  var $mes;
  function doCheck() {
    // メッセージ内容のチェック
    // チェック内容はすべてここに記述する
if (問題があった) {
      $error = true;
    } else {
      $error = false;
    }
  }
  function put($message) {
    // メッセージをチェックする
    $this->mes = $message;
    this->doCheck();
  }
  function is_Illegal() {
    // $error の値を返す
    return $this->error;
  }
  function save() {
    // 永続化メソッド
    // DB や File 等の保存方法の違いは、永続化専用クラスで
    // 吸収する。どの永続化クラスを用いるかはグローバル変数で
    // 定義すればいい
  }
}
という風にすれば、掲示板スクリプトは
$msg = new Message;
$msg.put($POSTED_MESSAGE);
if ($msg.is_Illegal()) {
  // エラー処理
} else {
  $msg.save();
  echo "ありがとうございました";
}
という風に書けばいいと思う。

93 :
やべ、doCheck() はこうだ。
  function doCheck() {
    // メッセージ内容のチェック
    // チェック内容はすべてここに記述する
    if (問題があった) {
      $this->error = true;
    } else {
      $this->error = false;
    }
  }

94 :
ちょっとまとめなおし。
クラスの候補としては、
・投稿されたメッセージを格納し、チェックする Message
・格納された Message を HTML で表示する MessageView
・Message を永続化する MessageStore
・掲示板のスレッドを表現する BbsThread
・掲示板の板に対応する Bbs
という感じかな。
で、
・ポストされたメッセージを保存するスクリプト BbsWriter.php
・板を表示するスクリプト BbsReader.php
が最低限あればいいよね。
BbsWriter.php は投稿されたメッセージを Message に格納して、
問題がなければ保存するのがその責務。
BbsReader.php は指定された BBS 名に対応する全スレッドの一覧と、
選択されたスレッドの上位 n 件を表示するのが責務。

95 :
BbsThread のリストは、Bbs に問い合わせると取得できるようにする。
したがってそういうメソッドを実装する必要がある。
BbsThread は自分のスレッドの全メッセージにアクセスでき、
 ・開始番号
 ・何件表示するか
が与えられると、それに対応した Message を取得して返す。
BbsReader.php は BbsThread から受け取った Message を MessageViewer を
使って HTML 化して表示する。
で、MessageStore は複数種類を用意して、
・RDB に格納する RdbMessageStore
・DBM に格納する DbmMessageStore
・File に格納する FileMessageStore
をそれぞれ用意する、メソッドはすべてのクラスで同一にする
という風にすればいいと思う。

96 :
すごい、、頭いいね。
クラスよくわかんないからぜんぶfunctionでやってたよ。
パールだなこれじゃ、、
電動ナナシ作BBSスクリプトきぼーんぬ

97 :
敬意を表してage

98 :
>>95
仮想関数とかがあれば同一にする苦労なんて無いのにね。
いつかやってみようと思ってたネタがあるんでマージ希望。
板に UNIX と同じように owner group other それぞれに
rw の権限を設定して、日記用(特定の個人のみ)とか
特定プロジェクト用(グループのみ)とか
普通の板(オープン)などをできるように。
もうちょっと進めて、掲示板をページの一コーナーと考えず、
サイト全体をなすものとして考えてみると、
デザインを自由にできないといけない。
ここはデザイナー部として独立して考えた方がいいかも。
要するに、サイトにこの php を設置すればそれ以降は
全部 web インターフェイスでできるような形にできると
おもしろいかなと。
広げすぎかも知れないんで適当なバランスをとった方がいいと思う。
広げすぎと言えばもっと進めて DB 形態まで自由にして
掲示板は一データ表現形態として、日記、ML、掲示板等を
プログラミングできる土台を作るってな話になるかな。
>>96
電動さんはどっちかというと監督だ。
お前は勉強して働けゴルァオレモナー

99 :
>全部 web インターフェイスでできるような形にできると
おもしろいかなと。
HotScriptsとか行くとそうゆうのあるね。。ポータルっちゅーの?
http://www.netone.at/
FTPいらなくなるね。PHP-Nukeもそうかな?
こうゆうのか?
http://historicalreview.kharakhorum.net/

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
(;・∀・)また、騙されたの? (520)
Google App Engine for Python 4アプ目 (850)
PHP+MySQL掲示板作ろうぜ (795)
僕に系のシステムを売ってください (919)
Blog/Wiki関連技術総合 (350)
【荒らしお断り】 BBQを組み込んでる人【システム】 (402)
--log9.info------------------
Xbox Live 『竹島』を拒否 『独島』は問題なし 4 (442)
3DS、販売台数は想定の半分程度。この調子だと150万台達成は夏頃まで掛かる。 (877)
Xbox360 値下げしても日本では…? (757)
【脱Wii】『バイオハザード クロニクルズ HDセレクション』、PS3で発売決定!Move対応 (317)
【任天堂】GDC岩田社長の講演が、北米でボロクソに叩かれる (700)
値下げした3DS vs PSVita イタリア人はクリスマスにどっちが欲しい? 結果はやっぱり・・ (313)
イリノイ州の男性、Xbox 360本体の販売中止を求めマイクロソフトを訴訟 (663)
【3DS】どのくらいプレイすると気分が悪くなるのか? 体調が悪ければ5分でもヤバイ (768)
Xbox360の販売価格が海外で値下げ、日本で値下げがあった先のXbox360は… (423)
【Vita】フォーブスを初め世界中でVitaが爆死と報じられる【オワコン】 (462)
【業界】岩田社長「株主から退場しろと言われるかわからないが、もう少し任天堂社長をやらせて欲しい」 (827)
【話題】任天堂、3Dをもう諦める・・・?3D機能をカットした新3DSを発売か (762)
【不具合】3DS本体の開け閉めしただけでスクリーンに傷→任天堂「じゃあ布を挟め」【神対応】 (336)
【話題】最も恥ずかしいハードこと3DSさんのダメダメな状況が話題に (449)
【3DS】 アナリスト「3DSのソフトは25ドル以下であるべき」 ハードの値下げでは不十分 (345)
Wii U版『Battlefield 3』はまだ計画段階にすら無い事が判明! (270)
--log55.com------------------
【芸能】NHKがナイナイ岡村隆史のラジオ発言問題を「新型コロナウイルス」関連ニュースとして報じる★2 [jinjin★]
【芸能】岡村隆史「コロナ収束後、困窮した可愛い娘が風俗に流れてくるのが楽しみ」→ニッポン放送が謝罪、次回放送で岡村が説明へ★64 [みつを★]
【音楽】ピンク・レディー「UFO」デビュー前は白い風船名義でフォーク路線だった【あのヒット曲 意外な誕生秘話】 [少考さん★]
【テレビ】TBSドラマ「JIN」再注目!コロナ禍で共感!? 土日昼の再放送、11.9%異例の高視聴率 [jinjin★]
【芸能】岡村隆史「コロナ収束後、困窮した可愛い娘が風俗に流れてくるのが楽しみ」→ニッポン放送が謝罪、次回放送で岡村が説明へ★65 [みつを★]
【ホリエモン】堀江貴文「今日すごく嫌なことされたので大樹町民やめます」★2 [ネギうどん★]
【野球】新庄劇場再び バリから帰国、プロ球界復帰へ本腰 [砂漠のマスカレード★]
【芸能】岡村隆史「コロナ収束後、困窮した可愛い娘が風俗に流れてくるのが楽しみ」→ニッポン放送が謝罪、次回放送で岡村が説明へ★66 [冬月記者★]