PHP上級者が集まるスレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/01/14(日) 16:53:46ID:???我こそはPHPプロフェッショナルだという方の書き込みをお待ちしております。
0447nobodyさん
2012/04/15(日) 20:08:49.90ID:???まさか「AやBといった大文字アルファベット1文字の文字列をくくるときだけシングルで、それ以外はダブル。」
って意味でもないだろうけど。わたしのことをバカにしまくっていいので、正解を丁寧に教えてください><!
0449nobodyさん
2012/04/15(日) 21:03:17.83ID:???0450nobodyさん
2012/04/15(日) 21:19:54.43ID:???0451nobodyさん
2012/04/15(日) 21:42:40.71ID:???0452nobodyさん
2012/04/15(日) 22:28:38.09ID:???0453nobodyさん
2012/04/17(火) 20:37:29.47ID:???ダブルクォートは、必要があるときだけ。
必要が無いのにダブルクォートを使っていたら、必要があるから使っているように見えて混乱する。
0454nobodyさん
2012/04/17(火) 22:51:35.16ID:???どっちを基準にするかは自由だけどな
おれはダブルクォートをメインに使って、
必要があるときにのみシングルを使うわ
0455nobodyさん
2012/04/17(火) 22:55:42.75ID:???0456nobodyさん
2012/04/19(木) 01:18:44.75ID:???大好評で、バグってハニーしても満面の笑みで「許す!」と言われた時に
「じゃあ直さなくてもいいですよね」と堂々とサボります宣言できるようになったら
上級者って思ってもいいですよね。
ちなみに今日それを言ったらもう30になるのに物凄い説教されました。
めんどくさいです。
0457nobodyさん
2012/04/19(木) 05:57:56.10ID:???0458nobodyさん
2012/04/19(木) 22:38:34.62ID:ETb6Xu930123456789abcdefABCDEF
しか含まれていないことをチェックする最速な方法って何だと思う?
その変数はマルチバイトが入る可能性があるんだ。
ちなみに PostgreSQL+phpで書くと
SELECT $str=replace('0123456789abcdefABCDEF',$str,'');
が多分一番早そうに思うんだ。phpのみでこんなことをする場合のゆとり用の関数あったかな?
0459nobodyさん
2012/04/19(木) 22:43:19.73ID:ETb6Xu93あ、ごめん。
SELECT translate($str,'0123456789abcdefABCDEF','')='';
だった。
0460nobodyさん
2012/04/19(木) 23:06:05.25ID:???0461458
2012/04/19(木) 23:14:43.44ID:ETb6Xu93ちなみに当方、アクセラレータいれてるんでインタープリタのオーバーヘッドは無視してください。
0462nobodyさん
2012/04/19(木) 23:19:05.98ID:???preg_match('^[0-9a-f]+$/i', $string);
しか考えられんが最速かどうかは知らん
0463458
2012/04/19(木) 23:24:13.65ID:ETb6Xu93可読性からいうと一番「美しい」予感ではありますな。
0464nobodyさん
2012/04/19(木) 23:26:19.39ID:???0466nobodyさん
2012/04/19(木) 23:49:48.56ID:???0467nobodyさん
2012/04/20(金) 17:08:54.51ID:???$str = "aaaa @bbbb"; // ← �@
$dummy = split("@",$str);
�@において @の左側の一見すると半角スペースの部分に
バイナリエディタで確認すると 1A の文字が入っている場合に
splitでは意図した分割が出来ません。
そもそも、この 1A ってなんなんでしょうか?
0468467
2012/04/20(金) 17:17:03.30ID:???UTF-8で定義した変数内文字列に
1A の物があったら除外を行う方向で対応したいのですが
どうすれば、
特定の文字コード(文字列じゃない)の文字を削除する事が出来ますか?
0469nobodyさん
2012/04/20(金) 20:46:40.71ID:???0470nobodyさん
2012/04/21(土) 10:05:36.60ID:xu2If+se文字と文字列の差を考えるとまぁ、そんな感じ。
>>458
最速かは分からんが、alpha numeric略してalnumというのを探してみると、なんやらにあったりする事がある。関数のオプションとか。
0471nobodyさん
2012/04/21(土) 11:40:29.46ID:???0472nobodyさん
2012/04/21(土) 15:03:20.40ID:???0473nobodyさん
2012/04/21(土) 17:13:26.37ID:IaLOn3+Iそこから調べてみたら ctype_xdigit
なんてのがあることが判った。サンクス。あとで比較してみるわ。
0474nobodyさん
2012/04/21(土) 17:21:59.60ID:???Eclipseで開発する場合に
ブレークポイントとかって使っていますか?
0475nobodyさん
2012/04/21(土) 18:09:15.50ID:???0476nobodyさん
2012/04/21(土) 18:13:09.64ID:???0477nobodyさん
2012/04/21(土) 18:16:03.67ID:???シンタックスエラーがあれば教えてくれたり・・ だからなぁ
PHP上級者だったら使い慣れたシンプルなエディタで十分やろな
0479458
2012/04/21(土) 19:00:51.73ID:IaLOn3+I検査データの質にもよるだろうけれど、とりあえず 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さん ありがとう。
0480458
2012/04/21(土) 19:09:07.83ID:IaLOn3+I要は使いどころなんじゃね?客先やちょっとしたものはviで書いちゃうとかあるし。
実をいうとうちも エディタで書いている。Java は Eclipse つかってんだけど、
エディタだけでも別に困らないし。本当は Eclipse 入れたほうがべんりなんだろうな。
0481nobodyさん
2012/04/22(日) 15:42:12.09ID:???今はPEARとかの糞長いクラス名を手打ちするとか考えられんわ・・・
メソッドチェーンもコード補完してくれるし重宝しているよ。
0482nobodyさん
2012/04/23(月) 21:14:44.80ID:???imagickのモジュールをインストールするには
どうしたらいいんですかね
0484nobodyさん
2012/04/25(水) 19:19:55.43ID:???OSに依存する問題だったか
0485nobodyさん
2012/04/29(日) 08:26:19.74ID:???が多い。それで回答者が逆質問をしたり
悪口を言ったりする。それを前もって思
い描く力が絶望的に欠如してるに違いない。
スーパーハッカーだけが意図を理解できる。
レアなそういう神が颯爽と登場する予感。
0487nobodyさん
2012/05/01(火) 04:09:05.90ID:k6EF6rma0488nobodyさん
2012/05/02(水) 06:56:20.99ID:???0489nobodyさん
2012/05/02(水) 07:23:25.00ID:???メソッチェを猿扱い
0490nobodyさん
2012/05/20(日) 10:47:45.35ID:???0491nobodyさん
2012/05/20(日) 11:23:41.27ID:???0492nobodyさん
2012/05/21(月) 09:50:23.70ID:???0493nobodyさん
2012/05/21(月) 09:55:50.44ID:???0494nobodyさん
2012/05/21(月) 16:20:20.84ID:???例外と try catch 使おうぜ。
0495nobodyさん
2012/05/24(木) 21:38:18.39ID:???何が原因なのでしょうか?
[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
0496nobodyさん
2012/05/24(木) 22:55:51.53ID:???test.phpの所有者やパーミッションを確認してみれ。
0497nobodyさん
2012/05/24(木) 23:05:26.87ID:???ありがとうございます。所有者を変更したらブラウザからアクセスできる様になりました。
0498nobodyさん
2012/05/25(金) 04:44:48.29ID:???0499nobodyさん
2012/06/01(金) 01:56:51.83ID:sOx9VKNN反則以外の何者でもない。
結局、PerlとJavaとC++しか出なかったわけだ。 PHPは昨今難易度あがりすぎだからな。
0500nobodyさん
2012/06/01(金) 05:38:12.83ID:???0501nobodyさん
2012/06/02(土) 12:53:19.24ID:???個人で持ちやすい庶民系レンタルサーバーってほとんどcgiだと思うけど
http://rental.off-soft.net/4166.html
これで鯖屋がモジュールにシフトしてくれるとありがたい。
0502nobodyさん
2012/06/02(土) 14:19:06.59ID:???0503nobodyさん
2012/06/02(土) 18:44:06.44ID:???ちゃんとバージョン上げてるやつには関係ない話。
0504nobodyさん
2012/06/02(土) 20:48:36.23ID:???相変わらずその場しのぎの突貫工事だからこんなことになるんだろ
0505nobodyさん
2012/06/03(日) 03:33:52.69ID:???0506nobodyさん
2012/06/09(土) 11:16:18.37ID:???0507nobodyさん
2012/06/09(土) 12:14:40.30ID:???「オレだけ?」って疑問が湧いたら、
まずケータイからでも同じか確認すればいい。
0508nobodyさん
2012/06/24(日) 03:01:37.60ID:???おれは506じゃないけど、ひとこと言わせて
なんでそんな面倒なことを要求するの?
あなたも確認してみればわかることじゃないの?
どうして自分は確かめるのをいやがるの?
0509uy
2012/06/24(日) 12:21:59.58ID:???0510nobodyさん
2012/06/25(月) 13:23:56.13ID:???0511uy
2012/06/25(月) 14:27:15.18ID:???0512nobodyさん
2012/09/15(土) 00:14:19.21ID:???0513nobodyさん
2012/09/16(日) 12:17:16.28ID:GVld0b1V> PHPがどうこうより、WEBの公開ディレクトリにフロントコントローラ以外もおいてる人って・・・
うちの会社が開発してるシステムには公開ディレクトリに、phpファイル全部置いてありますw
社長兼CTOにそれを指摘したら、
「htaccessでアクセスさせなければいいじゃん」
で終わり・・・。
糞CTOを論破するための、シンプル且つ論理的なセリフないですかね?w
0514nobodyさん
2012/09/16(日) 12:36:41.35ID:???プログラムの中から
一般ユーザーに降格させたいんですが
どうしたらよいでしょうか
0516nobodyさん
2012/09/16(日) 13:22:15.75ID:???おれもそう思うんだけど。
0517nobodyさん
2012/09/16(日) 13:59:18.89ID:???設定ミスで.htaccessが無効化されたり、
ずさんな運営でゴミファイル(xxxx.php.bk)が生成されたり、
色々と問題は起こる。
「公開ディレクトリに置く理由」が無い。
0518nobodyさん
2012/09/16(日) 16:56:42.21ID:???もちろんユーザーが望めば非公開のディレクトリに置くこともできるわけで、
ちょっと別の話だなこれは。
0519nobodyさん
2012/09/16(日) 19:59:06.29ID:???非公開にすべきファイル(ライブラリやコンフィグ)は好きなディレクトリに設置出来るようにしておくべき・・・
0520nobodyさん
2012/09/16(日) 20:04:20.73ID:???0521nobodyさん
2012/09/16(日) 23:15:38.26ID:???導入をし易いって意味ではPHPはベター。
0522nobodyさん
2012/09/17(月) 11:09:37.56ID:eA+HXvhq例えばcount.phpというのがあって
これはリファラをチェックして
同じリファラをカウントするコードなんだけど(要はランキングみたいなもん)
iframeやimgタグで<img src="http://hoge-hoge-hoge.com/count.php">とかやられたら
不正されるよね?これを上手く回避する方法ないかな?
0525nobodyさん
2012/09/17(月) 14:10:01.60ID:???レスありがと
けどそれだと相手サイトにimgタグ設置しておいて
普通に他人がアクセスした奴が時刻バラバラIPバラバラなら
全部カウントされてしまわない?
要するにAというサイトがあって
それにBサイトのcount.phpをimgタグで仕込ませておけば
Aサイトに検索で飛んで来た時刻・IPバラバラの
アクセスは全部imgタグを介してBのcount.phpとしてカウントされてしまうと思う。
0526nobodyさん
2012/09/17(月) 16:07:04.03ID:???あーなるほど
iframeだと実質的に違いはクライアントサイズしかないから、
JavaScriptを使ってブラウザ間の差異に気をつけつつ判断するしかないんじゃね。
0527nobodyさん
2012/09/17(月) 16:16:23.18ID:???どちらにせよcount.php側の処理を2重3重にしないと不正対策は難しい。
0528525
2012/09/17(月) 17:01:10.15ID:???簡潔な方法というとアクセスが送られてくるサイトを
定期的に調べるスクリプト動かすとかしか思い浮かばない…
不正やってるimgタグとかiframeとかがないかどうかチェックみたいな。
(こちらのカウント処理用PHP(count.php)が埋め込まれてないかどうかの)
ただ相手もそんな簡単にバレるようなことはしないから
こちらのリファラとかIPとか調べてサイト主がアクセスしてきた可能性が高い場合は
不正コードを生成しないとかされてたらこのチェックはかなり難しいなぁ。
なんか良い方法ないのかなぁ…
0529nobodyさん
2012/09/17(月) 17:39:57.95ID:???そこまで恐ろしい相手と戦うのかwww
確かにリファラをたどって相手のHTMLを取得してa以外の要素があれば弾くのはいいかもね。
こちらのIPだけに特別なHTMLを生成する懸念に対しては、相手のGoogleキャッシュを確認するとかでどう?
んでさらに心配ならJavaScriptによる表示サイズでフィルタするしかないのでは。
0530525
2012/09/17(月) 22:21:06.08ID:???なるほどなるほど。キャッシュを調べる手があるね。
とにかくこれは地道に色々やるしかなさそうだなぁ。
がんがってみますね。レスありがとうございました!
0531nobodyさん
2012/09/22(土) 17:29:52.90ID:TSKoYwz3for($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記述したら速いです。
わけが分かりません… だれか助けて〜
0532531
2012/09/22(土) 17:35:12.57ID:???for($i = 0; $i < 100; ++$i){
html .= '<a href="' . $url[$i] . '" target="_blank"><img src="img.png" width="100" height="100"></a>';
}
print html;
こうやったら解決しました!どうもお騒がせしました!
0533nobodyさん
2012/09/22(土) 17:35:19.05ID:???初心者スレにでも行けクズ
0534531
2012/09/22(土) 17:47:37.86ID:???0535531
2012/09/23(日) 14:23:48.23ID:???「PHPは糞言語」「消えろ」「速度を気にするやつがPHPなか使うな」
とか言われてまともな回答が来ませんでした…
だれか教えて下さい〜
0536nobodyさん
2012/09/23(日) 15:00:58.19ID:???繰り返すが俺らが答えるまでもない
少しは学習しろ
0538531
2012/09/23(日) 15:19:01.88ID:???そんなこと言わないでお願いしますよm(__)m
他のスレ言っても全然答えてくれないんです。
やっぱ何か改善可能な原因があるんですかね?
0539nobodyさん
2012/09/23(日) 15:34:23.36ID:???0540nobodyさん
2012/09/23(日) 18:24:03.40ID:???0541nobodyさん
2012/09/23(日) 18:46:09.69ID:???マジレスすると、質問者のレベルを考慮すると、回答がすごくめんどくさい。
ここは上級者同士が集まって高尚(笑)な話をしたいスレのはず。
0543nobodyさん
2012/09/24(月) 03:12:11.32ID:???0544nobodyさん
2012/10/02(火) 10:23:58.62ID:8AFfhzar0545nobodyさん
2012/10/02(火) 17:25:09.51ID:???てめーにコード組んでもらわなくても誰も困らないからさっさと失せろ
■ このスレッドは過去ログ倉庫に格納されています