1read 100read
2012年07月WebProg361: せっかくだからPHPで掲示板作ってみませんか? (344)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
=== IIS === (289)
【Perl】掲示板を使ろう! (475)
【MT】犬でも使えるBLOGスレ【逝吉】 (677)
【PHP】気軽にPHP質問スレ (727)
【Perlフレームワーク】Catalystを語る人 (257)
【PHP】気軽にPHP質問スレ (727)
せっかくだからPHPで掲示板作ってみませんか?
- 1 : 2001/02/22 〜 最終レス :2011/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>
あっぱい
いっぱい
うっぱい
えっぱい
R。
</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() を使えばいい
前者はタグを削る。
後者はタグを <, > に変換。
文字列を受け取って保存する前に通すといいだろうね。
- 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元 削除依頼 ▲
C言語のCGIを語りつつ普及するスレ (527)
perlスクリプト⇒phpスクリプト移植要望スレ (611)
ギコタクの「だから逝ってないでしょ」出張所 (412)
新しい掲示板の仕様を考える (427)
symfony PHPフレームワークpart2 (416)
GoogleAPIってどうよ? (306)
--log9.info------------------
なぜハイエースの中古が高騰しているのか (413)
ヤナセの中古買うのは負け組み? (238)
■SL73 AMG■R129 ベンツ (585)
【ダメだこりゃ】関東マツダ中古車ディーラー Part3 (720)
アライAAAってどうよ? (451)
【良店?】埼玉のトップオートについて【悪徳?】 (341)
VW詐欺ショップに制裁を (960)
【中古】 3桁ナンバー A 【バレバレw】 (822)
【安くて】ホンダ ドマーニ【低燃費】 (641)
【BMW 旧型M6】世界一美しいクーペを語ろう! (380)
【みんカラ】裏でコソコソ〇〇〇ク〇【敵大杉】 (322)
【みんカラ】しゅう@セドさんにい【メタボ】 (339)
ディオンのってるひといる? (260)
TOYOTA2000GT探しているのだが (217)
石川県の中古車屋スレ (757)
初代アリストを買おうと思ってるんだけど (305)
--log55.com------------------
金唯人民共和国
ラブライブキャラがレズってる所にグラン君が乱入Rして孕ませる同人書いてええか?
【mobage】アイドルマスターシンデレラガールズ26244人目
ゴッドガード新田恵海 鋼のメンタルであらゆる攻撃を100%カット
ハジブルの鼓動
【mobage】アイドルマスターシンデレラガールズ26245人目
オワブルの胎動
FGO初心者スレ
-