1read 100read
2013年05月WebProg352: PHP上級者が集まるスレ (584) TOP カテ一覧 スレ一覧 2ch元 削除依頼
[PHP][フレームワーク]CodeIgniter Part2 (692)
★三 【 スクリプト改造工房 PART 9 】 ★三 (703)
PHP+MySQL掲示板作ろうぜ (796)
[PHP][フレームワーク]CodeIgniter Part2 (692)
サーバーサイドJavaScript総合 (244)
IDにPerlが出たら神!PHPが出たらシメジ Part32 (480)

PHP上級者が集まるスレ


1 :2007/01/14 〜 最終レス :2013/04/14
ここでは他の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 :
こんな所にR系貼られてもなぁ

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 回目のマッチングでキャプチャした値の配列、
$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みたいな感じで俺は好きだ

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元 削除依頼
PHPでOOP (882)
Eclipse質問スレ (344)
ColdFusion (728)
一番汚いコードでHello Worldを書いたやつが勝ち (218)
僕にR系のシステムを売ってください (920)
Drupal node 9 (212)
--log9.info------------------
OVA◆六神合体ゴッドマーズ 十七歳の伝説 PART 2 (226)
懐かしアニメの視聴率 Part.3 (230)
GuGuガンモ (200)
家なき子 Part5 出崎統・立体アニメーション (363)
【ぽっちり】じゃりン子チエ【2つめ】 (586)
マグネロボシリーズ (225)
【左翼】鬼太郎2部限定アンチスレ【懐古ウゼー】 (749)
【巨人】一球さん【学園】 (227)
惑星ロボ ダンガードA (944)
■さすらいの太陽って知らない?part3■ (980)
マジンガーZ その14 (482)
妖怪人間ベム (745)
●●あさりちゃん●● (310)
【ハドソン】Bugってハニー【高橋名人】 (418)
ゼロテスター (288)
■■スレを立てるまでもない質問と相談 Part7■■ (521)
--log55.com------------------
【上級優先か?】「電通社員のコロナ感染、もはや感染者が出た事より、なんで検査してもらえたの?」 とツイッターで話題に★2
【コロナ対策】菅官房長官「基本方針も今後、患者が増加する局面を想定しており、ある意味で先手先手だ」
【国際】「子供はヘディング禁止」イギリスでガイドライン発表…ヘディングは12歳から
【でも病床減らさせたの安倍政権じゃん】高市早苗総務相「公立病院はコロナ感染者増加を見据え、病床確保に取り組むように」
【京都新聞】「都構想」と維新 支持の実態見えているか
【ブルーベリーフラペチーノ】安倍首相がランサーズ社長と会食 ニュースサイトで安倍応援コメント書き込み依頼業務 昭恵夫人も応援 ★5
【福岡】3歳児にスプレー噴射、GS店員を“傷害”で逮捕 「車にスプレーを吹き掛けたが、人には掛けていない」
【鉄道】西武多摩川線、知られざる「飛び地路線」の実像