【PHP】下らねぇ質問はID出して書き込みやがれ 82
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/03/09(月) 02:14:28ID:HyrthkeE過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 81
http://pc11.2ch.net/test/read.cgi/php/1234958956/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0376nobodyさん
2009/03/18(水) 03:57:38ID:Zcgp4DkA0377nobodyさん
2009/03/18(水) 04:05:19ID:???0378nobodyさん
2009/03/18(水) 08:50:19ID:???0379nobodyさん
2009/03/18(水) 09:22:56ID:???is_int
のことじゃないかとエスパーしてみる
0380nobodyさん
2009/03/18(水) 09:24:58ID:???0381nobodyさん
2009/03/18(水) 09:39:50ID:???///)
/,.=゙''"/
/ i f ,.r='"-‐'つ____ こまけぇこたぁいいんだよ!!
/ / _,.-‐'~/⌒ ⌒\
/ ,i ,二ニ⊃( ●). (●)\
/ ノ il゙フ::::::⌒(__人__)⌒::::: \
,イ「ト、 ,!,!| |r┬-| |
/ iトヾヽ_/ィ"\ `ー'´ /
0382nobodyさん
2009/03/18(水) 10:52:55ID:???正規表現で調べればよい
if (preg_match("/^[0-9]+$/", $string)) {
妥当
}
0384nobodyさん
2009/03/18(水) 11:00:44ID:???なら
if (preg_match("/^-?[0-9]+$/", $string)) {
妥当
}
かな
0385nobodyさん
2009/03/18(水) 11:03:09ID:???またパターンを増やせばよい
0386nobodyさん
2009/03/18(水) 11:07:58ID:???その辺も考慮しないといかんかな
strlenで32ビット以内かどうか調べる処理とか
0387nobodyさん
2009/03/18(水) 11:10:31ID:???2^32を2の補数で表した値の範囲かどうかだな
?2147483648〜2147483647
0388nobodyさん
2009/03/18(水) 11:22:00ID:???0389nobodyさん
2009/03/18(水) 11:46:44ID:???それから、0123は整数か?
0390nobodyさん
2009/03/18(水) 12:01:38ID:???厳密な数値かはわからないよね
だってそれだと下のどれでも引っかかるからね
123
-123
"123"
"-123"
0391nobodyさん
2009/03/18(水) 12:13:56ID:???0392nobodyさん
2009/03/18(水) 12:33:33ID:???0393nobodyさん
2009/03/18(水) 13:00:35ID:???0394nobodyさん
2009/03/18(水) 13:17:37ID:???0395nobodyさん
2009/03/18(水) 13:24:34ID:???0396nobodyさん
2009/03/18(水) 13:27:19ID:???いちいちグチグチ言うやつは黙ってればいい
0397nobodyさん
2009/03/18(水) 14:23:57ID:R7u4YHhcデジカメとかだとBMPで出力するカメラも結構有るし需要あると思うけど。
ビットマップからイメージ作れるユーザー関数ありますか?
0399nobodyさん
2009/03/18(水) 14:47:40ID:meKzf6DJ0400nobodyさん
2009/03/18(水) 15:58:45ID:???0402nobodyさん
2009/03/18(水) 16:42:30ID:???0403nobodyさん
2009/03/18(水) 17:10:10ID:???画面半分に納めるのはよいプラクティスだって昔だれかがいってた。
スクロールしないと見れないメソッドはクソの匂いがするとも。
0406nobodyさん
2009/03/18(水) 19:48:17ID:???メソッドを何行に収めるかの話が
関係あるのか?
0407nobodyさん
2009/03/18(水) 20:07:04ID:???0408nobodyさん
2009/03/18(水) 20:37:37ID:???0410nobodyさん
2009/03/18(水) 21:14:44ID:???0412nobodyさん
2009/03/18(水) 23:15:59ID:gf2MXR+O開発のローカルのwinかで、
デバッグ云々用とかで判別するのは
if (DIRECTORY_SEPARATOR == '/') { ...
で問題なし?
0413nobodyさん
2009/03/19(木) 00:18:23ID:???それと、Win環境で本番環境同様の状態をエミュレートしたくなった場合も身動きが取れなくなる。
function isDevelopEnvironment()
とかをどこかグローバルにアクセスできる場所(グローバル関数か、クラスのstatic関数)に置いとけ。
他の場所からはこの関数で判定するようにしておけば、判定方法が変わっても変更が一箇所で済む。
実装と意図の分離は設計の基礎。
呼び出し側でやりたい事(意図)は環境の判別なのだから、関数名はそうなっているべき。
環境を識別するのにDIRECTORY_SEPARATORを使う、ってのは実装の話で、意図じゃない。
(もっと言うなら、開発環境がWinで運用環境がUnixなのも「たまたまそうなってる」だけの、つまり実装依存な話)
で、実装の話だが。
俺ならホスト名を開発環境と本番環境で変えておいて、それで識別する。もしくは設定ファイルか何かに書いておく。
WinとUnixを識別できればそれでいい、ってんなら>412で問題ない。
php_uname()関数の例にもディレクトリ・セパレータでOSを判別するコードが載っている。
0414nobodyさん
2009/03/19(木) 00:19:30ID:???それ。
is_numeric()は"."を許したよーな気がする。
気をつけたほうがいいよ〜
D:\tools\php-5.2.8-Win32>php -r "var_dump( is_numeric( '1.5' ) ) ;"
bool(true)
0415nobodyさん
2009/03/19(木) 00:31:24ID:???これはどう?int判定
0416nobodyさん
2009/03/19(木) 00:34:08ID:???0417nobodyさん
2009/03/19(木) 00:35:21ID:???行数っていうのとは違うけど
コメントを書かなくていいくらいに分かり易い
っていうのを目安にするといいっていう考え方もあるね。
コメントで「○○を処理する」とか入れるくらいなら
そのまとまりをprivateなメソッドにする感じ。
まぁ好き嫌いもあるけどねー。
0418nobodyさん
2009/03/19(木) 00:46:01ID:???OOPっていう概念よりも
そもそもプログラミングにおいてクラス使うと何が便利?
って考えたほうが分かりやすいかもしんない。
0419nobodyさん
2009/03/19(木) 00:49:33ID:???常識で考えて・・
0421nobodyさん
2009/03/19(木) 09:10:09ID:8+csUcRFローカルのサーバ(localhost)上ではオープンできないのでしょうか?
if(!$sock = fsockopen("localhost",80,$errNo,$errStr,10)){
echo "エラーです";
}
として開こうとしても、エラーになります。
0422nobodyさん
2009/03/19(木) 09:28:15ID:???0423421
2009/03/19(木) 09:32:30ID:???0424nobodyさん
2009/03/19(木) 09:39:19ID:???最近のアップデートで、hostsを書き換えてlocalhostを消すものがあったと話題になってた。
3/10のWindows Defender更新でhostsが書き換えられる!? - スラッシュドット・ジャパン
ttp://slashdot.jp/articles/09/03/11/0924257.shtml
0425nobodyさん
2009/03/19(木) 11:06:59ID:GwakzSEQ【質問内容】
クラスのメンバ変数についての質問です。
あるメンバ変数が宣言されたかどうかを調べるにはどうしたらよいでしょうか?
代入はされていないのでissetではダメでした。
0426nobodyさん
2009/03/19(木) 11:10:22ID:???もしくは
get_class_vars
0428nobodyさん
2009/03/19(木) 11:18:46ID:???0429nobodyさん
2009/03/19(木) 11:37:30ID:???0430nobodyさん
2009/03/19(木) 12:38:06ID:???http://jp.php.net/manual/ja/function.property-exists.php
0431nobodyさん
2009/03/19(木) 13:18:49ID:???もっと、スマートの方法ありますか?
(h1の要素は不特定、ない場合もあります。)
<?php
$file = "
<html><body>
<h1 id=\"news\" name=\"news\" style=\"size: medium;\">WBC速報</h1>
<p>4回裏 2 - 0</p>
</body></html>
";
preg_match_all('/<h1[^>]*?>(.*?)<\/h1>/is',$file , $match);
$tag = $match[0][0];
$title = $match[1][0];
$file = str_replace($tag,"<div>{$title}</div>", $file);
echo $file;
?>
0432nobodyさん
2009/03/19(木) 13:21:15ID:???0435nobodyさん
2009/03/19(木) 21:43:36ID:???strval(intval($str)) === $str
でいいだろ、面倒くせえ。
0438nobodyさん
2009/03/20(金) 04:10:54ID:???0440nobodyさん
2009/03/20(金) 08:33:43ID:???0441nobodyさん
2009/03/20(金) 08:38:37ID:???0442nobodyさん
2009/03/20(金) 08:40:35ID:???「悪名高き[email protected]を引っ掛ける一方で、[email protected]を弾いてしまう」
ってのはどうなん?
ドキュモで[email protected]が取得できる以上、
それをウェブアプリ側ではじくわけにはいかないじゃん
RFCを守るべきはdocomoであって、ウェブアプリは現実に準拠するしかない
0443nobodyさん
2009/03/20(金) 08:45:13ID:???http://labs.cybozu.co.jp/blog/akky/archives/2007/10/phpspot-bad-regex.html
このトラウマを刺激されたから過剰反応したんだなw
0444nobodyさん
2009/03/20(金) 08:47:16ID:???せめて自分で確かめてから紹介しようよw
>>phpspot
0445nobodyさん
2009/03/20(金) 08:57:25ID:???[email protected] はRFCに準拠している。
ドキュモを弾くかはか方針次第だが、このアドレスを弾いてはいけない。
元々phpspotの提示していたコードが役に立たないのは確か。
出力例が「正しいかもしれない」「間違ってるかもしれない」な事からも明らか。
こういうのは「絶対正しい」「間違ってるかも」、もしくは「正しいかも」「絶対間違ってる」のいずれかを返さなければ糞の役にも立たん。
0446nobodyさん
2009/03/20(金) 09:47:11ID:???0447nobodyさん
2009/03/20(金) 09:59:17ID:???0448nobodyさん
2009/03/20(金) 10:02:52ID:???+\とか記号を入れるメアドなんて普通の人は持ってないだろ
0449nobodyさん
2009/03/20(金) 10:23:25ID:???なんというか、ここにも馬鹿が多いな。
「食べやすい大きさに野菜を切るには」という記事に「カレーは野菜が大きいほうが美味しい」とか言ってるようなものだぞ、それ。
0450nobodyさん
2009/03/20(金) 10:31:42ID:???0451nobodyさん
2009/03/20(金) 10:49:03ID:???0453nobodyさん
2009/03/20(金) 11:54:25ID:MICYHS4W【PHPのバージョン】php5.2.0-8
PukiWiki Plus!で「ajaxtree.inc.php」プラグインを使おうとしたのですが
キャッシュファイルの作成が正常に行われず色々と調べてみていたところ
下記の部分でよくわからない動きをしていることがわかりました。 (ajaxtree.inc.php 198行目付近)
foreach ($pages as $page) {
if ($leaf[$page] === false) {
plugin_ajaxtree_update_cache($page);
}
echo $page . " " . $leaf[$page] . "<br>\n"; //debug
}
具体的には「plugin_ajaxtree_update_cache」関数が一度でも実行されると
その時点でループが終わってしまい配列の残りの要素が処理されなくなってしまうといった感じです。
(関数から戻ってきたあとのechoまでは処理されています)
ループ後の「$pages」の値には特に変化が無く、エラーも発生していませんでした。
なぜforeachが途中で止まってしまうのかわからずに困っています。
この場合、どういった原因が考えられるのでしょうか?
0454nobodyさん
2009/03/20(金) 11:55:01ID:uQ1BNnXRfsockopenで送信されたPOSTやGETを受け取ると思うのですが、
連続送信防止の処理って入れられるのでしょうか?
WEBページのフォーム処理からだと、cookieで制御できると思うのですが
fsockopenは出来ないような気がしています。
0456nobodyさん
2009/03/20(金) 12:02:10ID:???ドッカン
m ドッカン
=====) )) ☆
∧_∧ | | / / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( )| |_____ ∧_∧ < おらっ!出てこい>>449
「 ⌒ ̄ | | || (´Д` ) \___________
| /  ̄ | |/ 「 \
| | | | || || /\\
| | | | | へ//| | | |
| | | ロ|ロ |/,へ \| | | |
| ∧ | | | |/ \ / ( )
| | | |〈 | | | |
/ / / / | / | 〈| | |
/ / / / | | || | |
/ / / / =-----=-------- | |
0457nobodyさん
2009/03/20(金) 12:06:26ID:???RFCに準拠するばかりで現実で使えないんじゃ同じようにクソ
0458453
2009/03/20(金) 12:31:15ID:MICYHS4Wありがとうございます。
該当するコードに特にエラーなどは発生していませんでしたが解決しました。
配列を関数の戻り値の参照として受け取っていたためおかしな挙動をしていたようでした。
$pages =& plugin_ajaxtree_get_pages();
失礼いたしました。
0459449
2009/03/20(金) 12:38:12ID:???実装の問題じゃない。ビジネスロジックの問題だ。何をどこまで許容するかは技術の問題じゃない。
コーディングする奴が勝手に決めてはいけない問題だし、従って前提条件が提示されないと「正しい」コードなんぞ書けっこない。
何が「正しい」のか、仕様が決まってないんだから当たり前だな。
「正しい」メールアドレスを「RF2822準拠」と定めるなら、PHPSPOTや百式のコードは明白に間違っていて、小飼のコードは正しい。
docomoの非準拠アドレスを許容しなければいけない、とか、gmailの無限アドを拒否しないといけない、という条件下なら小飼のコードは間違っているだろう。
実際、小飼の出力メッセージはちゃんと「RFCに準拠しているか」で出るだろ。
あのコードが解こうとしている判定問題は「RFCに準拠しているか」であって、「一般社会で通用するメールアドレスか」じゃない。
それをてめえらは勝手に問題を取り替えてガタガタ抜かしてるだけなんだよ。これだからPHPerは馬鹿だとか言われるんだ。
RFCに準拠していないアドレスが通ったり、準拠しているアドがNGだったら文句を言うべきだが、それ以外は筋違いだ。
0460nobodyさん
2009/03/20(金) 12:41:36ID:???0461nobodyさん
2009/03/20(金) 12:47:51ID:???RFCに準拠してる正規表現はブログに書いてもOK
RFCに準拠してない現実に即した正規表現はブログに書いたらNG
ってことですね、わかります
0464nobodyさん
2009/03/20(金) 16:20:44ID:???0465nobodyさん
2009/03/20(金) 16:21:47ID:???何が言いたいかというとRFC必死だな(笑)
0466nobodyさん
2009/03/20(金) 18:48:51ID:???$は行末判定なので最後に改行コードが付いてても通ってしまう。
ちゃんと\zを使えよ
弾&phpspotともどもm9(^Д^)プギャー!
0467nobodyさん
2009/03/20(金) 18:51:14ID:???0468nobodyさん
2009/03/20(金) 18:56:31ID:???0469nobodyさん
2009/03/20(金) 19:01:48ID:???ある程度のシェアを取った言語なので、
perlの正規表現の文法は他の言語にも
そのまま受け継がれていくわけだな。
つまり勉強したことが無駄にならず
再利用できると。
シェアととると、こういう「いいこと」があるんだよな。
0470nobodyさん
2009/03/20(金) 20:16:44ID:???その上でどんなスクリプトでも走るエンジンみたいのどうなったんだよ
えーこら
0471nobodyさん
2009/03/20(金) 22:34:03ID:oZ8fGjsV以下のような方法も考えたのですがページを移動するか更新しないとクッキーを読めないので困ってます
どなたかアドバイスお願いいたします
javascriptでクッキーを発行する
↓
クッキーが読み込めたらjavascriptがオン・読み込めなければオフ
0472nobodyさん
2009/03/20(金) 22:44:55ID:???処理の順序を考えれば分かるが、無理。
0473nobodyさん
2009/03/20(金) 22:53:31ID:???0474nobodyさん
2009/03/20(金) 23:15:48ID:???いけない状況って何だろう?
0475nobodyさん
2009/03/20(金) 23:17:56ID:???■ このスレッドは過去ログ倉庫に格納されています