第二回 自作スクリプト発表会【PHP】 (110レス)
1-

91
(1): 68 2008/11/26(水)15:45 ID:yZjcfnV8(2/3) AAS
>>90>>75さんのhttp://lcdata.ddo.jp:8080/2ch/1156116687/68/index.phpsのソースの一部分です。
で、
preg_match_all("/<dt>(.*)/", $thread, $matches);
この行で1レスづつ、配列に入れる。
で、
$res = $matches[1];
この行の意味がわからないです。
$matchesの変数、$matches[1]の変数、$resの変数のそれぞれの違いがわからないのです。
92
(1): >>65 2008/11/26(水)22:59 ID:??? AAS
>>90-91
いやあの晒されると恥ずかしいですが。
特にそこ適当なんでw
http://jp2.php.net/manual/ja/function.preg-match-all.php
意味はマニュアルに書いてあるとおりです。
どっか動きがおかしいのを修正したいのか、改造したいのか、単純に意味がわからなかったのか、
コードが汚すぎて読みにくいって指摘なのか、PHPを覚えてみようと思ってるのか、
いったいどれでしょうか?

ふと思い出したけど、php.iniのerror_reportingを書き換えなくても、
----------------------------------------
省4
93: >>65 2008/11/26(水)23:04 ID:??? AAS
超適当に説明しておくと・・・
まず、このスレのソースコードを見てみてください。
各レスが「<dt>〜」って1行になってるのがわかると思います。
まず、$matchesにその各レスが入ります。
$matches[1]には、「"/^(\d*)/"」などの1番目のカッコの中身が入ります。
そんでもって、さらにそのレスに対してpreg_matchをすることによって、
レス番号とか名前とかを切り出してるんです。
$matches[1]をわざわざ$resって変数に入れてるのは特に意味はありません。
94: 68 2008/11/26(水)23:56 ID:yZjcfnV8(3/3) AAS
>>92
有り難うございます。 確かに、http://jp2.php.net/manual/ja/function.preg-match-all.php
↓が書いてありました。 すみません。

>$matches[0] はパターン全体にマッチした文字列の配列
>$matches[1] は第 1 のキャプチャ用サブパターンにマッチした文字

> どっか動きがおかしいのを修正したいのか
動きは、ちゃんと動いてくれて感動しました。

>単純に意味がわからなかったのか、
はいそうです。

>PHPを覚えてみようと思ってるのか
省8
95
(1): 2008/11/27(木)10:46 ID:QDCpWLvT(1) AAS
俺はこれ
error_reporting(E_ALL);

面倒だけど変数をまとめて設定する癖がつくから後々楽だぞ
96: >>65 2008/11/27(木)20:06 ID:??? AAS
>>95
僕も余裕があればデバッグ中はそうするように心がけてみます。
PHPしか知らないから、変数の宣言とか型とかいい加減な扱いするクセついちゃったなぁ。
97
(1): 2008/11/27(木)20:12 ID:??? AAS
開発機のphp.iniで設定しときゃいいじゃん
98: >>65 2008/11/27(木)20:18 ID:??? AAS
>>97
そうですね。
他に何に使ってるわけでもないWeb鯖だし、それでいいと思います。
僕はいつも、↓みたいな感じでログを流しながら作業してます。
tail -f /apache/log/error_log
Windowsで似たようなことってできるのかなぁ。
Cygwinとか試してみよう。
99
(2): 2009/05/19(火)20:17 ID:D1418Uic(1) AAS
【設置場所】 http://u9.getuploader.com/kiren/
【ソース】 http://u9.getuploader.com/kiren/download/1/chat.7z
【プログラミング経験】 3ヶ月
【希望評価スタイル】 悪い部分を指摘して欲しい
【自分の性格】 またーり
【備考】
表示部分はJQUERYで、サーバーの部分はPHPで作りました。どうも保守性が悪いような気がするので、
悪い部分があったら指摘してほしいです。
100: 2009/05/21(木)01:39 ID:??? AAS
悪い部分って?
101: 2009/05/21(木)10:06 ID:??? AAS
>>99
HTMLのエスケープはPHP側でやったほうがいいよ
あとちゃんと見てないからよくわからんが、今HTTPヘッダで取ってくるログを判別してるみたいだけど、
それもPHP経由で重複したデータを取ってこないように。
102: 2009/05/30(土)11:37 ID:??? AAS
>99
暇だから見てみるか。
とりあえず3秒見たところだが、enter.phpにXSSな。htmlspecialchars()かけろ。
103
(1): 2009/05/30(土)12:28 ID:??? AAS
load_namefile(&$a, $b)は、$aをそのまま返せばいい。参照渡しで値を返すと可読性が激しく低下する。返り値$iはcount($a)に等しいはずだ。

