X



PHP上級者が集まるスレ
0001nobodyさん
垢版 |
2007/01/14(日) 16:53:46ID:???
ここでは他のPHPスレよりもより一層と高いレベルでの情報交換・体験談などを行うスレです。 
我こそはPHPプロフェッショナルだという方の書き込みをお待ちしております。 
0002nobodyさん
垢版 |
2007/01/14(日) 17:35:42ID:???
私こそが真のPHPの上級者だ!
だからこのスレッドは私のものだ……。
お前たちはここにくるべきではないのだ。




ところで、私は誰ですか?
0003nobodyさん
垢版 |
2007/01/14(日) 18:19:36ID:???
mail関数を使うための設定がわかりません。WindowsXPです。よろしくおねがいします。
0005nobodyさん
垢版 |
2007/01/15(月) 00:47:52ID:???
>>3
お前みたいな初心者はくだスレにでも引きこもってろ。
ここは上級者の集うスレだ。
00073
垢版 |
2007/01/15(月) 02:34:36ID:???
>>4
メールサーバはxmailです。導入する前はWindows付属のSMTP使ってました。popも使いたいのでメールサーバとしてxmailを選択したのですがphp.iniのどこになんて記述したらいいのかわからなくて立ち往生してます。
0010nobodyさん
垢版 |
2007/01/15(月) 19:11:07ID:???
PHP上級者の定義、条件は何ですか?

例)
・PHP使用歴10年以上
・PECLを自作できる
・PHPを使って月収100万円以上
0011nobodyさん
垢版 |
2007/01/15(月) 19:25:12ID:???
月収100万には届かないが、PHPを使って3ヶ月で240万円稼いだよ。
0012nobodyさん
垢版 |
2007/01/15(月) 20:02:48ID:???
Zend certificationは受験料をもっと下げた方が人気が出ると思います。
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:???
>11
人月80万の開発なんて普通じゃね?
0017nobodyさん
垢版 |
2007/01/19(金) 02:52:59ID:ooNNw2ca
GETってセキュリティー的にはどうなの? 
POSTのほうがマシとかあるの? 
0018nobodyさん
垢版 |
2007/01/19(金) 03:32:58ID:/UQbmip1
POSTにしとけば少なくともアドレスからのイタズラは無くなる。
受け取りに対策しとけば問題ないし、対策なしじゃどっちもアウト。
ブックマークを考慮するならGETのが良いし。
以上上級者スレの非常に高度なFAQでした。
0019nobodyさん
垢版 |
2007/01/19(金) 07:41:27ID:???
QS問わず、排他制御の良い方法ないですか?
0020nobodyさん
垢版 |
2007/01/19(金) 15:02:20ID:???
>>18
サニタイズ言うなキャンペーンは上級者向けの話題ですか?
0021nobodyさん
垢版 |
2007/01/20(土) 14:31:19ID:c+1RvCEz
strtrって遅くない? 
何回計ってもstr_replaceの方が倍以上速い
0022nobodyさん
垢版 |
2007/01/20(土) 16:18:49ID:???
>>21
用途が全然違うので、比べる意味などないですよ
0023nobodyさん
垢版 |
2007/01/25(木) 12:45:50ID:HfWXyheO
[public_html] 
    | 
    |----[image]---index.php 
    | 
    |----index.php 

たとえばこんなディレクトリ構成が存在するとします。 
imageディレクトリのindex.phpにアクセスするとルート元の 
index.phpに飛ぶように処理したいのですが、 

imageディレクトリ内のindex.phpに次の記述をしました。 
header("Location: http://www.example.com/";); 

このheader関数内の書かれたURLをサーバによって書き換えないと 
いけないので、この面倒をなくすために自動で取得したいのですが 
なにかヒントをお願いいたします。
0025nobodyさん
垢版 |
2007/01/25(木) 15:10:11ID:???
>>23
header("Location: ../index.php");

じゃだめか?
0026nobodyさん
垢版 |
2007/01/25(木) 16:02:12ID:???
>>25
rfc的にはだめだけどPCブラウザは対応してるからいいのかな
0027nobodyさん
垢版 |
2007/01/25(木) 20:22:37ID:???
だからサーバー関数でホスト名等取得して連結しればいいだろ
0030nobodyさん
垢版 |
2007/01/25(木) 23:18:33ID:???
サーバー「関数」なのかそれ?
0031nobodyさん
垢版 |
2007/01/25(木) 23:33:46ID:???
ここまでヒントでてんだからしらべれよ…なんで努力しないんだ?調べてわからなかったら聞けよ
0032nobodyさん
垢版 |
2007/01/27(土) 03:46:34ID:???
>>10
PHSを使っている(旧名称 Personal Handy Phone=PHP)
0034nobodyさん
垢版 |
2007/01/28(日) 08:38:55ID:???
たぶん違うと思うよ
0036nobodyさん
垢版 |
2007/02/24(土) 20:36:33ID:???
1、id passを自由に記入して登録してもらい、 
2、その後、ログインする機能をつけたいと思っています 

