PHP上級者が集まるスレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/01/14(日) 16:53:46ID:???我こそはPHPプロフェッショナルだという方の書き込みをお待ちしております。
0002nobodyさん
2007/01/14(日) 17:35:42ID:???だからこのスレッドは私のものだ……。
お前たちはここにくるべきではないのだ。
ところで、私は誰ですか?
0003nobodyさん
2007/01/14(日) 18:19:36ID:???0006nobodyさん
2007/01/15(月) 01:19:02ID:???{
00073
2007/01/15(月) 02:34:36ID:???メールサーバはxmailです。導入する前はWindows付属のSMTP使ってました。popも使いたいのでメールサーバとしてxmailを選択したのですがphp.iniのどこになんて記述したらいいのかわからなくて立ち往生してます。
0008nobodyさん
2007/01/15(月) 03:00:36ID:???糸冬 了
0009nobodyさん
2007/01/15(月) 10:22:41ID:???0010nobodyさん
2007/01/15(月) 19:11:07ID:???例)
・PHP使用歴10年以上
・PECLを自作できる
・PHPを使って月収100万円以上
0011nobodyさん
2007/01/15(月) 19:25:12ID:???0012nobodyさん
2007/01/15(月) 20:02:48ID:???1回の受験は3150円くらいがいいのではないでしょうか?
http://www.zend.co.jp/certification/
PHP開発技術者のスキル証明書
0014nobodyさん
2007/01/16(火) 02:49:37ID:3Q1Caun+http://1107.cc/?af3390521
ワンクリじゃないから安心せぃ
0015nobodyさん
2007/01/16(火) 03:01:09ID:???0016nobodyさん
2007/01/16(火) 04:02:53ID:???人月80万の開発なんて普通じゃね?
0017nobodyさん
2007/01/19(金) 02:52:59ID:ooNNw2caPOSTのほうがマシとかあるの?
0018nobodyさん
2007/01/19(金) 03:32:58ID:/UQbmip1受け取りに対策しとけば問題ないし、対策なしじゃどっちもアウト。
ブックマークを考慮するならGETのが良いし。
以上上級者スレの非常に高度なFAQでした。
0019nobodyさん
2007/01/19(金) 07:41:27ID:???0021nobodyさん
2007/01/20(土) 14:31:19ID:c+1RvCEz何回計ってもstr_replaceの方が倍以上速い
0023nobodyさん
2007/01/25(木) 12:45:50ID:HfWXyheO|
|----[image]---index.php
|
|----index.php
たとえばこんなディレクトリ構成が存在するとします。
imageディレクトリのindex.phpにアクセスするとルート元の
index.phpに飛ぶように処理したいのですが、
imageディレクトリ内のindex.phpに次の記述をしました。
header("Location: http://www.example.com/");
このheader関数内の書かれたURLをサーバによって書き換えないと
いけないので、この面倒をなくすために自動で取得したいのですが
なにかヒントをお願いいたします。
0024nobodyさん
2007/01/25(木) 12:47:31ID:???0027nobodyさん
2007/01/25(木) 20:22:37ID:???0030nobodyさん
2007/01/25(木) 23:18:33ID:???0031nobodyさん
2007/01/25(木) 23:33:46ID:???0034nobodyさん
2007/01/28(日) 08:38:55ID:???0036nobodyさん
2007/02/24(土) 20:36:33ID:???2、その後、ログインする機能をつけたいと思っています
1でフォームを通じてデータベースに登録するところまではできました
2ではどうしたらいいのでしょうか
ログインするページで、データベースから登録された全てのIDパスを読んで、フォームに入れられた情報が合致するかどうかをチェックしているのでしょうか?
0039nobodyさん
2007/04/16(月) 13:23:17ID:FLqOV9yP0040nobodyさん
2008/09/08(月) 06:58:47ID:YApPrX0L0042nobodyさん
2008/09/10(水) 18:48:33ID:???0043nobodyさん
2008/09/13(土) 16:19:57ID:???プログラミング全般に関しては上級者ではないということですか?
0044nobodyさん
2008/09/13(土) 17:56:13ID:???PHPで
print "Hello!World";
はすぐ書けるくせにPerlになると書けない奴。
0045nobodyさん
2008/09/13(土) 18:04:20ID:???0046nobodyさん
2008/10/04(土) 11:48:16ID:???0047nobodyさん
2008/10/05(日) 22:54:10ID:???0048nobodyさん
2008/10/06(月) 20:49:12ID:???結局Hello Worldが書ければPHP上級者になるのか。
0049nobodyさん
2008/10/08(水) 12:20:09ID:???0050nobodyさん
2008/10/09(木) 18:07:47ID:???文字列を50音順で並び替えたいのですが、
どうしたらよいでしょうか?
やはり一文字ずつ配列で確認した方がいいですか?
0053nobodyさん
2008/10/10(金) 09:40:02ID:???0054nobodyさん
2008/10/31(金) 19:40:09ID:Eo+dqOlVcount()に渡したときのカウント数について教えて頂けないでしょうか。
カウント数がどうにも解せないのです。
↓これを実行すると、なぜか結果として4が表示されてしまいます。
$s = "aaa111aaa222\naaa111aaa222\naaa111aaa222\naaa111aaa222";
preg_match_all('/(.+111)(.+222)/', $s, $match);
echo count($match[0], COUNT_RECURSIVE);
では、preg_match_all()が返す多元配列と同等の多元配列を作って、
それをcount()に渡してみます。
↓この結果は3になる。この結果は正しい。
$match = array(
array(0, 1, 2),
array(0, 1, 2),
array(0, 1, 2),
array(0, 1, 2)
);
echo count($match[0], COUNT_RECURSIVE);
preg_match_all()の返す多元配列は特殊なものなのでしょうか?
(うーん、そんな馬鹿な・・・)
0055nobodyさん
2008/10/31(金) 20:45:48ID:???まずなぜ$match[0]をvar_dumpしてみようと思わないのかな
↓結果
array(4) {
[0]=>
string(12) "aaa111aaa222"
[1]=>
string(12) "aaa111aaa222"
[2]=>
string(12) "aaa111aaa222"
[3]=>
string(12) "aaa111aaa222"
}
0056nobodyさん
2008/10/31(金) 23:58:11ID:???phpからJavaのJNIみたいに直接libiconv.soを呼び出せないかと思ったのですが
出来ますか?
0057nobodyさん
2008/11/01(土) 00:08:17ID:???0058nobodyさん
2008/11/01(土) 00:20:57ID:???0059nobodyさん
2008/11/01(土) 00:23:11ID:???0060nobodyさん
2008/11/01(土) 07:37:24ID:/2wL5ARzpreg_match_all()の結果と同じ配列を作るには
$match[0]=array("全体1","全体2","全体3");
$match[1]=array("部分1","部分2","部分3");
$match[2]=array("部分A","部分B","部分C");
と、しないといけなかったんですね・・・。
ありがとうございます。なぞが解けました。
多元配列を正しく理解していませんでした。
006260
2008/11/01(土) 17:51:55ID:/2wL5ARzすいません。どういう意味なのでしょうか?
0063nobodyさん
2008/11/01(土) 18:09:48ID:???61じゃないけど>>60のほうが意味わからない。
何を想定してどんなふうに想定外だったのかということがはっきりしないな。
006460
2008/11/01(土) 18:17:53ID:/2wL5ARz要するに、preg_match_all()でマッチしたときに返される多元配列と
同じ形の多元配列を自分で作るにはどうしたらいいのか?
ということがわからなかったです。
0065nobodyさん
2008/11/01(土) 18:22:04ID:???0066nobodyさん
2008/11/01(土) 18:44:31ID:???array(4) {
[0]=>
string(12) "aaa111aaa222"
[1]=>
string(12) "aaa111aaa222"
[2]=>
string(12) "aaa111aaa222"
[3]=>
string(12) "aaa111aaa222"
}
のcountは4になって当然。
なのに3になると思ってたのはなぜ?
要点だけ言われても余計分からないから全部言ってくれ。
いや解決したんならもういいんだけど、単なる雑談として。
006760
2008/11/01(土) 19:36:22ID:/2wL5ARz//�@///////////////////////
$s = "aaa111aaa222\naaa111aaa222\naaa111aaa222\naaa111aaa222";
preg_match_all('/(.+111)(.+222)/', $s, $match);
echo count($match[0], COUNT_RECURSIVE).'<br>';
//�A///////////////////////
$match[0]=array("aaa111aaa222", "aaa111", "aaa222");
$match[1]=array("aaa111aaa222", "aaa111", "aaa222");
$match[2]=array("aaa111aaa222", "aaa111", "aaa222");
$match[3]=array("aaa111aaa222", "aaa111", "aaa222");
echo count($match[0], COUNT_RECURSIVE).'<br>';
//�B///////////////////////
$match = array(
array("aaa111aaa222", "aaa111", "aaa222"),
array("aaa111aaa222", "aaa111", "aaa222"),
array("aaa111aaa222", "aaa111", "aaa222"),
array("aaa111aaa222", "aaa111", "aaa222"));
echo count($match[0], COUNT_RECURSIVE).'<br>';
006860
2008/11/01(土) 19:37:04ID:/2wL5ARzたびたびすいません。
まだ解決していませんでした。
�@は4が出力されます。
�Aは3が出力されます。
�Bは3が出力されます。
私は�@�A�Bはすべて、3が出力されるのが正しいと思っていました。
なぜなら$match[0]に入っている配列要素は3つなので。
>>65さん
�Bのケースと同じでしょうか?
これだと�@と同じ結果にはなりませんでした。
申し訳ありませんが、もう少し具体的にお願いできないでしょうか?
0069nobodyさん
2008/11/01(土) 20:19:34ID:???いや66で書いたのと同じことを繰り返すことになるけど
�@の$match[0]に入っているのは
array(4) {
[0]=>
string(12) "aaa111aaa222"
[1]=>
string(12) "aaa111aaa222"
[2]=>
string(12) "aaa111aaa222"
[3]=>
string(12) "aaa111aaa222"
}
だろ?なんでそれが3になると?
正規表現を誤解しているのか、count関数の挙動を誤解しているのか、さっぱり分からん。
0070nobodyさん
2008/11/01(土) 20:23:04ID:???0071nobodyさん
2008/11/03(月) 02:12:33ID:???無名関数とかラムダ関数とかクロージャとか静的遅延束縛とか、
理解できないです
そういったキーワードを検索して楽しそうに書いてたり、
愚痴ったりしてるブログを見ると、理解できない自分が寂しいです
情報系の大学に行った方がいいんでしょうか
独学は無理っぽいです
0072nobodyさん
2008/11/03(月) 02:23:37ID:???0073nobodyさん
2008/11/03(月) 22:29:26ID:???PHPは手っ取り早くWebアプリを開発するためのツールという側面が強いから、
そこらへんのことを学びたいなら他の言語で勉強した方がいいと思う。
PHPは最初は取っつきやすいけど、プログラミングの本質を学ぼうとするとすぐに壁に突き当たる。
最近の言語ではPythonが学習に向いていると思うけど、なにしろ日本語の情報が少ないしな。
0075nobodyさん
2008/11/07(金) 20:58:40ID:???Eclipse+phppluginは微妙に使いづらそうな印象を受けるし
sjisじゃないと文字化けするとか不穏な情報もある(古いが)
phpエディタはよさそうな印象だが使ってはいない
経験者情報plz
0076nobodyさん
2008/11/07(金) 21:00:43ID:???0077nobodyさん
2008/11/07(金) 21:41:19ID:???0078nobodyさん
2008/11/08(土) 00:26:17ID:???0079nobodyさん
2008/12/14(日) 00:39:45ID:???生産性という面で言うとやはりASP.netの方が高いのでしょうか?
0080nobodyさん
2008/12/14(日) 01:12:48ID:???0081nobodyさん
2008/12/14(日) 02:15:12ID:???0082nobodyさん
2008/12/14(日) 09:59:12ID:???あんた方本気で言ってるの?
ASP.netだと画面のデザインなんてマウスのドラッグで簡単に出来るよ。
であとはサーバ側の処理を記述するだけで完了する。
どう考えてもASP.netの方が生産性が高い、としか思えないのですが。
もっともASP.netの場合にはライセンス料とかの兼ね合いもあって
同じスペックのレンタルサーバを借りたとしても高いけどね。
0083nobodyさん
2008/12/14(日) 11:54:39ID:???0084nobodyさん
2008/12/14(日) 13:25:18ID:vrT8sAojformからアップロードしたzipファイルを解凍するスクリプト書いてるんですが、
解凍する前にzipファイルの破損をチェックするのってどうやったらできますか?
0085nobodyさん
2008/12/14(日) 14:07:31ID:???0087nobodyさん
2008/12/14(日) 14:32:36ID:???一概にいえないだろ。
PHPでもView部分はWebオーサリングソフト使ってテンプレートエンジンかませば同様に
GUIで画面のデザインできるし、だいたいView部分だけを根拠に「どう考えても」は飛躍しすぎ。
0089nobodyさん
2008/12/25(木) 06:13:30ID:???(PHP 5.2.3 + PostgreSQL 8.3.1です)
(1)書き込み(insert)時は、bindParamの第3引数にPARAM_LOBを指定して
正常に書き込める。
ex. $sth->bindParam(":data", $data, PDO::PARAM_LOB);
(2)読み出し(select)時は、bindColumnの第3引数にPARAM_LOBを指定すると
バイナリデータの読み出しが正常にできない(サイズが異なる)
ex. $sth->bindColumn(":data", $data, PDO::PARAM_LOB);
(2)でPDO::PARAM_LOBの代わりにPDO::PARAM_STRを指定すると正しく読み出せます。
これはPDOの不具合なんでしょうか?
それとも、これが仕様なのでしょうか?
0091nobodyさん
2009/01/08(木) 05:23:45ID:???PEAR::HTTP_Requestでは未サポートであることがわかりました。
PHPからwgetを起動する方法も考えましたが、シンプルな方法とは
いえないので、PHPだけで実現したいです。
良い方法をご存知の方、教えてください。
0092nobodyさん
2009/03/03(火) 01:30:53ID:hdsn1ZlDちょっと遅いレスだけどflags引数使え
PREG_PATTERN_ORDER
$matches[0] はパターン全体にマッチした文字列の配列、
$matches[1] は第 1 のキャプチャ用サブパターンにマッチした文字列の配列、
といった順番となります。
$match=array(
array('aaa111aaa222','aaa111aaa222','aaa111aaa222','aaa111aaa222',),
array('aaa111','aaa111','aaa111','aaa111',),
array('aaa222','aaa222','aaa222','aaa222',),
);
PREG_SET_ORDER
$matches[0]は 1 回目のマッチングでキャプチャした値の配列、
$matches[1]は 2 回目のマッチングでキャプチャした値の配列、
といった順序となります。
$match=array(
array('aaa111aaa222','aaa111','aaa222'),
array('aaa111aaa222','aaa111','aaa222'),
array('aaa111aaa222','aaa111','aaa222'),
array('aaa111aaa222','aaa111','aaa222'),
);
どっちかっていうとSET_ORDERの方が○行目の\1,\2みたいな感じで俺は好きだ
0093nobodyさん
2009/03/28(土) 02:06:29ID:???PHPのデバッグ実行を行おうとしているのですが、PHPスクリプト内に設定した
ブレークポイントで止りません。
一体どうすればブレークポイントを止める事が出来ますか?
【ブレークポイント上のエラー】
・ブレークポイントは、現在の設定ではヒットしません。
Unbound break point
【IEの設定】
次のチェックを外しています。
・スクリプトのデバッグを使用しない(Internet Explorer)
・スクリプトのデバッグを使用しない(その他)
【php.iniの設定】
[DBG]
debugger.enabled = true
debugger.profiler_enabled = true
debugger.JIT_host = 127.0.0.1
debugger.JIT_port = 7869
debugger.enable_session_cookie = true
extension=php_dbg.dll
;;;;;;;;;;;;;;;;;;;
; Module Settings ;
;;;;;;;;;;;;;;;;;;;
0095nobodyさん
2009/06/17(水) 22:51:20ID:???0096nobodyさん
2009/11/30(月) 18:40:16ID:???0097nobodyさん
2009/12/01(火) 22:13:32ID:???0098nobodyさん
2010/01/01(金) 22:37:35ID:???0099nobodyさん
2010/01/02(土) 00:26:34ID:???0100nobodyさん
2010/01/04(月) 03:31:33ID:???0103nobodyさん
2010/01/14(木) 19:40:22ID:???0104nobodyさん
2010/03/11(木) 17:14:56ID:???0105nobodyさん
2010/03/27(土) 19:43:37ID:???0106nobodyさん
2010/04/11(日) 19:33:45ID:???ここで聞いたほうがいい。
http://pc11.2ch.net/test/read.so/php/1172205352/
0107nobodyさん
2010/06/12(土) 00:33:14ID:RYMW4bMX0108nobodyさん
2010/06/12(土) 03:36:45ID:???上級者じゃないけど
0109nobodyさん
2010/06/12(土) 06:41:28ID:???PEARとか使うだけでもある意味オブジェクト指向だしな
0110nobodyさん
2010/06/12(土) 09:20:35ID:???PHP5以上なら常に使えよ。
0111nobodyさん
2010/06/12(土) 23:27:14ID:???0112nobodyさん
2010/06/13(日) 04:09:02ID:???<?php
$makehw=new makehw();
$echohw=$makehw->echo_helloworld("hello world!");
echo $echohw;
exit;
class makehw {
function __construct() {
$this->str="hello world!";
return $str;
}
function echo_helloworld($indata) {
echo $this->str;
return '';
}
}
0113nobodyさん
2010/06/13(日) 12:42:32ID:???0115nobodyさん
2010/06/13(日) 14:35:11ID:???0117nobodyさん
2010/06/13(日) 17:17:49ID:???初心者が上級者のふりして書き込む厨房専用スレ?
0118nobodyさん
2010/06/15(火) 09:30:26ID:???0119nobodyさん
2010/06/18(金) 16:40:47ID:???http://livedoor.2.blogimg.jp/agomesu/imgs/4/f/4faec292.png
ばらまこうぜ!
0120nobodyさん
2010/06/21(月) 14:15:37ID:CBlb9XeO0121nobodyさん
2010/06/22(火) 02:37:39ID:???0123nobodyさん
2010/06/22(火) 20:31:27ID:???2chのクローンなんてblogサンプルがそこらじゅうに出回ってるし、
簡単に作れる。寧ろそのサンプルの方が2chより高機能だろ。
0124nobodyさん
2010/06/25(金) 21:53:45ID:???0125nobodyさん
2010/06/26(土) 21:56:49ID:nh7WDbu8いや、んなこと聞いてない・・・・
0126nobodyさん
2010/06/27(日) 15:28:48ID:???0127nobodyさん
2010/06/27(日) 17:00:45ID:???0128nobodyさん
2010/06/28(月) 12:18:08ID:???0129nobodyさん
2010/06/28(月) 13:25:54ID:WPgH34jWそれぞれをグラフのy軸の最大値、最小値としていましたが、それだと配列内の
最大値、最小値のスケールでしかグラフが生成できません。
なので、ある程度範囲を持たせる為に
例えば最大値が1001の場合
1、配列中の最大値の桁数を取得して(=4)
2、桁数の頭に1をつけて(1000)
3、2、の桁数を整数で切り上げ除算して(2)
4、最後に3、に2、の桁数を乗算した(2000)
をy軸の最大値にしたいと思います。
2の部分が不明瞭で皆さんのお知恵をお借りしたく思います。
よろしくお願いします
0130nobodyさん
2010/06/28(月) 15:39:09ID:PXXo1bnrグラフ最大値 = 最大値 + グラフの余白値
グラフ最小値 = 最小値 - グラフの余白値
これぐらいでいんでねーの
グラフ最小値がマイナスになったらゼロにすればいいでしょう
0132nobodyさん
2010/06/28(月) 20:00:36ID:???0134nobodyさん
2010/06/28(月) 20:13:47ID:???0136nobodyさん
2010/06/30(水) 11:55:48ID:???明るいoptional
みんな家中なんでもoptional
0137nobodyさん
2010/07/07(水) 01:15:08ID:???一発で雑魚だと分かるね。
protectedの意味を知らないらしいw
0138nobodyさん
2010/07/07(水) 04:26:58ID:???0139nobodyさん
2010/07/07(水) 08:01:03ID:???PHPでは使わないなぁ。
public と private しか使わない。
PHPごときで何を粋がっているんだか。
0143nobodyさん
2010/07/07(水) 23:02:03ID:???今は、ASP.netだよ。タコ。
0144nobodyさん
2010/07/07(水) 23:45:24ID:???ま、言語でどうこう言ってるようなのは程度が知れてる。
0145nobodyさん
2010/07/07(水) 23:50:32ID:???言語覚え立ての素人っぽくて恥ずかしい。
0146nobodyさん
2010/07/08(木) 13:31:46ID:???この人のプログラム酷い
0148nobodyさん
2010/07/09(金) 01:09:23ID:???http://hoge_domain/test/ でアクセス出来る様にしたいのですが、
mode_rewrite でどういう設定をすれば良いのでしょうか?
0149nobodyさん
2010/07/09(金) 01:12:33ID:???<?php
print "protected";
?>
0150nobodyさん
2010/07/09(金) 01:40:03ID:???protectedの使い方が分からないのは雑魚の証
0151nobodyさん
2010/07/09(金) 02:05:35ID:???0152nobodyさん
2010/07/09(金) 06:34:20ID:???private以上の権限が必要ならprotectedにしてやらんこともないが、
それが美しいとは思えないね。
で、何でprotected如きで上級者判定してんのw?
0153nobodyさん
2010/07/09(金) 06:56:15ID:???0156nobodyさん
2010/07/10(土) 02:37:53ID:???TemplateMethodを適用する時か、
Decoratorを適用した基底クラスを作る際の移譲先を保持する時ぐらいだな。
>>155
ライブラリの外に公開するValue Objectの場合、getter/setter型にしておいた方が仕様変更に追随しやすくできるよ。
0157名無しさん@そうだ選挙に行こう
2010/07/10(土) 10:15:04ID:???ってBASICerが言ってました
0158名無しさん@そうだ選挙に行こう
2010/07/10(土) 11:40:57ID:???global変数はクラス内に定義する事は出来ないのがphpの仕様なのでしょうか?
//文法エラーが発生
class TestClass
{
global $test1;
static public function TestFunction( )
{
echo "test";
}
}
//OK
class TestClass
{
static public function TestFunction( )
{
global $test1;
echo "test";
}
}
0159名無しさん@そうだ選挙に行こう
2010/07/10(土) 11:59:11ID:???クラスの定義にglobalを記述したい理由が分からん。
staticじゃだめなの?
0160名無しさん@そうだ選挙に行こう
2010/07/10(土) 12:03:10ID:???<?php
<html>
<head></head>
<body>
<!-- -->
</body>
</html>
0161名無しさん@そうだ選挙に行こう
2010/07/10(土) 12:10:34ID:???途中で誤爆してしまいました。すみません。
用は以下の用な事をしたいのです。
<< やりたいコード �@ >>
<?php
//POSTデータを取得しグローバル変数へ格納
$test1 = $_POST["name_mei"];
?>
<html><head></head><body>
<?php
TestClass::TestFunctionA();
TestClass::TestFunctionB();
?>
</body></html>
<!--
以下にPHPのコードが続きます。
※改行が多過ぎますエラー回避の為
-->
0162名無しさん@そうだ選挙に行こう
2010/07/10(土) 12:27:26ID:???※>>161の続きです。
<?php
class TestClass
{
global $test1;
static public function TestFunctionA( )
{
$w = $test1;
$w .= "さん";
echo $w;
}
static public function TestFunctionB( )
{
$w = $test1;
$w .= "ちゃん";
echo $w;
}
}
?>
0163名無しさん@そうだ選挙に行こう
2010/07/10(土) 13:45:50ID:???0164名無しさん@そうだ選挙に行こう
2010/07/10(土) 21:45:48ID:???0165nobodyさん
2010/07/12(月) 04:23:32ID:???TestClass::$test1 = $_POST["name_mei"];
staticでなく、globalを使う理由は?
どちらにせよ上級者はやらん設計だと思うがw
0166nobodyさん
2010/07/13(火) 21:18:11ID:gdo55WeBこの関数に文字列を2回通した場合、アンパサンドが二重に変換されてしまいます。
<→&lt;→&amp;lt; のようにです。
Ver5.2.3からは、第四引数「double_encode」が追加されたので、
これを防止する事ができると思いますが、
それ以前のバージョンの場合に回避方法はありませんでしょうか?
0167nobodyさん
2010/07/13(火) 22:10:27ID:???0168nobodyさん
2010/07/14(水) 00:13:58ID:???一度デコードするか、自作関数作ればいいんじゃない?
上級者を自負するなら、そもそも2回通すロジックを見直すべきだとは思うが・・・・・・
0169nobodyさん
2010/07/14(水) 05:54:21ID:???はげどう
0170166
2010/07/14(水) 07:24:12ID:???レスありがとうございます。
上級の方がいそうなスレなのでお尋ねしました。
仰るとおり、2回通すロジックが問題ですが、
誤って2回通してしまうような場合も想定して、他にも方法がないか模索していました。
また、WAFのようなものでサニタイズされた場合、
ソースを修正しなければ、やはり二重に処理されてしまいますので、やはり何か手が打ちたかったのです。
ちなみに、1度デコード(あるいは&だけデコード)する方法も考えましたが、
ttp://www.asp-edita.jp/doda/one/doda5728_17.html
辺りや、リンクされている記事を読んで結局はコチラで質問した次第です。
0171nobodyさん
2010/07/14(水) 13:23:56ID:???「HTML内に出力するときはエスケープしなきゃダメでしょ><!」
って関数なので、htmlとして出力する時にしか使わない。
てことはまったく使わないか、使うとしても1回。
(他作WAFだろうが自作PHPだろうが)「誤って」2回通すとすれば、
それは局所的なバグとかじゃなくて、思想・理解的な間違いだと思われる。
今後の似たようなバグの根絶のためにも、思想の見直しを。
そうは言っても…って話も、まあ、あるんだろうけど(笑)
0172nobodyさん
2010/07/14(水) 15:34:35ID:uN19CneF0173166
2010/07/14(水) 20:41:25ID:???皆さん、レスありがとうございました。
自動的にhtmlspecialcharsと同様にサニタイズするWAFが有る・無しにかかわらず、
同じソースコードを使いたかったのです(--;
「関数を2回通す」というのは悪い例えでした、すみません。
0174nobodyさん
2010/07/15(木) 00:12:50ID:???どうすれば良いですか?
<U>文字の下線</U>
こんな感じのタグをhtmlに入れても
docomoからは下線が表示されません。
0177nobodyさん
2010/07/15(木) 01:14:17ID:???http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1213056147
ちったー調べたら?
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
<u>アンダーライン引かれる?</u>
hrは?<br />
<hr />
</body>
</html>
ちなみに i モードHTMLシミュレータII で見た引かれてたよ
ktaystyleとか使ってるなら出力みよーよ
0178nobodyさん
2010/07/15(木) 05:22:22ID:???0179nobodyさん
2010/07/20(火) 18:13:27ID:???として通常は動作させるのを
http://test/test1/
として同じ挙動をさせるにはどうすれば良いでしょうか?
0180nobodyさん
2010/07/20(火) 21:09:14ID:???0183nobodyさん
2010/07/23(金) 11:36:54ID:AgQn7g4l上級者なら出来るって聞いたものでここで質問させていただいてます。
0184nobodyさん
2010/07/23(金) 15:31:24ID:???0185nobodyさん
2010/07/24(土) 13:56:23ID:C0x7DFuy0186nobodyさん
2010/07/24(土) 19:46:46ID:???0187nobodyさん
2010/07/24(土) 20:14:35ID:???0189PHP@最強戦士
2010/07/26(月) 16:55:45ID:x+pw7EjcPHPつかっててきずいたんですが PHPのコミュって
珍言ばっかりほざいてる人たちがいてとても素晴らしいと思いますよ
年齢層が低くて 頭の低レベルな人たちと交流できるので素晴らしいです
ustreamでPHPユーザのクソ発言をみると喜んじゃいます!!おお
それとPHPが無いと死にそうです PHPはド素人でもできるので
html=PHPですよね
PHPの良さはPHPがわかればhtmlとCSSがわかるってところですよね
脆弱性が多いところもいいんですよ
ワタシはPHP 20年つかってるんですが 最高なのでやめれませーーーーーーーーーーーん!!!!!!!!!!
趣味はPHPユーザーの珍言、クソブログを見る事です^^
Perlやってる人ってバカですよね
この前Perlやってる人に話かけられました
Perlユーザー「君、Unixとかしってるかい?PHPみたいなくそ言語やってておもしろい?」
ワタシ「unixとか時代遅れですね そんなの知りません! いまどきPHPですよ! perlとか本当時代遅れですね!! 何年前の人ですか?」
Perlユーザー「あんたなめてんの?」
ワタシ「キャーこわい! PHPをばかにしないでください! PHPがあればwebアプリつくれるんですよ?」
Perlユーザー「ねえ ターミナルひらいて sudo rm -rf / ってうって」
ワタシ「怖いわ!ははい! やめてください 開きました うちました」
Perlユーザー「そのまま放置しといて」
ワタシ「なんかパソコン起動しなくなっちゃいました〜泣」
0190nobodyさん
2010/07/26(月) 17:11:53ID:???まで読んだ。
0191nobodyさん
2010/07/26(月) 17:22:08ID:x+pw7EjcてめえはPHPユーザーだろ?
はやく氏ねよwwwwwwてめえみたいなPHPユーザーが消えれば平和になる
0192nobodyさん
2010/07/26(月) 17:25:32ID:???まで読んだ。
0193nobodyさん
2010/07/26(月) 17:45:49ID:???まで読んだ
0194PHP=クソ(笑)
2010/07/26(月) 23:34:55ID:z/NbSmjH0195nobodyさん
2010/07/27(火) 00:42:12ID:???「ウンコ!このウンコ!・・・おまえはウンコ(笑)・・・ウンコ(笑笑笑)」
と一人叫んでいる >>194 さんを想像したら心がほっこりした
その余裕が顔に出たのか、モテキ到来で彼女が出来ました。
本当にありがとうございました。
0196名無しさん@お腹いっぱい。
2010/07/27(火) 07:38:03ID:Q+p+NFYSバカじゃん?それがどうかしたの?いちいち報告しなくていいよなあ?
御前等みたいなゴミは仲良しグループで仕事してんだろこら?
なあ?てめえみたいなゴミは死ねよ今すぐ死ねよ
まじしねよ!!!!!!コネコネしてんじゃねえよ死んでほしい
てめえブログとかに沢山言語自慢してそうなやつだな かっこつけてhaskellとか
沢山言語やってそうな御前は八方美人なんだろうな うぜえんだごみ まじきえろ
0197nobodyさん
2010/07/27(火) 09:46:44ID:???0198nobodyさん
2010/07/27(火) 11:11:26ID:???0200nobodyさん
2010/07/29(木) 10:30:15ID:???0201nobodyさん
2010/07/29(木) 22:02:33ID:???A.html内の実行ボタンがクリックされたら、
GETパラメータに入力値(文字列)をエンコーディングした上で
連結しA.html内に定義した<iframe>のsrcにurlを
JavaScriptで動的に作成(指定)する事により、
B.php画面の処理結果をA.html内に定義した<iframe>内に描画
したいと思っています。
しかし、srcにはURLエンコードを正常に行い指定しているにも関わらず、
入力値に「#」が入っていると「#」以降の文字列が失われてしまいます。
一体なぜでしょうか?
■A.html
[名前] あいうえお#かきくけこ
[実行(ボタン)]
※JavaScriptにより内部的に生成されるURL
http://test_site/B.php&name=あいうお#かきくけこ
■B.php
//名前
$name = $_GET["name"];
→ここで $name には、 あいうえお しか入らないです。
本当は、 あいうえお#かきくけこ まで取得したいのですが。
宜しくお願い致します。
0204nobodyさん
2010/07/30(金) 01:56:11ID:???0207nobodyさん
2010/08/31(火) 00:19:19ID:???大きいサイズだとけっこう時間がかかります。
アップロード状況をプログレスバー等でリアルタイムに視覚化するには
どのような処理をすればよいのでしょうか?
0208nobodyさん
2010/08/31(火) 01:55:16ID:???0209nobodyさん
2010/08/31(火) 15:41:41ID:???0210nobodyさん
2010/08/31(火) 15:45:18ID:???0211nobodyさん
2010/09/09(木) 19:31:47ID:???JavaScriptやIframeなどのタグがあったらNGにするには
どのように処理されてますか?
単純な文字列検索だけだと、逃げ道がいろいろありますよね。。。
0212nobodyさん
2010/09/09(木) 22:07:14ID:???抜けられて困る事もあまり無いし
スパムだったら都度フィルタ調整するしか無いだろうし
許可タグはホワイトリストだべ。
0213nobodyさん
2010/09/10(金) 20:05:06ID:???こんなんでいいの?
if (preg_match("/<script/i", $body)) {
return false;
}
0214nobodyさん
2010/09/13(月) 01:34:52ID:???投稿本文にタグの閉じ忘れがあったらレイアウト崩れますよね。
プロのみなさんは、どうやって対応されていますか?
0215nobodyさん
2010/09/13(月) 01:47:00ID:???2. やむなく作るなら、閉じ忘れを警告し、閉じないと投稿できないようにする。
0216nobodyさん
2010/09/13(月) 20:08:57ID:???閉じ忘れの検出はどのように実装しますか?
0218nobodyさん
2010/09/14(火) 02:39:32ID:???送信ボタンを押したときか、テキストエリアからフォーカスが外れるタイミングで。
正規表現で<tagと</tagをペアで数えていけばいいんじゃね?
自分なら厳密にやるよりはソースがシンプルなほうを選んで実装するな。
「親切で指摘してあげるんですよ^^^」的な上から目線を根拠に。
0219nobodyさん
2010/09/14(火) 13:43:42ID:LyPWJsrC0220nobodyさん
2010/09/14(火) 14:00:50ID:???それとも<br>が100個書かれたときのレイアウト崩れまで考慮すんの?
それやるとキリがないからやりたくないな…。
0222nobodyさん
2010/09/15(水) 12:55:31ID:???0224nobodyさん
2010/09/16(木) 10:29:22ID:???0225nobodyさん
2010/09/17(金) 13:09:32ID:???0226nobodyさん
2010/09/17(金) 13:41:52ID:???0227nobodyさん
2010/09/17(金) 13:45:23ID:???http://hibari.2ch.net/test/read.cgi/php/1279833891/
0228nobodyさん
2010/09/22(水) 17:57:31ID:???0229nobodyさん
2010/09/22(水) 19:00:53ID:???当然携帯電話の場合には、JavaScriptが使えないので Location等を使う事になると思うのですが、
携帯キャリアを問わず正常にページ遷移させる事が出切るのか不安です。
0230nobodyさん
2010/09/22(水) 19:07:17ID:???0231nobodyさん
2010/09/22(水) 19:08:05ID:???header("Location: うんたら")
0232nobodyさん
2010/09/22(水) 21:00:14ID:???0233nobodyさん
2010/09/27(月) 00:08:18ID:???protectedを一切使わない奴はすべからく雑魚PGである。
0234nobodyさん
2010/09/27(月) 00:52:33ID:???0235nobodyさん
2010/09/27(月) 17:58:35ID:???使うヤツが雑魚
0236nobodyさん
2010/09/30(木) 19:41:34ID:???0237nobodyさん
2010/09/30(木) 20:34:11ID:???組み込み系では使うがPHPで使う機会ってほとんどないけどな
0239nobodyさん
2010/10/01(金) 01:02:57ID:???・成功した場合は配列を返す
・エラーの場合は1〜nのエラーコード返す
・第1引数&$errを渡した場合はエラーが代入される。
・第2引数&$msgを渡した場合はメッセージが代入される。
●まともな関数/メソッド
・戻り値は配列
・エラー時は XxxException が throw される
0240nobodyさん
2010/10/02(土) 19:57:41ID:???try(func())catch(XxxException $e){die();}より
if(func()===false){die();}のがてっとりばやいし
特に複数種類Exception出すと面倒だし
参照渡しは絶対に使わないけどな
0241nobodyさん
2010/10/02(土) 20:45:24ID:???9割はカッスカス
0242nobodyさん
2010/10/02(土) 23:39:41ID:???0243nobodyさん
2010/10/02(土) 23:53:20ID:???俺は少なくとも上級者に入ってるので一人は先ずありえない。
0244nobodyさん
2010/10/03(日) 00:06:59ID:???0245nobodyさん
2010/10/06(水) 07:23:47ID:???どんなコード書いてるんだろ
0246nobodyさん
2010/10/09(土) 04:01:25ID:???0247nobodyさん
2010/10/09(土) 18:35:21ID:???という疑問。
0248nobodyさん
2010/10/10(日) 00:59:01ID:???Googleで特定サイトの(画面上から入力されたURL)ページランクを
調べるにはどうすれば良いでしょうか?
GoogleのAPIをコールするのかな?
0249nobodyさん
2010/10/10(日) 01:25:50ID:???ttp://hm2k.googlecode.com/svn/trunk/code/php/scripts/pagerank.php
ttp://www.hm2k.com/projects/pagerank
GoogleにGETでアクセスしてるっぽい。
ソース直張。
0252nobodyさん
2010/10/11(月) 15:44:05ID:???Googleで特定のキーワードが何回検索されたかを調べる方法ってありますか?
出来れば、特定の日に何回検索されたかです。
例) 赤い一輪車 というキーワードが 10月10日(日) に15回 といった具合です。
0254nobodyさん
2010/10/11(月) 15:54:31ID:???つまりある程度検索上位ワードでないと
無理という事でしょうか?
Google Trends で適当にキーワードを入力して
検索したところ、
検索ボリュームが不足しているため「寄与等」のグラフを生成できません。
というエラーメッセージが表示されてしまいました。
0255nobodyさん
2010/10/11(月) 16:12:45ID:???0256nobodyさん
2010/10/11(月) 16:20:05ID:???0257nobodyさん
2010/10/11(月) 16:24:57ID:???0258nobodyさん
2010/10/20(水) 14:33:30ID:???皆さんはどうやって勉強しましたか?
また、お勧めの解説サイトを教えて下さい。
0259nobodyさん
2010/10/20(水) 15:39:30ID:???どの位レスが無いとDAT落ちしてしまうのでしょうか?
※お気に入りスレッドの保守ツールを作ろうと考えています。
0260nobodyさん
2010/10/20(水) 17:52:52ID:???0261nobodyさん
2010/10/20(水) 20:25:15ID:???Organization:Personal
というのが出て来るんですが
これってどういう意味でしょうか?
0262nobodyさん
2010/10/20(水) 20:35:26ID:???PHP関係ないです。正規表現スレで聞いてください。
>>259
PHP関係ないです。2chを開発または維持保守してる人達に聞いてください。
>>260
PHP半分だけ関係あります。echoなりprintでjavascriptコード吐けばOKです。
>>261
PHP関係ないです。英和辞書引いてください。
0263nobodyさん
2010/10/20(水) 20:55:04ID:???>PHP関係ないです。2chを開発または維持保守してる人達に聞いてください。
2chを開発してるのは誰ですか?
0266nobodyさん
2010/10/21(木) 09:22:12ID:???0267nobodyさん
2010/11/28(日) 01:08:02ID:F1JfXYTU日付情報はローカル時刻から世界標準時に変換してDBに保存して、
閲覧時には、閲覧者の国に合わせて時刻を変換するのがベストなんでしょうか?
0268nobodyさん
2010/11/28(日) 01:17:47ID:???0269267
2010/11/28(日) 01:30:18ID:F1JfXYTU0270nobodyさん
2010/11/28(日) 08:17:58ID:???ワールドワイドに展開してるということを分かってもらう必要がある
つまり日本時刻に統一することで、日本のサイトがワールドワイドに展開してると認識してもらう
0271nobodyさん
2010/11/29(月) 00:45:34ID:???YES。
閲覧時に変換すればいいだけの話で、
DBにはローカル時刻で保存しておいても問題無いよ。
というか、日本で開発するならデバッグのし易さ等も含めて、、
わざわざ世界標準時に変換して保存する必要は無いかと。
0272nobodyさん
2010/11/29(月) 00:56:52ID:???0273nobodyさん
2010/11/29(月) 01:10:16ID:???を使えば GET も POST もどちらの値も取れる様なので
GET や POST を使わずに
REQUEST 一本で行こうかと思っているのですが
何か問題(セキュリティー的な面で)はありますか?
0274nobodyさん
2010/11/29(月) 01:28:15ID:???0276nobodyさん
2010/11/29(月) 02:50:23ID:???PHPおよびDBのtimestamp型はグリニッジ標準時で格納されて、
表示のときにタイムゾーンにあわせて変換されてるの??
0277nobodyさん
2010/11/29(月) 02:52:33ID:???<img src="http://hoge.com/sendmessage?title=shine&body=aho">
なんてのが掲示板に書き込まれたらどうだろう?
CSRFチェックしてるならいいけど。
0278nobodyさん
2010/11/29(月) 03:13:43ID:???でも2038年までしか使えないのか。
案外すぐそこだと思ってしまう。
0279nobodyさん
2010/11/29(月) 03:15:47ID:???ええのかな。
>>277
ごめんなさい。
かりに投稿されてもサニタイジング処理するから
問題無い気もするのですが何が問題なのでしょうか?
0280nobodyさん
2010/11/29(月) 03:56:53ID:???0281nobodyさん
2010/11/29(月) 10:10:19ID:???DateTimeつかいなよ
あと「2038年問題」で検索すればわかるけど
過去に銀行でトラブルがありニュースになってる
php5.1までは対応が面倒だったが
php5.2以降ならDateTime使えば2038年問題はクリアできる
書式も柔軟で使いやすい
0282nobodyさん
2010/12/01(水) 01:33:56ID:fFpZquRWtry-finally-catchでも別にいいのでこんなの考えたけどキモいかなあ
$ex=NULL;
try{
…例外が出るかも知れない処理…
}
catch(Exception $ex){}
…finally処理…
switch(true){
case $ex instanceof HogeException:
…例外ハンドラ…
case $ex instanceof Exception:
…例外ハンドラ…
throw $ex;
}
0283nobodyさん
2010/12/01(水) 02:41:56ID:???0284nobodyさん
2010/12/02(木) 04:12:56ID:???どのようなユーザーDBを持っているのでしょうか?
まさかすべてのサービスを1つのDBに格納してるわけではないですよね?
サーバやDBを分けると、リレーションが作れないと思うのですが
管理しにくくなるデメリットをどう回避しているのでしょう?
たとえば、全IDの基本情報を持った1つのユーザーIDマスターテーブルがあって、
サービスごとのDBに、ユーザーIDマスターテーブルをコピーして、サービス用のカラムを追加した
各サービス用のユーザーIDテーブルがあって、マスターが更新されると、こちらも自動更新されるとか、
もしくは、各サービス用ユーザーテーブルには、マスターのIDが保存されていて
GET http://api.mydomain/?getUserDetail=username
とかHTTPリクエストでマスターテーブルから取得しているんでしょうか。
(いま利用しているレンサバは外部からのDB接続ができません)
できるだけスマートな実装を教えてください。
0285nobodyさん
2010/12/02(木) 04:44:43ID:???0286nobodyさん
2010/12/02(木) 04:53:14ID:???基本情報の保存されたマスターユーザテーブルと、
サービス別に必要なカラムを持ったテーブル(マスターユーザIDで紐付け)があるんじゃねーの?
マスターサーバに負荷がかかると思われるが、
それはハードウェア的に分散してるものだと思われる。
0287nobodyさん
2010/12/02(木) 19:18:34ID:???0288nobodyさん
2010/12/02(木) 23:52:26ID:???だったら普通にレプリケーションしてるだけじゃないの
0289nobodyさん
2010/12/03(金) 01:32:27ID:???同じ処理を書きたくないからこそのfinallyじゃない?
>>284
レプリケーションとかDB直接接続もできるorしてるかも知れないけど、
少なくともそういうAPIは裏側で用意されてるはず。
他社製の物と連携すること考えるとDBMSが異なるサービスにも使えるようにしてると思う。
ポリシー上そのAPI介さないと(自社製でも)ユーザ情報にアクセスさせないとかは十分ありうるね。
で、レンサバという制限の元、何とか共有したいという話なら
使える物は何でも使って最も楽な方法でやればいいと思うよ。
例えばCronで定期的にユーザマスタcsvを子サービスにSSLで送りつけてもいいし。
ちなみにサービス別にユーザテーブル作る場合、全件は複製せずに
そのサービスを使ってる人のIDだけが入ってるというのが多い実装だと思う。
0290nobodyさん
2010/12/04(土) 00:41:28ID:???PostgreSQLだとDoctrine_Core::generateModelsFromDb()はできない?
確認したら
Import/Pgsql.phpの
$sql[ 'listTableColumns']のSQL実行してるみたいなんだけど
これが失敗してるんだよなあ
0291Perl忍者 ◆M5ZWRnXOj6
2010/12/05(日) 14:11:08ID:v423lubtPerl-casualのやつら
こいつらはやばいよネットヤクザだよ
だいたいのWEB業界 mixi,gree,ライブドア,google,yahoo,楽天など
牛耳ってるのもperl-casualのやつら
mixi事件のメルアド検索もperl-casualのやつらの工作
perl-casualのやつらはやばいよ
まじでこれは言える
perl-casualのやつらが日本のインターネット業界を支えている
これはマジで実話
0292被リンクサービスの決定版
2010/12/05(日) 18:43:27ID:07kW5KS8http://hibari.2ch.net/test/read.cgi/hp/1291304974/43
0293nobodyさん
2010/12/06(月) 01:02:20ID:???3万も払って、たった10ブログからのリンクだけ??
クソボロい商売だな。
俺一人で個人経営やっても、数日で1000ブログ以上作るシステム開発する自信あるぜ?
てかもう存在してるだろうけど。
0294nobodyさん
2010/12/06(月) 11:55:38ID:???問題はプロモーションだ。
0295nobodyさん
2010/12/08(水) 00:40:37ID:???smartyとか覚えきれなかったので
0296nobodyさん
2010/12/08(水) 00:51:42ID:???ってかSmartyだって素のPHPなんだが・・・w
0297nobodyさん
2010/12/08(水) 02:44:18ID:???フレームワークってのは使い方を覚えて初めて役に立つものだから
覚えることがデメリットになるくらいなら使わない方が無難な物ができると思う。
素のPHPだから一概に悪いなんてことないよ。
0299nobodyさん
2010/12/12(日) 06:49:26ID:k+72gwmMこれもいいよ、っていうツールはありませんか?
いまはWSHでやってて限界感じています。
0300nobodyさん
2010/12/12(日) 12:35:52ID:???0301nobodyさん
2010/12/17(金) 03:26:27ID:???PHPDocumentorでチュートリアルを生成すると文字化けが起こるんですけど、どなたか解決方法を知りませんか?
文字化けというより、不正な文字を「?」に置き換えてる感じで、日本語が全部「??????」で出力されます。
チュートリアル以外のドキュメントは文字化けを起こさないのですが。。。
0302nobodyさん
2010/12/17(金) 03:36:57ID:???すみません、解決しました。。。
Setup.inc.php の 733行目 にあった $ret = utf8_decode($ret); をコメントアウトしたら解決しました。
お騒がせしました。
0303nobodyさん
2011/01/02(日) 13:53:35ID:6H//G+jSPEARのコーディング規約でこんなの見つけたんだけど。
何でいけないんだろう。
unix系OSでphp使ってる人には身近なコメントだと思うんだけど、
(#)使っちゃいけないっていうのはただ単にWin系もしくは
入門者の人が見慣れてないから使うなってだけかな?
べつにPEARのコーディング規約をリファレンスにする必要は無いと思うし、
嫌なら別の規約を使えばいい話なのはわかってるんだけど、
「PHPでshell形式はいけない物」みたいな風潮が広まちゃったら嫌だなって・・・。
0304nobodyさん
2011/01/02(日) 15:03:30ID:???0306nobodyさん
2011/01/03(月) 21:50:57ID:???「するべきではありません。」っていうのがいかにも#をつかうのが良くないと言っているように見えるけど
多分must not beぐらいの意味だろう。
0307nobodyさん
2011/01/03(月) 22:35:35ID:???初心者のことを考えて//に統一するのもよい。
0308nobodyさん
2011/01/03(月) 23:45:21ID:???for($request as $key1 => $value1){
for($value1 as $key2 => $value2){
for($value2 as $key3 => $value3){
$result[$key3][$key2][$key1] = $value;
}}}
こんなイメージな多次元配列の次元位置を入れ替える方法を考えています
多次元配列の次元数が固定されていれば、
上のようなやり方でも大体行けるのですが、
n次元だった場合のいいロジックってないでしょうか
0309nobodyさん
2011/01/04(火) 00:00:56ID:???$result = array();
foreach ($request as $key => $value) {
if (is_array($value)) {
$result[$key] = test($value);
} else {
return array($key=>$value);
}
}
return $result;
}
0310nobodyさん
2011/01/04(火) 00:03:03ID:???0311nobodyさん
2011/01/04(火) 00:16:30ID:???0312nobodyさん
2011/01/04(火) 08:50:08ID:???最初に作る時にそうしておくか、使う時に対応するかのどっちかで大抵は済むし、
最悪でも最初に2種類構築すればいいし
0314nobodyさん
2011/01/06(木) 01:37:45ID:???n次元てことは再帰だろーなーと思うけど
array_keys()使う感じでできんかな。
0315nobodyさん
2011/01/06(木) 13:03:14ID:???まぁ自作関数ライブラリがあれば足りるケースがほとんどではあるが。
0319nobodyさん
2011/01/08(土) 00:51:52ID:???で、今バリデーションの案を抗争中な訳なんだが、
どんなソースコードになったら、見やすくて分かりやすいだろ?
$str = vali::post('text')->mbLength(0,256)->var();
みたいにJavaっぽく書けば、分かりやすいけど細かい設定は付けれない
$v_id = array('func'=>vali::alnum,'error'=>'どうたらこうたら');
$id = vali::post('text', $v_id);
と、Cake風の書き方すれば、細かい設定もしやすいからいろんな事が出来る
そんなわけで、どんなバリデーション作ったら使いたくなる?
0320nobodyさん
2011/01/08(土) 01:02:08ID:???var $VALIDATIONS = array(
'varname' => array(
'trim' => array(),
'ascii' => array(),
'unique' => array( '※すでに使われている名前です。'),
'blank' => array( '※必ずご記入ください。'),
'date' => array( '※正しい日時ではありません。'),
'range' => array(18,100, '※18から100の数字をご記入ください。'),
'length' => array( 0, 20, '※20文字以下でご記入ください。'),
'bytes' => array( 0, 40, '※40バイト以下でご記入ください。'),
'regex' => array('/^[a-z0-9\-\_]*$/i', '※英数字と -(ハイフン) _(アンダースコア) のみでご記入ください。'), //複数設定可??
'in' => array('OPTIONS', '※正しい選択肢ではありません。'), //複数または直接array??
'method' => array('model::method', '※正しい値ではありません。'), //うまいことやる!!
),
);
0321nobodyさん
2011/01/08(土) 01:22:31ID:???だいたいそんな感じになると思うけど
>trim
入力値の評価と修正が一緒にあるのは気持ち悪いかも
>unique
それはどっかDBとか見に行かなきゃいけないわけで汎用的にならないんじゃ?
>date
年月日が別のフィールドに分かれてたら3つフィールド名指定できる?
>blank
別のフィールドの値がXの時だけ必須入力とかはblankかmethodで対応できる?
0322nobodyさん
2011/01/08(土) 01:33:45ID:???>入力値の評価と修正が一緒にあるのは気持ち悪いかも
なるほど。ちょっと考えてみる。ちなみに「ascii」も全角→半角変換のつもりw
>>unique
>それはどっかDBとか見に行かなきゃいけないわけで汎用的にならないんじゃ?
まーねー。確かに規約で縛りすぎるのも気持ち悪い。しかし、どう代替しようか。
>>date
>年月日が別のフィールドに分かれてたら3つフィールド名指定できる?
柔軟な日時クラスがあるので、$varnameはymdのarrayでもsqlでもatomでもなんでもおk
>>blank
>別のフィールドの値がXの時だけ必須入力とかはblankかmethodで対応できる?
methodはなんでも屋のつもりだけど、確かに連動必須項目はテンプレ化してもいいかもね。
ただ、シンプルなテンプレ化の方法は少し考えねば…
0323nobodyさん
2011/01/08(土) 02:54:32ID:???0324nobodyさん
2011/01/08(土) 02:56:33ID:???配列&正規表現を工夫すればフレームワークじゃなくて
単なるクラス(か関数)でも用意できる。
0325nobodyさん
2011/01/09(日) 18:56:19ID:???>unique
わざわざ用意するまでもなく単にmethodでやればいいんじゃないかな?
削除フラグが立ってない中でユニーク…とかを考えると大掛かりになるし
>$varnameはymdのarrayでもsqlでもatomでもなんでもおk
$_POSTを丸ごと渡すんじゃなくて、
前処理として $ymd = array($_POST['hoge_y'], $_POST['hoge_m'], $_POST['hoge_d']); 的なコードが別途必要ということかな
>ただ、シンプルなテンプレ化の方法は少し考えねば…
必須(blank)に関するチェックに条件が付く場合が殆どで、
他フィールドの値に対して定数との==、!=比較ができれば当分困らないと思う。
'blank' => array(... /*必須にする条件→*/array('eq', 'OtherField', '1')) みたいな
>>323
このあたり既製品じゃ対応しづらい要望が顧客から入りやすい
0326nobodyさん
2011/01/09(日) 19:03:41ID:???0327nobodyさん
2011/01/09(日) 20:09:18ID:???> わざわざ用意するまでもなく単にmethodでやればいいんじゃないかな?
そんな気がしてきた。すげーしてきた(笑)。
> $ymd = array($_POST['hoge_y'], $_POST['hoge_m'], $_POST['hoge_d']); 的なコードが別途必要ということかな
いや、フォームの段階で <input name="hoge[year]"... な感じ。
uniqueとかblankとか、少し条件が複雑なものは汎用的な中間methodでも作って…とかやりだすと地獄を見るかな(笑)
0328nobodyさん
2011/01/10(月) 01:29:42ID:???汎用的かつ、書きやすい構文を考えるのは結構面倒だよね。
汎用性を追求し過ぎると、大抵は既存FWのバリデーターに近い形に落ち着いてしまう。
0329nobodyさん
2011/01/10(月) 17:22:39ID:???// {{{ requires
の {{{ って何ですか?
0330nobodyさん
2011/01/10(月) 17:42:06ID:???0331nobodyさん
2011/01/10(月) 17:47:29ID:???なにか、ドキュメント生成系で使われてるのかな?と思ったんですけど、そんなことはないみたいですね。
ありがとうございます。
0332nobodyさん
2011/01/10(月) 20:32:02ID:???http://www.emacswiki.org/cgi-bin/wiki/FoldingMode
0334nobodyさん
2011/01/12(水) 16:58:41ID:KnVXPSXC指定したユーザ(例えば testman )が呟いた内容を
テキストファイルに出力したいのですが
どの様に書けば良いでしょうか?
0335nobodyさん
2011/01/12(水) 19:48:32ID:???0336nobodyさん
2011/01/13(木) 17:17:41ID:???Twitter Stremaing API を使用して
指定ユーザの呟きを取得する部分が
分からないです。
※テキストファイルへの出力コードはわかります。
0337nobodyさん
2011/01/13(木) 18:23:45ID:???お前はとても上級者に見えないが。
0338nobodyさん
2011/01/13(木) 18:43:54ID:???初心者の私上級者の方教えて下さい。
0340nobodyさん
2011/01/13(木) 21:14:10ID:???PerlやPythonといった言語での解説サイトはありますが
PHPでの実装方法を解説したサイトが見つかりません。
0341nobodyさん
2011/01/13(木) 21:23:18ID:???0342nobodyさん
2011/01/14(金) 01:13:37ID:???俺もオレオレバリデータ作ったことがある。
ワンタイムトークン的なものつくるとかとか、確認画面用に、値をセッションに格納して読みだして〜とかの機能とか
設定したバリデートルールを使って、Javascriptのコードも生成させて、クライアントサイドでも
バリデート出来るようにしたりね。
最近は、jQuery使って、CakePHPのヘルパとかでバリデーションルールをJSONにした物から
クライアントサイドでのバリデーションも連動するようなものを、作りかけた。
まぁ、書き慣れない言語はソースが迷子になって困る。
0343nobodyさん
2011/01/14(金) 03:57:17ID:???を解決することの出来る勇者はいないでOK?
0349nobodyさん
2011/01/14(金) 13:30:20ID:???0350nobodyさん
2011/01/14(金) 13:32:44ID:???0351nobodyさん
2011/01/14(金) 19:36:01ID:???0352nobodyさん
2011/01/15(土) 03:30:50ID:???0353nobodyさん
2011/01/15(土) 04:22:53ID:???なんとかStreamingAPIを使用して
特定ユーザの発言を常にフックする方法を教えて下さい。
※上級者の方、宜しくお願いします。
0354nobodyさん
2011/01/15(土) 04:42:55ID:???HTTPプロトコル及びTCP/IPの基礎知識はあるかい?
PHPはCLI環境等で常駐させる事が可能かい?
>特定ユーザの発言を常にフックする方法を教えて下さい。
Twitter Streaming APIへ接続して、受信メッセージを順次ストリーミング処理するだけだが、
何が解らないのか解らない。
上記の基礎知識が無いなら説明しても理解出来ないだろうし、
基礎知識があるならAPIの仕様を読めば実装出来ると思うけど。
0358nobodyさん
2011/01/15(土) 18:10:38ID:???基本的なツイッターAPIの呼出方については分かるのですが
どうしても Streaming API を使用して特定ユーザのついーとを
取得する方法が分かりません。
もし宜しければPHPで実装した人のHPや、
コードを載せて頂けないでしょうか?
>>355 >>356
お前らみたいなクズには聞いていない。
0359nobodyさん
2011/01/15(土) 18:35:33ID:???0361nobodyさん
2011/01/15(土) 18:39:01ID:???Streaming APIはREST APIのように単純には処理出来ない。
OAuthとかの実装は済んでるかい?
0362nobodyさん
2011/01/15(土) 19:38:05ID:???0363nobodyさん
2011/01/17(月) 16:06:13ID:???>OAuthとかの実装は済んでるかい?
こちらについてはアカウントも取得し
OAuthについては大丈夫です。
0364nobodyさん
2011/01/17(月) 23:34:45ID:???0365nobodyさん
2011/01/17(月) 23:43:41ID:???かい?かい?ほざいてないでサンプルコードのひとつでものせればいいのになw
ここでザコに訊くよりggrよks
0366nobodyさん
2011/01/18(火) 11:30:17ID:???アクセストークン利用して、取得したいストリームのURLをソケットなりで開いて、
その出力を延々と監視すればいいだけじゃねーの。
こんな所で数日待ちぼうけくらうより自分で試そうって気は無いのかねw
fopenとcontextの組み合わせで取得出来ると思うよ。
$fp = fopen($apiUrl);
while($xx = fgets($fp)){
// $xx に戻り値が入るので、時前でパースする。
sleep(1);
}
終わり。
0367nobodyさん
2011/01/22(土) 17:34:48ID:???0368nobodyさん
2011/01/25(火) 05:30:20ID:???みたいな代入短縮系も超便利。
0369nobodyさん
2011/01/31(月) 03:28:36ID:???具体的には、「TEST.sql」の中に以下の形式のクエリが多量に記述されているのですが
このファイルを読込み、 NUM_1 , NUM_2(のみ)の値を正規表現を使用して
高速に抽出したいのですが、どういう正規表現を適用すれば良いでしょうか?
1行ずつ読込み、正規表現を使用してそれらの値を取得したいと思っています。
INSERT INTO TEST ( NUM_1 , NUM 2 , NAME ) VALUES( 1 , 1 , 'TAROU1');
INSERT INTO TEST ( NUM_1 , NUM 2 , NAME ) VALUES( 1 , 2 , 'TAROU2');
INSERT INTO TEST ( NUM_1 , NUM 2 , NAME ) VALUES( 1 , 3 , 'TAROU3');
・
・
・
INSERT INTO TEST ( NUM_1 , NUM_2 , NAME ) VALUES( 1 , 1000 , 'TAROU3');
<取得イメージ>
1,1
1,2
1,3
・
・
・
1,1000
以上 ご教示願います。
0370nobodyさん
2011/01/31(月) 03:38:06ID:???具体的にどこで詰まってんの?
0371nobodyさん
2011/01/31(月) 10:56:07ID:???みたいなのを書いて、間違いを正してあげる流れにすればわかりやすいかと。
0372nobodyさん
2011/01/31(月) 21:40:38ID:???0373nobodyさん
2011/01/31(月) 21:43:15ID:???$v = explode(',', str_replace('INSERT INTO TEST ( NUM_1 , NUM 2 , NAME ) VALUES(', '', $string));
$v1 = (int) trim($v[0]);
$v2 = (int) trim($v[2]);
とでも書いておけや・・・
0375374
2011/01/31(月) 23:28:37ID:???0376nobodyさん
2011/02/01(火) 00:45:12ID:???上級者じゃないけど、こういうのどうよ。
0377nobodyさん
2011/02/01(火) 01:35:24ID:???80点を上げよう
・対象を () で囲み忘れてる
・VALUES等の固定文字列を書いた方が処理速度が上がる
ぜ
0378nobodyさん
2011/02/01(火) 08:02:02ID:???0379nobodyさん
2011/02/01(火) 08:26:02ID:???ありがとうございます。
流石上級者の手に掛かれば一発ですね。。。
文字列処理でやるより正規表現でやる方が断然速いですね。
0380nobodyさん
2011/02/08(火) 02:56:53ID:???0381nobodyさん
2011/02/09(水) 23:46:13ID:???やってみたいが受験料高いなぁ
0382nobodyさん
2011/02/23(水) 23:27:05.00ID:RrQiOYHD普通はこのようにやりますが、
<?php echo($hoge); ?>
ではなくて例えば以下のように
JSPのEL式みたいな書き方をしたいです。
${hoge}
Smartyで似たようなことができますが、
私の目指すところは
テンプレートエンジンを使うのではなく
PHP自体を拡張したいのです。
(例えばExtentionみたいなもので)
このようなことは可能でしょうか?
0383nobodyさん
2011/02/23(水) 23:51:44.00ID:???使い勝手悪そうだけど…
0385nobodyさん
2011/02/25(金) 21:39:46.81ID:???PHPのソース自体に手を入れないと駄目ですかね?
そうなると結構敷居が高いですねぇ。
Extention程度ならなんとかなりそうかと思いましたが・・・
0386nobodyさん
2011/02/25(金) 21:42:17.75ID:???0387nobodyさん
2011/02/26(土) 01:50:05.74ID:???Extensionって関数を追加するだけじゃなくて
PHPファイルのタグの拡張もできるもんですかね?
0388nobodyさん
2011/02/26(土) 02:12:02.57ID:???0389nobodyさん
2011/02/26(土) 11:27:10.67ID:???0390nobodyさん
2011/03/01(火) 19:07:35.82ID:C4PHx9pJ0391nobodyさん
2011/03/01(火) 23:12:58.80ID:???これって結局やってることはSmartyをExtensionにしただけですよね。
僕が目指してるのは、PHPファイルのタグの拡張です。
0392nobodyさん
2011/03/02(水) 02:44:46.18ID:???0393nobodyさん
2011/03/09(水) 13:24:51.70ID:ftgAWXF8Smartyみたいなテンプレートエンジンって結構使われてるの?
なんかIF文まで専用のものが用意されてるみたいだし、
これまでのPHP知識が無駄になりそうで怖いんだけど。
タグが多すぎて可読性も悪いし。
PurePHPに慣れた人間には逆に使いづらいんじゃないかな。
0394nobodyさん
2011/03/09(水) 14:02:59.21ID:???0395nobodyさん
2011/03/11(金) 00:19:59.02ID:???そりゃあもちろん使いづらい
全部一人でできちゃう人には使いづらいと思う
ただプログラマとデザイナ分けて開発したいときはSmartyがラク
0396nobodyさん
2011/03/11(金) 00:27:24.80ID:???ピュアPHPより見やすくて書きやすくて好きだよオレは
オレオレフレームワークに組み込んで使ってます。
0397nobodyさん
2011/03/28(月) 00:37:54.55ID:KPnbB4lM自前のライブラリはあるけど。それで十分だ。むしろそっちのほうが速い。
Javaならともかく、PHPで組む程度のサイトなら自前ライブラリ+コピペで十分だろ。
0398nobodyさん
2011/03/28(月) 00:55:49.73ID:???0399nobodyさん
2011/04/06(水) 05:16:33.63ID:???0400nobodyさん
2011/04/06(水) 22:15:25.72ID:???0401 忍法帖【Lv=40,xxxPT】
2011/05/12(木) 21:13:01.99ID:E3Km+bRW0404nobodyさん
2011/08/09(火) 12:40:12.23ID:rbkGhtrpスルーもせず批判ばかりで自分大好きなのがw
0405nobodyさん
2011/08/09(火) 14:01:16.22ID:???0406nobodyさん
2011/08/12(金) 19:13:13.66ID:YJp+MY1H0407nobodyさん
2011/08/12(金) 21:01:55.22ID:???0408nobodyさん
2011/08/13(土) 21:18:57.87ID:???その課題に疑問を持たない時点で低級だな。
ログイン認証と相互フォローが可能なWEBチャット程度にしか考えてないんだろうけど。
0409nobodyさん
2011/08/14(日) 02:35:05.91ID:???0410nobodyさん
2011/08/16(火) 03:01:07.18ID:???それでもスケールアップを無視したツラだけのものになる
0411nobodyさん
2011/08/16(火) 19:37:34.07ID:???自分でカスタマイズして使う。
無料でも有料でもどちらでもOK。
UTF8対応必須。
・ZeroMailのようなもの。
http://zeromail.webtecnote.com/
動作サーバーlolipop
0412nobodyさん
2011/08/16(火) 20:23:05.93ID:???0413nobodyさん
2011/09/28(水) 12:20:53.45ID:???URLわかる人いる?
Symfony2とかZendがベースになってるやつ。
0414nobodyさん
2011/09/28(水) 13:02:46.43ID:???http://pear.php.net/manual/ja/standards.php
0415nobodyさん
2011/09/29(木) 00:39:30.13ID:???PEARとSymfony2とZendの規約を良いとこ取りした英語のサイトだったんよ。
まだドラフト段階ぽかったけど、
namespaceやクラスの命名規約と、
ファイルとのマッピング(オートロード方法)が定義されてて、
いいなぁ・・・と思ったんだけどブックマークするの忘れてた。
0416nobodyさん
2011/09/29(木) 23:32:24.65ID:???ttp://blog.asial.co.jp/658
0417nobodyさん
2011/09/29(木) 23:33:38.38ID:???0418nobodyさん
2011/09/30(金) 21:11:31.81ID:???まさにコレだ!
PHP Standards Working Group.
ドラフト定義のページ自体は消えてるっぽいね・・・検索しても出てこないわけだ・・・。
04194S買います。
2011/10/07(金) 14:09:26.50ID:NzNwk4X7入力して実行するところまでができません。
PHP上級者なんですが、まったくわかりません。
どうしたらいいでしょうか?
0420nobodyさん
2011/10/07(金) 21:40:59.43ID:???0421nobodyさん
2011/10/07(金) 22:00:47.65ID:???逆に質問。
webサーバは何を使おうとしてる?
apache? nginx? web共有(中身はapache)?
OSのバージョンは?
古いのだと、別途developer toolをインストールする必要があるかも。
phpはインストールされてる?
ターミナル開けて、which phpを実行してみる。
webサーバとphp間の接続は?
isap? cgi (fcgi)? fpm?
0422nobodyさん
2011/10/07(金) 23:27:08.17ID:???ほらよ。
http://www.google.co.jp/search?q=Mac+PHP
>>421
質問に質問で答えるな。
お前は自分の事を上級者と思い込んでる奴にありがちな、アレだな。
俺含めて、PHPerはまじでカスばかりだな。
04234S買います。
2011/10/12(水) 00:35:48.22ID:tsC58JYK初心者です。
0424nobodyさん
2011/10/12(水) 01:31:48.58ID:???yum を使ってしかやった事がありません。
./configurate や make や make install をやるタイミング、そして意味を上級者の方教えて下さい。
ソースからビルドを行なうとか今時やるものなのですか?
昔ならいざ知らずこのご時勢になってソースからビルドするとか信じられないのですが。
0425nobodyさん
2011/10/12(水) 02:00:29.82ID:???yumでかまわん。
makeの質問はスレ違い。
業務上サードパーティーが用意したパッケージ(野良リポジトリ)を使うのが難しかったり、
パッケージ依存の問題でyumれない場合、仕方無しにソースからコンパイルする事がある。
0426 忍法帖【Lv=4,xxxP】
2011/10/13(木) 14:36:23.17ID:83wWhHo00427nobodyさん
2011/10/25(火) 12:04:29.79ID:iSM6PcDehttp://ja.wikipedia.org/wiki/Phalanger
0428nobodyさん
2012/04/04(水) 05:36:51.68ID:Uvzh3GQcサーバーサイド(PHP)だけじゃなくクライアントサイド(JavaScript)でも書くことあるよね?
このとき、バリデーションコードが重複しがちだと思うんだけど、どうしてる?
0429nobodyさん
2012/04/04(水) 08:04:21.57ID:???0430nobodyさん
2012/04/05(木) 01:19:05.66ID:Zo7rsTVSその上で、HTMLテンプレートに書けるJavaScriptヘルパー的な関数でバリデーションコードを出力する。
あまりに完全なコードだとscript要素内でのカスタマイズがしにくくなるので、その加減を考慮中。
0431nobodyさん
2012/04/05(木) 09:27:41.54ID:KDGKjb0o0432nobodyさん
2012/04/10(火) 08:54:09.23ID:21DCZu7ZPHPの上級者のおすすめのFWは何?
※中級者以下の人は回答しないでください。
0433nobodyさん
2012/04/10(火) 09:02:42.22ID:???0434nobodyさん
2012/04/10(火) 13:20:09.00ID:???何が間違っているのでしょうか?
※CakePHP2.1.1
@controller
class HogeController extends AppController
{
var $helpers = array('Html');
}
@view
echo $helpers->link("コントローラへのリンク","/hoge/1");
@error_message
Fatal error: Call to a member function link() on a non-object i
0436nobodyさん
2012/04/10(火) 16:25:29.22ID:???http://ja.wikipedia.org/wiki/%E5%A4%A7%E7%A9%BA%E7%BF%BC
0437nobodyさん
2012/04/10(火) 22:03:26.41ID:???0438nobodyさん
2012/04/11(水) 10:28:26.89ID:???>>508
の内容をご存じの上級者の方お教えください。
0439nobodyさん
2012/04/11(水) 11:04:18.07ID:???<meta http-equiv="refresh" content="0;URL=http://kohada.2ch.net/test/read.cgi/php/1320768310/">
0442nobodyさん
2012/04/15(日) 10:02:35.91ID:???他言語歴の長い人からすると非常に違和感。ぷんぷん。
0443nobodyさん
2012/04/15(日) 10:54:58.56ID:dsZTge3Kその分、処理がビミョーに遅くなるし、思っても見なかった変換がされる事があるから'使うって事らしー
0444nobodyさん
2012/04/15(日) 11:54:29.97ID:???文字列は " で囲め。
0445nobodyさん
2012/04/15(日) 17:12:55.92ID:???じゃ、どんなとき ' のほうを使うの?
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:???てめーにコード組んでもらわなくても誰も困らないからさっさと失せろ
0547nobodyさん
2012/10/03(水) 14:44:06.74ID:???unset($value)
foreachでリファレンスを利用したあとにunset()するけど
unsetしないで$valueを有効活用したことあるやついる?
0548nobodyさん
2012/10/04(木) 02:26:04.53ID:???0550nobodyさん
2012/10/04(木) 16:02:45.99ID:???上級者としては、foreach後の参照はむしろ使うべきではないということか。
ありがとうございました。
0551nobodyさん
2012/10/04(木) 17:53:53.08ID:???どんなロジック組んだら有効活用出来るのか考えてみると、
そのロジック自体無いな・・・って答えになる気がする。
0552nobodyさん
2012/10/06(土) 02:01:43.20ID:???0554nobodyさん
2012/10/07(日) 21:47:19.62ID:???0555nobodyさん
2012/10/07(日) 23:07:04.07ID:???忘れてた
0556nobodyさん
2012/10/08(月) 11:41:15.74ID:???経済産業省は若者らの小規模な起業を促すため 数百万円を補助
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とかやめとけ
メディアに金を払ってステマ宣伝してくるが釣られて手を出しても情報は少なく手間がかかり スパゲッティコード 未完成 デスマに陥る
そそのかしておいて自己責任 コンパイルできないからパクられ 直接売る場所がないから企業に買い叩かれ金にならない 生きていけない奴隷仕様だ
0557nobodyさん
2012/10/08(月) 11:41:51.09ID:???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で月千円でネット使える
0559nobodyさん
2012/10/10(水) 05:44:22.42ID:???0560nobodyさん
2012/10/10(水) 07:49:53.24ID:???0561nobodyさん
2012/10/10(水) 16:58:59.73ID:???0562nobodyさん
2012/10/10(水) 18:24:35.40ID:???0563nobodyさん
2012/10/10(水) 21:00:55.01ID:???0564nobodyさん
2012/10/10(水) 23:42:32.15ID:???0565nobodyさん
2012/10/15(月) 21:35:34.15ID:???if( ord($hoge)==33 ) echo "ビックリ";
って、ダメなの?
0566nobodyさん
2012/10/15(月) 23:17:34.85ID:???0567nobodyさん
2012/10/16(火) 07:43:04.18ID:???0568nobodyさん
2012/10/16(火) 08:31:49.22ID:???0570nobodyさん
2012/10/16(火) 16:20:50.45ID:???配列と同じ記法の[n]が使えるってだけで、もちろんforeachで回したりはできないぞ。
あと$hogeが実際に文字列ではなく配列かもしれない場合も必要があれば考慮すべし。
0571nobodyさん
2012/10/16(火) 20:32:33.79ID:???26文字ってなんか意味があるの?
16文字は短いし、32文字だと長いよね〜 みたいな感じ?
0572nobodyさん
2012/10/16(火) 20:46:14.14ID:???なるほどねぇ
だから最後は3ビット余るから
セッションIDの最後は必ず0〜7なんだなー
フヒヒ
0575nobodyさん
2012/10/16(火) 22:25:29.02ID:???session_register()系 ってどうしてクビにされたの?
突然のリストラでお得意さん困ったりしない?
0576nobodyさん
2012/10/17(水) 01:05:12.64ID:???0577nobodyさん
2012/10/17(水) 19:59:55.18ID:???session.hash_function
session.hash_bits_per_character
の設定がどうなってるか教えてくれ。
0579nobodyさん
2012/10/18(木) 19:01:00.01ID:???0580nobodyさん
2012/10/23(火) 02:03:10.59ID:???0581nobodyさん
2012/10/23(火) 05:00:37.86ID:???作品を見せてもらおうか
0583nobodyさん
2013/04/14(日) 18:42:40.75ID:???0584nobodyさん
2013/04/14(日) 20:06:04.25ID:???Http://qr. net/kh4y
0585nobodyさん
2014/05/04(日) 03:28:44.85ID:???■ このスレッドは過去ログ倉庫に格納されています