変数名が手抜きすぎる。$aとか$bとか$cとか$vとかなんの拷問だ。
append_namefile($name, $last_talk_time, $room_number)にするだけで10,000倍読みやすくなる。foreach()とかで使う一時変数も同じ。
「保守性の高いコード」はアーキテクチャが生むんじゃなくて、変数名やインデントなどのミクロな部分が生むんだ。神は細部に宿る。

$_POST["state"]での処理の振り分けは、明らかにifではなくcaseにすべき箇所。

名簿ファイルのロック処理が半端。flock()を信用するならbegin_lock()は不要。
信用しないならflock()が正常に動く事を前提としているbegin_lock()も同じく信用ならない事になるので意味がない。
信用しないならmkdirロックを使うべき。SQLiteかなんかを使ったほうが手っ取り早いが。

flock($fp, LOCK_UN)してはいけない。「鍵を開けた後、ファイルを閉める」までの間にファイルが破壊される。
単に閉じれば安全な形でロックが開放される。
104: 2009/05/30(土)12:29 ID:??? AAS
メイン処理($_POST["state"]を見て実行される場所)のひとつひとつを関数ないしクラスにした方が、可読性が向上する。
意図をそのまま関数名にしろ。例えば最初のブロックは、そのまま読むと
「ロックを取り、ユーザー名簿を取得し、名簿に書いてある数字がいまの時刻より$_keep_time小さかったら名簿を削除し、名簿を再度書き出す」
わけだが、お前はトップレベルのコードを読んでる時はそうは思考しないだろ?
「長時間退席しているユーザーを蹴る」とか、そういう粒度でこの処理を見るはずだ。ならこの処理は「kick_afk_users()」と関数化すべきなんだ。
トップレベルでやってる処理は多岐に渡るんだから、詳細はいったん別の場所においておくべき。
kick_afk_users();
if($_POST["state"] == "enter"){
 enter_room();
}else if($_POST["state"] == "quit"){
省8
105: 2009/05/30(土)16:37 ID:??? AAS
>>103
99じゃないけど
> flock($fp, LOCK_UN)してはいけない。
これは以外だった。ちょっと調べてみよ。
106: 【23.9m】 電脳プリオン 2012/05/06(日)15:00 ID:??? AAS
  ∧_∧
  ( ・∀・)            人 ガッ
  (    つ―-‐-‐-‐-‐-‐○ <  >__Λ∩
  人 Y ノ.             V`Д´)/
  し(_)                  /  ←>>21
107: 島本町で凄惨なイジメを受けて廃人になった方へ 2014/08/09(土)16:53 ID:eoXmXjRk(1) AAS
>大阪府三島郡島本町の小学校や中学校は、暴力イジメ学校や。
島本町の学校でいじめ・暴力・脅迫・恐喝などを受け続けて廃人になってしもうた僕が言うんやから、
まちがいないで。僕のほかにも、イジメが原因で精神病になったりひきこもりになったりした子が何人もおる。
教師も校長も、暴力やいじめがあっても見て見ぬフリ。イジメに加担する教師すらおった。
誰かがイジメを苦にして自殺しても、「本校にイジメはなかった」と言うて逃げるんやろうなあ。
島本町の学校の関係者は、僕を捜し出して口封じをするな

子供の時に受けた酷いイジメの体験は、一生癒えない深い傷になる
「暴力とイジメと口裏合わせと口封じ」の町やそういう町に巣食うヤクザ・チンピラ・ゴロツキ・不良・
いじめっ子・殺人鬼・ダニ・ノミ・シラミなどを監視して非難するのは暮らしやすい町を作るのに必要だ
108: 2017/12/30(土)13:59 ID:YhlYw6jg(1) AAS
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。

グーグル検索⇒『半藤のブブイウイウレレ』

AO0UH9L8HP
109: 2019/05/09(木)02:21 ID:HHcYDMUs(1) AAS
phpについて役立つ情報とか
2chスレ:tech

7H9
110: 2023/09/25(月)03:18 ID:??? AAS
(||゚Д゚)ヒィィィ!(゚Д゚||)
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.522s*