1でフォームを通じてデータベースに登録するところまではできました 

2ではどうしたらいいのでしょうか  
ログインするページで、データベースから登録された全てのIDパスを読んで、フォームに入れられた情報が合致するかどうかをチェックしているのでしょうか? 
0038GoA ◆J2EE.GplLk
垢版 |
2007/03/06(火) 18:09:36ID:???
>>36
スレタイ読んでないよね?
だめだよ。スレタイはちゃんと読まなきゃ。
0039nobodyさん
垢版 |
2007/04/16(月) 13:23:17ID:FLqOV9yP
>>36-38の流れに吹いた
0040nobodyさん
垢版 |
2008/09/08(月) 06:58:47ID:YApPrX0L
関数は使用する行よりも前に書かないといけないのですか?
0042nobodyさん
垢版 |
2008/09/10(水) 18:48:33ID:???
そんな低級言語、C/C++ぐらいだよw
0043nobodyさん
垢版 |
2008/09/13(土) 16:19:57ID:???
わざわざPHP上級者と言っているということは、PHPについては上級者でも
プログラミング全般に関しては上級者ではないということですか?
0044nobodyさん
垢版 |
2008/09/13(土) 17:56:13ID:???
ああ、いるいる。

PHPで

print "Hello!World";

はすぐ書けるくせにPerlになると書けない奴。

0045nobodyさん
垢版 |
2008/09/13(土) 18:04:20ID:???
普通Helllo World!じゃないの?
0046nobodyさん
垢版 |
2008/10/04(土) 11:48:16ID:???
Helo World!だと思ってたorz
0047nobodyさん
垢版 |
2008/10/05(日) 22:54:10ID:???
Halo World - ディープインパクトの系譜 -
0048nobodyさん
垢版 |
2008/10/06(月) 20:49:12ID:???
なんだ。
結局Hello Worldが書ければPHP上級者になるのか。
0049nobodyさん
垢版 |
2008/10/08(水) 12:20:09ID:???
上級者じゃない俺はHello Worldも記述できないのか・・・
0050nobodyさん
垢版 |
2008/10/09(木) 18:07:47ID:???
上級者の皆様に質問です。
文字列を50音順で並び替えたいのですが、
どうしたらよいでしょうか?
やはり一文字ずつ配列で確認した方がいいですか?
0051nobodyさん
垢版 |
2008/10/09(木) 18:11:48ID:???
>>50
頭数文字を数値化して並べ替え後、同じ数値が並んでるかどうか比較して並べ替え。
0052nobodyさん
垢版 |
2008/10/09(木) 18:16:32ID:???
>>51
頭数文字の数値化というのは、(あ)なら1で(い)なら2という意味ですか?
0054nobodyさん
垢版 |
2008/10/31(金) 19:40:09ID:Eo+dqOlV
preg_match_all()で得られる結果の多元配列を、
count()に渡したときのカウント数について教えて頂けないでしょうか。
カウント数がどうにも解せないのです。

↓これを実行すると、なぜか結果として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:???
レンザバでiconvを使おうとしたらモジュールに組み込まれてなくて
phpからJavaのJNIみたいに直接libiconv.soを呼び出せないかと思ったのですが
出来ますか?
0058nobodyさん
垢版 |
2008/11/01(土) 00:20:57ID:???
できるならやってみます
0060nobodyさん
垢版 |
2008/11/01(土) 07:37:24ID:/2wL5ARz
>>55さん
preg_match_all()の結果と同じ配列を作るには

$match[0]=array("全体1","全体2","全体3");
$match[1]=array("部分1","部分2","部分3");
$match[2]=array("部分A","部分B","部分C");

と、しないといけなかったんですね・・・。
ありがとうございます。なぞが解けました。
多元配列を正しく理解していませんでした。
0061nobodyさん
垢版 |
2008/11/01(土) 11:28:32ID:???
>>60
何を言ってるんだ?
まとめて代入しても同じ
006260
垢版 |
2008/11/01(土) 17:51:55ID:/2wL5ARz
>>61さん
すいません。どういう意味なのでしょうか?
0063nobodyさん
垢版 |
2008/11/01(土) 18:09:48ID:???
>>62
61じゃないけど>>60のほうが意味わからない。
何を想定してどんなふうに想定外だったのかということがはっきりしないな。
006460
垢版 |
2008/11/01(土) 18:17:53ID:/2wL5ARz
>>63さん
要するに、preg_match_all()でマッチしたときに返される多元配列と
同じ形の多元配列を自分で作るにはどうしたらいいのか?
ということがわからなかったです。
0065nobodyさん
垢版 |
2008/11/01(土) 18:22:04ID:???
$match = array(array(array(...
0066nobodyさん
垢版 |
2008/11/01(土) 18:44:31ID:???
>>64
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
>>66さん
たびたびすいません。
まだ解決していませんでした。

@は4が出力されます。
Aは3が出力されます。
Bは3が出力されます。
私は@ABはすべて、3が出力されるのが正しいと思っていました。
なぜなら$match[0]に入っている配列要素は3つなので。

>>65さん
Bのケースと同じでしょうか?
これだと@と同じ結果にはなりませんでした。
申し訳ありませんが、もう少し具体的にお願いできないでしょうか?
0069nobodyさん
垢版 |
2008/11/01(土) 20:19:34ID:???
>>68
いや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:???
まさか$matchと$match[0]の区別がつかないとか・・・
0071nobodyさん
垢版 |
2008/11/03(月) 02:12:33ID:???
PHP5.3 (PHP6)の新機能についていけないです
無名関数とかラムダ関数とかクロージャとか静的遅延束縛とか、
理解できないです
そういったキーワードを検索して楽しそうに書いてたり、
愚痴ったりしてるブログを見ると、理解できない自分が寂しいです
情報系の大学に行った方がいいんでしょうか
独学は無理っぽいです
0072nobodyさん
垢版 |
2008/11/03(月) 02:23:37ID:???
大学はそんなこと学ぶとこじゃないと思うがw
0073nobodyさん
垢版 |
2008/11/03(月) 22:29:26ID:???
>>71
PHPは手っ取り早くWebアプリを開発するためのツールという側面が強いから、
そこらへんのことを学びたいなら他の言語で勉強した方がいいと思う。
PHPは最初は取っつきやすいけど、プログラミングの本質を学ぼうとするとすぐに壁に突き当たる。
最近の言語ではPythonが学習に向いていると思うけど、なにしろ日本語の情報が少ないしな。
0075nobodyさん
垢版 |
2008/11/07(金) 20:58:40ID:???
IDE何使ってる?
Eclipse+phppluginは微妙に使いづらそうな印象を受けるし
sjisじゃないと文字化けするとか不穏な情報もある(古いが)
phpエディタはよさそうな印象だが使ってはいない

経験者情報plz
0077nobodyさん
垢版 |
2008/11/07(金) 21:41:19ID:???
phpなんてもう何年も使ってないもので
0079nobodyさん
垢版 |
2008/12/14(日) 00:39:45ID:???
phpとASP.net両方得意な人に質問があります。

生産性という面で言うとやはりASP.netの方が高いのでしょうか?
0082nobodyさん
垢版 |
2008/12/14(日) 09:59:12ID:???
>>80 >>81
あんた方本気で言ってるの?

ASP.netだと画面のデザインなんてマウスのドラッグで簡単に出来るよ。
であとはサーバ側の処理を記述するだけで完了する。

どう考えてもASP.netの方が生産性が高い、としか思えないのですが。
もっともASP.netの場合にはライセンス料とかの兼ね合いもあって
同じスペックのレンタルサーバを借りたとしても高いけどね。
0084nobodyさん
垢版 |
2008/12/14(日) 13:25:18ID:vrT8sAoj
ぐぐってもみつけられなかったんで上級者さん教えてください
formからアップロードしたzipファイルを解凍するスクリプト書いてるんですが、
解凍する前にzipファイルの破損をチェックするのってどうやったらできますか?
0087nobodyさん
垢版 |
2008/12/14(日) 14:32:36ID:???
>>82
一概にいえないだろ。
PHPでもView部分はWebオーサリングソフト使ってテンプレートエンジンかませば同様に
GUIで画面のデザインできるし、だいたいView部分だけを根拠に「どう考えても」は飛躍しすぎ。
0088nobodyさん
垢版 |
2008/12/14(日) 18:30:55ID:???
>>87
VSを抜く
 Webオーサリングソフト使ってテンプレートエンジン
はありますか?


話はそれからだ。
0089nobodyさん
垢版 |
2008/12/25(木) 06:13:30ID:???
PHPでPostgreSQLのbytea型へのバイナリデータアクセスについて教えてください。
(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:???
PHPで、proxy経由でSSL通信をしたいです。
PEAR::HTTP_Requestでは未サポートであることがわかりました。
PHPからwgetを起動する方法も考えましたが、シンプルな方法とは
いえないので、PHPだけで実現したいです。

良い方法をご存知の方、教えてください。
0092nobodyさん
垢版 |
2009/03/03(火) 01:30:53ID:hdsn1ZlD
>>68
ちょっと遅いレスだけど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:???
Visual Studio2005( VS.Php 2.6 試用版 )を使用して
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 ;
;;;;;;;;;;;;;;;;;;;
0096nobodyさん
垢版 |
2009/11/30(月) 18:40:16ID:???
これが噂の上級者が集まるスレか。流石だな。
0097nobodyさん
垢版 |
2009/12/01(火) 22:13:32ID:???
私はPHP上級者ですがどうしてもわからないことがありますか?
0098nobodyさん
垢版 |
2010/01/01(金) 22:37:35ID:???
PHPで指定したディレクリにあるjpg|jpeg|gif|pngの画像枚数を取得したいんだが、教えてくれ。
レスを投稿する


ニューススポーツなんでも実況