PHP上級者が集まるスレ
ここでは他のPHPスレよりもより一層と高いレベルでの情報交換・体験談などを行うスレです。 我こそはPHPプロフェッショナルだという方の書き込みをお待ちしております。 >>470 そこから調べてみたら ctype_xdigit なんてのがあることが判った。サンクス。あとで比較してみるわ。 PHPの上級者の皆さん(自称は勘弁)は Eclipseで開発する場合に ブレークポイントとかって使っていますか? PHP上級者がEclipseで開発するとは思えんw EclipseはPHP苦手な人用に関数名教えてくれたり引数指定を教えてくれたり シンタックスエラーがあれば教えてくれたり・・ だからなぁ PHP上級者だったら使い慣れたシンプルなエディタで十分やろな >>477 Eclipseの使い方を知らないだけじゃないの? (実は、初心者の為) 早速3種類の方法を比較してみましたよ? 検査データの質にもよるだろうけれど、とりあえず 1000個の32文字のデータを用意した。 それらは9割が 0123456789abcdefABCDEF のみからなり、残り1割が それ以外のマルチバイト文字を含む。 1.preg_match('/[^0-9a-f]/iu',$str) 2.ctype_xdigit($str) 3.for($j=0,$jmax=mb_strlen($str,'UTF-8'),$b=true;$j<$jmax;$j++) $b&=!(mb_strpos($safestr,mb_substr($str,$j,1,'UTF-8'),0,'UTF-8')===false); それぞれについて1000個のデータを100回まわした結果。 1→245.14[msec] 2→41.80[msec] 3→7953.70[msec] ちなみに環境は Pentium(R) Dual-Core CPU E5400 @ 2.70GHz cache size : 2048 KB CentOS release 5.5 (Final) PHP Version 5.2.17, Zend Engine v2.2.0 想像以上に正規表現はやいな。 >>462 さん >>470 さん ありがとう。 >>477 要は使いどころなんじゃね?客先やちょっとしたものはviで書いちゃうとかあるし。 実をいうとうちも エディタで書いている。Java は Eclipse つかってんだけど、 エディタだけでも別に困らないし。本当は Eclipse 入れたほうがべんりなんだろうな。 Eclipseは習得までに時間かかったけど、 今はPEARとかの糞長いクラス名を手打ちするとか考えられんわ・・・ メソッドチェーンもコード補完してくれるし重宝しているよ。 ネットワークにつながって無い環境で imagickのモジュールをインストールするには どうしたらいいんですかね >>482 あっさりしすぎじゃない? 何のOSでとかせめて書かないと・・・ 質問の意図や前提をくみ取れない糞質問 が多い。それで回答者が逆質問をしたり 悪口を言ったりする。それを前もって思 い描く力が絶望的に欠如してるに違いない。 スーパーハッカーだけが意図を理解できる。 レアなそういう神が颯爽と登場する予感。 >>481 メソッドチェーンは猿のやる行動なので、自嘲した方がいい 自重なのか自嘲なのか、まぁどちらにしたって同じようなもんだが メソッドチェーンってどこでエラーになったかわからなくない? IDEを使えばメソッドチェーンのどこからNULLかわかる メソッドからの戻り値で成否を判別するような実装してるからだろうw 例外と try catch 使おうぜ。 なんか得体の知れないエラーが出てしまいます。 何が原因なのでしょうか? [test.php] <?php phpinfo(); ?> #php test.php →正常にPHPが実行されます。 しかし、ブラウザより http://hogehoge.com/test.php とやると Internal Server Error UID of script "/home/first_hoge/public_html/second_hoge/test.php" is smaller than min_uid suPHP 0.7.1 PHPじゃなくて、suPHPやらサーバ側の問題だな。 test.phpの所有者やパーミッションを確認してみれ。 >>496 ありがとうございます。所有者を変更したらブラウザからアクセスできる様になりました。 情報セキュリティスペシャリスト試験に、PHPが含まれなくなったのは、PHP勉強していた受験者にとっては 反則以外の何者でもない。 結局、PerlとJavaとC++しか出なかったわけだ。 PHPは昨今難易度あがりすぎだからな。 >PHPに最悪のバグ発覚!CGIモードで動かしてる奴はソース丸みえ!!ソースにパス埋めてる奴は死ぬぞ! 個人で持ちやすい庶民系レンタルサーバーってほとんどcgiだと思うけど http://rental.off-soft.net/4166.html これで鯖屋がモジュールにシフトしてくれるとありがたい。 脆弱性の発覚なんかどんなプログラムにもあるわい。 ちゃんとバージョン上げてるやつには関係ない話。 影響を与える範囲が広範囲に渡るんだから堅牢な作りにするのが当然なのに、 相変わらずその場しのぎの突貫工事だからこんなことになるんだろ PHPがどうこうより、WEBの公開ディレクトリにフロントコントローラ以外もおいてる人って・・・ www.php.net にアクセスできなくね?俺だけ? そのうち直るだろ。 「オレだけ?」って疑問が湧いたら、 まずケータイからでも同じか確認すればいい。 >>507 おれは506じゃないけど、ひとこと言わせて なんでそんな面倒なことを要求するの? あなたも確認してみればわかることじゃないの? どうして自分は確かめるのをいやがるの? そんなにツンツンしないで馴れ合おうぜ〜(^ε^)チュ 外は冷たいのにどうして俺の部屋だけこんなに暑いのだ? >> 505 > PHPがどうこうより、WEBの公開ディレクトリにフロントコントローラ以外もおいてる人って・・・ うちの会社が開発してるシステムには公開ディレクトリに、phpファイル全部置いてありますw 社長兼CTOにそれを指摘したら、 「htaccessでアクセスさせなければいいじゃん」 で終わり・・・。 糞CTOを論破するための、シンプル且つ論理的なセリフないですかね?w CLIで、root権限で動いているプログラムを プログラムの中から 一般ユーザーに降格させたいんですが どうしたらよいでしょうか >>513 君が理由も分からないまま人に言われたことを鵜呑みにしちゃってるのが悪いんでない? > 「htaccessでアクセスさせなければいいじゃん」 おれもそう思うんだけど。 .htaccessで塞ぐぐらいなら最初から、別のディレクトリに置けよ。 設定ミスで.htaccessが無効化されたり、 ずさんな運営でゴミファイル(xxxx.php.bk)が生成されたり、 色々と問題は起こる。 「公開ディレクトリに置く理由」が無い。 理由はインストール型パッケージの配布のしやすさかな。 もちろんユーザーが望めば非公開のディレクトリに置くこともできるわけで、 ちょっと別の話だなこれは。 配布するレベルのものなら尚更、 非公開にすべきファイル(ライブラリやコンフィグ)は好きなディレクトリに設置出来るようにしておくべき・・・ それは極論。 導入をし易いって意味ではPHPはベター。 上級者に聞きたい。 例えばcount.phpというのがあって これはリファラをチェックして 同じリファラをカウントするコードなんだけど(要はランキングみたいなもん) iframeやimgタグで<img src="http://hoge-hoge-hoge.com/count.php ">とかやられたら 不正されるよね?これを上手く回避する方法ないかな? >>522 最終アクセスのIPを記録しておいて、連続同一IPは無視する >>523-524 レスありがと けどそれだと相手サイトにimgタグ設置しておいて 普通に他人がアクセスした奴が時刻バラバラIPバラバラなら 全部カウントされてしまわない? 要するにAというサイトがあって それにBサイトのcount.phpをimgタグで仕込ませておけば Aサイトに検索で飛んで来た時刻・IPバラバラの アクセスは全部imgタグを介してBのcount.phpとしてカウントされてしまうと思う。 >>525 あーなるほど iframeだと実質的に違いはクライアントサイズしかないから、 JavaScriptを使ってブラウザ間の差異に気をつけつつ判断するしかないんじゃね。 リンク流入数とか、広告流入数を取りたいのかな? どちらにせよcount.php側の処理を2重3重にしないと不正対策は難しい。 みんなレスありがと。う〜ん何か簡潔な解決策はないもんかな… 簡潔な方法というとアクセスが送られてくるサイトを 定期的に調べるスクリプト動かすとかしか思い浮かばない… 不正やってるimgタグとかiframeとかがないかどうかチェックみたいな。 (こちらのカウント処理用PHP(count.php)が埋め込まれてないかどうかの) ただ相手もそんな簡単にバレるようなことはしないから こちらのリファラとかIPとか調べてサイト主がアクセスしてきた可能性が高い場合は 不正コードを生成しないとかされてたらこのチェックはかなり難しいなぁ。 なんか良い方法ないのかなぁ… >>528 そこまで恐ろしい相手と戦うのかwww 確かにリファラをたどって相手のHTMLを取得してa以外の要素があれば弾くのはいいかもね。 こちらのIPだけに特別なHTMLを生成する懸念に対しては、相手のGoogleキャッシュを確認するとかでどう? んでさらに心配ならJavaScriptによる表示サイズでフィルタするしかないのでは。 >>529 なるほどなるほど。キャッシュを調べる手があるね。 とにかくこれは地道に色々やるしかなさそうだなぁ。 がんがってみますね。レスありがとうございました! 上級者の方、ご教示お願いします。 for($i = 0; $i < 100; ++$i){ print '<a href="' . $url[$i] . '" target="_blank"><img src="img.png" width="100" height="100"></a>'; } こうやってimgタグをaタグでリンクすると処理コストがかなり掛かるんです。 a単体にするとかなり速いです。なんででしょう? あとimgを付けていても、href="hoge.com" みたいに直接URL記述したら速いです。 わけが分かりません… だれか助けて〜 html = ''; for($i = 0; $i < 100; ++$i){ html .= '<a href="' . $url[$i] . '" target="_blank"><img src="img.png" width="100" height="100"></a>'; } print html; こうやったら解決しました!どうもお騒がせしました! と思ったら気のせいだった…初心者スレ行ってきます! 他のPHPスレ言って質問したんですが 「PHPは糞言語」「消えろ」「速度を気にするやつがPHPなか使うな」 とか言われてまともな回答が来ませんでした… だれか教えて下さい〜 またお前か 繰り返すが俺らが答えるまでもない 少しは学習しろ >>536-537 そんなこと言わないでお願いしますよm(__)m 他のスレ言っても全然答えてくれないんです。 やっぱ何か改善可能な原因があるんですかね? >>531 マジレスすると、質問者のレベルを考慮すると、回答がすごくめんどくさい。 ここは上級者同士が集まって高尚(笑)な話をしたいスレのはず。 ここと向こう?の登場人物が同じ可能性だってあるのにバカなやつ phpでprivateなクラスをテストしたい時って、ReflectionMethodを使うのが一般的なのでしょうか??誰か教えてください ToT うるせーぞクズ てめーにコード組んでもらわなくても誰も困らないからさっさと失せろ >>544 初心者未満のゴミが俺ら上級者の手を煩わせないでくれたまえ foreach ($arr as &$value) { /* hoge */ } unset($value) foreachでリファレンスを利用したあとにunset()するけど unsetしないで$valueを有効活用したことあるやついる? >>547 初心者レベルのクズが俺たち上級者に気安く話しかけるな なるほど・・・ 上級者としては、foreach後の参照はむしろ使うべきではないということか。 ありがとうございました。 foreach後の参照がどうこうより、 どんなロジック組んだら有効活用出来るのか考えてみると、 そのロジック自体無いな・・・って答えになる気がする。 イテレーションしてるのに最後の要素だけ参照で使うとか何がしたいのか意味不明 >>552 そうなんだよ だからこそ、参照が残る謎仕様が気になる 変数スコープ的にも参照が残るのは自然だと思うが・・・ iphoneアプリ、Windowsアプリを売って生き残れ 経済産業省は若者らの小規模な起業を促すため 数百万円を補助 http://matome.naver .jp/odai/2134667637844882401 格安iPhoneEラーニング(学習動画多数あり) http://tinyurl. com/7wj77om コワーキングスペースJP http://tinyurl. com/76vdrny コワーキング帳 http://tinyurl. com/brzs486 javaやlinuxは手間がかかる 一人でやるには手間がかかりすぎる 手間がかからないで一人で開発できて 人の多いところで直接販売できる仕組みが提供されているメーカ製言語だけやる ずばりiphone またはWindow 8 Metro App Store C# やるならメーカー製の言語 洗練された仕様 脆弱性が少なく 開発ソフトが優れ 課金ライブラリ アップデートライブラリが提供されていて 情報、書籍が多く開発しやすい 奴隷になりたければオープン系をやればいい 時間がかかり 人は多く 仕事の取り合い 足の引っ張り合い 脆弱性が多く 互換性がなく 動的だからドキュメントが多く必要で 癖があり 大規模開発中心 詳細設計しかできない体になって年取ってぽいだ 独立もできない 手間のかかりすぎる技術だから 派遣屋 IT経営者はその方が喜ぶ 大規模分割開発では使い捨てても独立はできまい 嫌なら辞めろ 代わりはいくらでもいる 若い派遣営業は舐めた態度をとってくる ひどいピンハネ オープン言語、日本独自開発 言語・フレームワーク ガラパコ携帯 javascript html5 android java linux python rubyやnode.jsとかやめとけ メディアに金を払ってステマ宣伝してくるが釣られて手を出しても情報は少なく手間がかかり スパゲッティコード 未完成 デスマに陥る そそのかしておいて自己責任 コンパイルできないからパクられ 直接売る場所がないから企業に買い叩かれ金にならない 生きていけない奴隷仕様だ ここから抜け出すにはiPhone一択 またはWindow 8 Metro App Store(未確) C# Objective-CやC#を覚えるとサーバーサイドからクライアントサイドまでカバーでき人の多い場所でソフトを売る権利を得られる 仕事や趣味でObjective-CやC#をやっておけば派遣切りされても会社辞めることになってもソフトを売って生きていける それはセーフティーネットになる WEBサーバーIIS Win2008ServerVPS SqlServer Oracle MySql 言語はマーケットで売れるメーカー製のみ C#は自分用業務支援ツールとして使える 例えばPHPでWEBアプリを作っていて管理者画面はC#(EXEアプリ)で作るとかなり早く作れる(Smartyなんか使うよりもかなり早くだ) C#のソースを出さなければWEBアプリの著作権も守れる ASP.net(C#)+管理EXEアプリ(C#)+iPhone C#マーケット Windows8 Metroアプリ WindowsPhone Surface PS Vita Xbox360 iPhone(mono使用) iPhoneマーケット iPhone iPad 予定 iTv iCar i (家電製品) 地方に安い土地を買いコンテナ型の格安高性能オフィスを建て(300万〜500万) レンタル自習室&シェアオフィス・コワーキングで収入を得ながらそこでアプリを開発する http://tinyurl.com/7pb2yaa http://bit.ly/iLIpJa ヤフオクで脱獄iPhone15kぐらいで買える IIJmio,イオン.BB.exite,DTIで月千円でネット使える >>530 SSIで画像なり文字を返すように…まーいっか、今更。 文字列の先頭がビックリマークだ ってのを判定するとき if( ord($hoge)==33 ) echo "ビックリ"; って、ダメなの? $hogeが文字列なら if($hoge[0]=='!') がいいんじゃないの。 >>568 文字列って配列だったのか・・・ ありがとう! >>569 配列と同じ記法の[n]が使えるってだけで、もちろんforeachで回したりはできないぞ。 あと$hogeが実際に文字列ではなく配列かもしれない場合も必要があれば考慮すべし。 セッションIDって英数字で26文字だけど、 26文字ってなんか意味があるの? 16文字は短いし、32文字だと長いよね〜 みたいな感じ? read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる