1read 100read
2012年4月WebProg16: PHP上級者が集まるスレ (489) TOP カテ一覧 スレ一覧 2ch元 削除依頼
Ruby VS PHP 仁義なき戦い (166)
=== MediaWiki 管理者の集い 第3版 === (430)
まあ。ほとんどないとおもうが。。 (130)
【ECサイト】CS-Cart Part1 (831)
Zopeってどうよ インスタンス4つめ (382)
Wiki系とWikiEngineについて語るスレ Part5 (229)

PHP上級者が集まるスレ


1 :07/01/14 〜 最終レス :12/05/02
ここでは他のPHPスレよりもより一層と高いレベルでの情報交換・体験談などを行うスレです。 
我こそはPHPプロフェッショナルだという方の書き込みをお待ちしております。 

2 :
私こそが真のPHPの上級者だ!
だからこのスレッドは私のものだ……。
お前たちはここにくるべきではないのだ。
ところで、私は誰ですか?

3 :
mail関数を使うための設定がわかりません。WindowsXPです。よろしくおねがいします。

4 :
>>3
メールサーバーは何?

5 :
>>3
お前みたいな初心者はくだスレにでも引きこもってろ。
ここは上級者の集うスレだ。

6 :
final class PHP_Tensai
{

7 :
>>4
メールサーバはxmailです。導入する前はWindows付属のSMTP使ってました。popも使いたいのでメールサーバとしてxmailを選択したのですがphp.iniのどこになんて記述したらいいのかわからなくて立ち往生してます。

8 :
3=1
糸冬 了

9 :
初心者乙

10 :
PHP上級者の定義、条件は何ですか?
例)
・PHP使用歴10年以上
・PECLを自作できる
・PHPを使って月収100万円以上

11 :
月収100万には届かないが、PHPを使って3ヶ月で240万円稼いだよ。

12 :
Zend certificationは受験料をもっと下げた方が人気が出ると思います。
1回の受験は3150円くらいがいいのではないでしょうか?
http://www.zend.co.jp/certification/
PHP開発技術者のスキル証明書

13 :
>>12
何でZend Japanにいわないの?

14 :
ポイントが良心的なサイト
http://1107.cc/?af3390521
ワンクリじゃないから安心せぃ

15 :
こんな所に系貼られてもなぁ

16 :
>11
人月80万の開発なんて普通じゃね?

17 :
GETってセキュリティー的にはどうなの? 
POSTのほうがマシとかあるの? 

18 :
POSTにしとけば少なくともアドレスからのイタズラは無くなる。
受け取りに対策しとけば問題ないし、対策なしじゃどっちもアウト。
ブックマークを考慮するならGETのが良いし。
以上上級者スレの非常に高度なFAQでした。

19 :
QS問わず、排他制御の良い方法ないですか?

20 :
>>18
サニタイズ言うなキャンペーンは上級者向けの話題ですか?

21 :
strtrって遅くない? 
何回計ってもstr_replaceの方が倍以上速い

22 :
>>21
用途が全然違うので、比べる意味などないですよ

23 :
[public_html] 
    | 
    |----[image]---index.php 
    | 
    |----index.php 
たとえばこんなディレクトリ構成が存在するとします。 
imageディレクトリのindex.phpにアクセスするとルート元の 
index.phpに飛ぶように処理したいのですが、 
imageディレクトリ内のindex.phpに次の記述をしました。 
header("Location: http://www.example.com/"); 
このheader関数内の書かれたURLをサーバによって書き換えないと 
いけないので、この面倒をなくすために自動で取得したいのですが 
なにかヒントをお願いいたします。

24 :
サーバー関数

25 :
>>23
header("Location: ../index.php");
じゃだめか?

26 :
>>25
rfc的にはだめだけどPCブラウザは対応してるからいいのかな

27 :
だからサーバー関数でホスト名等取得して連結しればいいだろ

28 :
>>27
どうやって取得するの?

29 :
>>28
print_r($_SERVER);

30 :
サーバー「関数」なのかそれ?

31 :
ここまでヒントでてんだからしらべれよ…なんで努力しないんだ?調べてわからなかったら聞けよ

32 :
>>10
PHSを使っている(旧名称 Personal Handy Phone=PHP)

33 :
ところで>>1は上級者なの?

34 :
たぶん違うと思うよ

35 :
>>1は背伸びしたいだけの厨房

36 :
1、id passを自由に記入して登録してもらい、 
2、その後、ログインする機能をつけたいと思っています 
1でフォームを通じてデータベースに登録するところまではできました 
2ではどうしたらいいのでしょうか  
ログインするページで、データベースから登録された全てのIDパスを読んで、フォームに入れられた情報が合致するかどうかをチェックしているのでしょうか? 

37 :
>>36
うそでしょ?

38 :
>>36
スレタイ読んでないよね?
だめだよ。スレタイはちゃんと読まなきゃ。

39 :
>>36-38の流れに吹いた

40 :
関数は使用する行よりも前に書かないといけないのですか?

41 :
>>40
うそでしょ?

42 :
そんな低級言語、C/C++ぐらいだよw

43 :
わざわざPHP上級者と言っているということは、PHPについては上級者でも
プログラミング全般に関しては上級者ではないということですか?

44 :
ああ、いるいる。
PHPで
print "Hello!World";
はすぐ書けるくせにPerlになると書けない奴。

45 :
普通Helllo World!じゃないの?

46 :
Helo World!だと思ってたorz

47 :
Halo World - ディープインパクトの系譜 -

48 :
なんだ。
結局Hello Worldが書ければPHP上級者になるのか。

49 :
上級者じゃない俺はHello Worldも記述できないのか・・・

50 :
上級者の皆様に質問です。
文字列を50音順で並び替えたいのですが、
どうしたらよいでしょうか?
やはり一文字ずつ配列で確認した方がいいですか?

51 :
>>50
頭数文字を数値化して並べ替え後、同じ数値が並んでるかどうか比較して並べ替え。

52 :
>>51
頭数文字の数値化というのは、(あ)なら1で(い)なら2という意味ですか?

53 :
イイヨイイヨー

54 :
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()の返す多元配列は特殊なものなのでしょうか?
(うーん、そんな馬鹿な・・・)

55 :
質問スレがあるのにこんなところで聞くというセンスもどうかと思うが、
まずなぜ$match[0]をvar_dumpしてみようと思わないのかな
↓結果
array(4) {
[0]=>
string(12) "aaa111aaa222"
[1]=>
string(12) "aaa111aaa222"
[2]=>
string(12) "aaa111aaa222"
[3]=>
string(12) "aaa111aaa222"
}

56 :
レンザバでiconvを使おうとしたらモジュールに組み込まれてなくて
phpからJavaのJNIみたいに直接libiconv.soを呼び出せないかと思ったのですが
出来ますか?

57 :
やってみれば

58 :
できるならやってみます

59 :
どんだけ〜

60 :
>>55さん
preg_match_all()の結果と同じ配列を作るには
$match[0]=array("全体1","全体2","全体3");
$match[1]=array("部分1","部分2","部分3");
$match[2]=array("部分A","部分B","部分C");
と、しないといけなかったんですね・・・。
ありがとうございます。なぞが解けました。
多元配列を正しく理解していませんでした。

61 :
>>60
何を言ってるんだ?
まとめて代入しても同じ

62 :
>>61さん
すいません。どういう意味なのでしょうか?

63 :
>>62
61じゃないけど>>60のほうが意味わからない。
何を想定してどんなふうに想定外だったのかということがはっきりしないな。

64 :
>>63さん
要するに、preg_match_all()でマッチしたときに返される多元配列と
同じ形の多元配列を自分で作るにはどうしたらいいのか?
ということがわからなかったです。

65 :
$match = array(array(array(...

66 :
>>64
array(4) {
[0]=>
string(12) "aaa111aaa222"
[1]=>
string(12) "aaa111aaa222"
[2]=>
string(12) "aaa111aaa222"
[3]=>
string(12) "aaa111aaa222"
}
のcountは4になって当然。
なのに3になると思ってたのはなぜ?
要点だけ言われても余計分からないから全部言ってくれ。
いや解決したんならもういいんだけど、単なる雑談として。

67 :
サンプルコードをもう一度きちんと書きました。
//@///////////////////////
$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>';

68 :
>>66さん
たびたびすいません。
まだ解決していませんでした。
@は4が出力されます。
Aは3が出力されます。
Bは3が出力されます。
私は@ABはすべて、3が出力されるのが正しいと思っていました。
なぜなら$match[0]に入っている配列要素は3つなので。
>>65さん
Bのケースと同じでしょうか?
これだと@と同じ結果にはなりませんでした。
申し訳ありませんが、もう少し具体的にお願いできないでしょうか?

69 :
>>68
いや66で書いたのと同じことを繰り返すことになるけど
@の$match[0]に入っているのは
array(4) {
[0]=>
string(12) "aaa111aaa222"
[1]=>
string(12) "aaa111aaa222"
[2]=>
string(12) "aaa111aaa222"
[3]=>
string(12) "aaa111aaa222"
}
だろ?なんでそれが3になると?
正規表現を誤解しているのか、count関数の挙動を誤解しているのか、さっぱり分からん。

70 :
まさか$matchと$match[0]の区別がつかないとか・・・

71 :
PHP5.3 (PHP6)の新機能についていけないです
無名関数とかラムダ関数とかクロージャとか静的遅延束縛とか、
理解できないです
そういったキーワードを検索して楽しそうに書いてたり、
愚痴ったりしてるブログを見ると、理解できない自分が寂しいです
情報系の大学に行った方がいいんでしょうか
独学は無理っぽいです

72 :
大学はそんなこと学ぶとこじゃないと思うがw

73 :
>>71
PHPは手っ取り早くWebアプリを開発するためのツールという側面が強いから、
そこらへんのことを学びたいなら他の言語で勉強した方がいいと思う。
PHPは最初は取っつきやすいけど、プログラミングの本質を学ぼうとするとすぐに壁に突き当たる。
最近の言語ではPythonが学習に向いていると思うけど、なにしろ日本語の情報が少ないしな。

74 :
>>42
PHP3は、んなだったね

75 :
IDE何使ってる?
Eclipse+phppluginは微妙に使いづらそうな印象を受けるし
sjisじゃないと文字化けするとか不穏な情報もある(古いが)
phpエディタはよさそうな印象だが使ってはいない
経験者情報plz

76 :
いつの話だよ

77 :
phpなんてもう何年も使ってないもので

78 :
viで編集・・・

79 :
phpとASP.net両方得意な人に質問があります。
生産性という面で言うとやはりASP.netの方が高いのでしょうか?

80 :
PHPだろ

81 :
PHPだね。

82 :
>>80 >>81
あんた方本気で言ってるの?
ASP.netだと画面のデザインなんてマウスのドラッグで簡単に出来るよ。
であとはサーバ側の処理を記述するだけで完了する。
どう考えてもASP.netの方が生産性が高い、としか思えないのですが。
もっともASP.netの場合にはライセンス料とかの兼ね合いもあって
同じスペックのレンタルサーバを借りたとしても高いけどね。

83 :
PHPです。

84 :
ぐぐってもみつけられなかったんで上級者さん教えてください
formからアップロードしたzipファイルを解凍するスクリプト書いてるんですが、
解凍する前にzipファイルの破損をチェックするのってどうやったらできますか?

85 :
質問スレでどうぞ

86 :
>>85
すれ違いすみませんでした

87 :
>>82
一概にいえないだろ。
PHPでもView部分はWebオーサリングソフト使ってテンプレートエンジンかませば同様に
GUIで画面のデザインできるし、だいたいView部分だけを根拠に「どう考えても」は飛躍しすぎ。

88 :
>>87
VSを抜く
 Webオーサリングソフト使ってテンプレートエンジン
はありますか?
話はそれからだ。

89 :
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の不具合なんでしょうか?
それとも、これが仕様なのでしょうか?

90 :
>>88
DreamWeaverは便利ですよ^^

91 :
PHPで、proxy経由でSSL通信をしたいです。
PEAR::HTTP_Requestでは未サポートであることがわかりました。
PHPからwgetを起動する方法も考えましたが、シンプルな方法とは
いえないので、PHPだけで実現したいです。
良い方法をご存知の方、教えてください。

92 :
>>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 回目のマッOでキャプチャした値の配列、
$matches[1]は 2 回目のマッOでキャプチャした値の配列、
といった順序となります。
$match=array(
array('aaa111aaa222','aaa111','aaa222'),
array('aaa111aaa222','aaa111','aaa222'),
array('aaa111aaa222','aaa111','aaa222'),
array('aaa111aaa222','aaa111','aaa222'),
);
どっちかっていうとSET_ORDERの方が○行目の\1,\2みたいな感じで俺は好きだ

93 :
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 ;
;;;;;;;;;;;;;;;;;;;

94 :
>>75
IDEはZS
エディタはTextmate

95 :
つ Komodo Edit

96 :
これが噂の上級者が集まるスレか。流石だな。

97 :
私はPHP上級者ですがどうしてもわからないことがありますか?

98 :
PHPで指定したディレクリにあるjpg|jpeg|gif|pngの画像枚数を取得したいんだが、教えてくれ。

99 :
マルチ乙

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
Session管理してる? (213)
【勉強するのは】PHPとPerl【どっちが最初?】 (392)
Python CGI (349)
Perl6/Parrotスレ - Part2 (348)
【読み方】Open Laszlo スレ【わからん】 (181)
【ECサイト】CS-Cart Part1 (831)
--log9.info------------------
【サム・ライミ】ノワール-NOIR-vol.52【実写化】 (796)
エルフェンリート 55ョンパ目 (353)
世界名作劇場 ロミオの青い空 part5 (839)
Gilgamesh-ギルガメッシュ- (415)
【ゆめいっぱい】ちびまる子ちゃん 三人目 (248)
☆マーメイドメロディー ぴちぴちピッチ☆117曲目 (741)
HAUNTEDじゃんくしょん (141)
【ドラジャン】太陽の勇者ファイバード其の参【ヌードル】 (716)
BPS - Battle Programmer SHIRASE - 18Mbps (712)
愛天使伝説ウェディングピーチ キャンドル3本目 (802)
天空のエスカフローネ Vision14 (837)
うまいぞー!■アニメ版・ミスター味っ子■12杯目 (467)
ゲンジ通信あげだまスレ【八】 (426)
【NG限定】NG騎士ラムネ&amp;40 復活の10 (751)
バケツでごはん (146)
鋼の錬金術師 錬成153回目 (705)
--log55.com------------------
喪雑15659 お尻に入れた単三電池
風俗行きたい 14
俺達の人生って何だったんすかね? 105週目
死にたいけどRないwwwww
セックスしたいセックスしたい part8
孤独な男性が傷つく言葉・傷ついた言葉
非正規の孤男
孤男の趣味・休日の過ごし方 107(コテハン立入禁止)