【PHP】下らねぇ質問はID出して書き込みやがれ 125
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2013/01/09(水) 22:31:43.73ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 124
http://kohada.2ch.net/test/read.cgi/php/1353402165/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0075nobodyさん
2013/01/14(月) 02:34:41.98ID:???MDB2はまだ現役だよね?
0076nobodyさん
2013/01/14(月) 15:54:09.43ID:t7cxFpsBそれはまた新たにインスコしないといけないんですよね?
出来ればインスコなしで使えるやつで書き換えたいんです。
>>75
それが…
サーバー移転したら続けてDBにアクセスする時に
たまにDBエラーが生じるようになってしまいまして…
DBが選択されてないってエラーなんですが…
でも接続時に選択してるししかも毎回SQL発行時にも
DB選択もしてみたんですが時たまやっぱりエラーが出てしまって。
再現性も難しくて検証も面倒なのでいっそ書き換えたいと思ってるんです。
しかも使ってるのはPEARの中でも古いDBクラスで…(MDB2じゃないやつ)
サーバ移転前はこんなエラーなかったんですけどね…
0077nobodyさん
2013/01/14(月) 16:04:33.07ID:???間違いが激減する
0078nobodyさん
2013/01/14(月) 16:16:03.64ID:???0079nobodyさん
2013/01/14(月) 16:16:28.48ID:t7cxFpsBこれからは自作のクラスで軽くラップして実装することにします。
0080nobodyさん
2013/01/14(月) 20:05:33.43ID:TkOQENrF参照渡しのときは、呼び出し側はアンパサンドつけずに渡して、関数側にだけアンパサンドつけますよね?
これは配列を参照渡しするときでも一緒ですか?
array_walkで配列を参照渡ししたんですが、中身が書き換えられてなかったので質問させていただきました。
よろしくお願い致します。
0081nobodyさん
2013/01/14(月) 20:14:44.50ID:???詳しくはマニュアルに書いてあると思うが
0082nobodyさん
2013/01/14(月) 20:31:22.28ID:TkOQENrFで、ググっても原因がわからなかったので、実験に実験を重ねついに原因を突き止めました。
配列をarray_walkの第三引数に参照渡しした場合、array_walkで指定した関数内で配列内の値を変更しても、
その変更が反映されないことがわかりました。
なのでforeachを使って関数を個別にループして呼んで解決させました。
array_walkってクソ関数ですね。
php5.4からの不具合かもしれませんが。
とにかくクソクソクソ
俺の3時間返せよボケ
皆さんもお気をつけください。
ありがとうございました。
0083nobodyさん
2013/01/14(月) 20:43:27.03ID:???第三引数は参照渡しじゃないだろ
何を言ってるんだ?
0084nobodyさん
2013/01/14(月) 20:50:13.65ID:???0085nobodyさん
2013/01/14(月) 20:54:43.91ID:???その三時間も無駄にはならんよ
0086nobodyさん
2013/01/14(月) 21:32:36.44ID:TkOQENrF説明には第三の引数として指定できるって書いてるじゃないですか
参照は指定できまへんって書いておくべき
>>84
説明に書いてないほうが悪い
>>85
ありがとう
ごめんなさい
0088nobodyさん
2013/01/14(月) 22:05:33.58ID:???0089nobodyさん
2013/01/14(月) 22:07:00.13ID:TkOQENrFこれだけ見りゃ普通に引数として使えるって思うよな
参照は使えませんって書くべき
0092nobodyさん
2013/01/14(月) 22:28:53.21ID:???0093nobodyさん
2013/01/14(月) 22:53:19.98ID:???http://php.net/manual/en/language.references.pass.php
And as of PHP 5.4.0, call-time pass-by-reference was removed, so using it will raise a fatal error.
call-tyme pass-by-referenceはdeprecatedだったけど
5.4.0からはFatalになった
array_walkの第三引数が参照渡し不可なのに
そこから呼び出される関数に参照が来るわけないだろ
「説明に書いてないほうが悪い」って・・・
必要な情報はマニュアルに書いてある
理解力が足りないほうが悪いだろ
0094nobodyさん
2013/01/14(月) 22:55:53.96ID:???> 参照は指定できまへんって書いておくべき
一応補足すると
bool array_walk ( array &$array , callable $funcname [, mixed $userdata = NULL ] )
mixed $userdata に "&" がついてないってことは
「参照は指定できまへん」って書いてあるのと同じ
array &$array には "&" がついてるだろ
0097nobodyさん
2013/01/14(月) 23:20:38.73ID:TkOQENrFえ?
そういう意味だったの?
そりゃ知りまへんかったなぁ
わしが悪いわ
皆さんすいませんでした
0098nobodyさん
2013/01/14(月) 23:23:25.29ID:???0100nobodyさん
2013/01/14(月) 23:42:09.71ID:???0106nobodyさん
2013/01/15(火) 00:04:56.67ID:???0107nobodyさん
2013/01/15(火) 00:06:03.02ID:???自分が知ってることを知らないやつを叩きまくり
うちの会社にも一人だけいるけどな
0108nobodyさん
2013/01/15(火) 00:25:26.86ID:???0109nobodyさん
2013/01/15(火) 00:26:14.55ID:???自分が理解不足なのに「クソ関数」とか
「説明が悪い」とか言ってるから叩かれるんだよ
0110nobodyさん
2013/01/15(火) 00:29:27.31ID:???PHP5.4以降ではアンパサンドつけて渡した場合はfatalエラーが出るようです。
で、ググっても原因がわからなかったので、実験に実験を重ねついに原因を突き止めました。
配列をarray_walkの第三引数に参照渡しした場合、array_walkで指定した関数内で配列内の値を変更しても、
その変更が反映されないことがわかりました。
なのでforeachを使って関数を個別にループして呼んで解決させました。
array_walkってクソ関数ですね。
php5.4からの不具合かもしれませんが。
とにかくクソクソクソ
俺の3時間返せよボケ
皆さんもお気をつけください。
ありがとうございました。
0111nobodyさん
2013/01/15(火) 00:34:58.91ID:???参照渡しなんかほとんど使わないしね
0112nobodyさん
2013/01/15(火) 02:02:02.82ID:copYdBVMそんなの気にするの客にいない。同業かマニアだけ。
テンプレートのような決まり決まったものより、
小学生が作ったオリジナルの方が興味ひかれるし。
運営やリスク管理はまた違うスキルに入る。
0113nobodyさん
2013/01/15(火) 03:09:15.61ID:HFqsEbZX1アクセスで通信を終わらせず一度開いたfsockopenで複数回通信するにはどうしたらよいのでしょうか
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
単純に複数回fwriteすればいいのかなと思ったのですがダメでした
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
$out = "GET /test2 HTTP/1.1\r\n";//urlは適当
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
0114nobodyさん
2013/01/15(火) 03:15:26.82ID:???>1アクセスで通信を終わらせず一度開いたfsockopenで複数回通信するにはどうしたらよいのでしょうか
サーバ側がなんかそういうのに対応してればまた別だけど
HTTPってのは基本的にそういうもんなんで無理と思った方がいい
祝!長期規制解除記念で復活しました
http://uni.2ch.net/test/read.cgi/operatex/1357032563/436
0117nobodyさん
2013/01/15(火) 10:54:42.72ID:???0118nobodyさん
2013/01/15(火) 12:54:05.08ID:???Ajaxもそういう用途に使える
0119nobodyさん
2013/01/15(火) 13:10:55.99ID:???118だけ唯一理解できない珍回答
0122nobodyさん
2013/01/15(火) 13:25:00.84ID:???HTTPがステートレスなのは事実だし
keep-aliveが完璧かというとそうでもない
0124nobodyさん
2013/01/15(火) 13:45:25.89ID:???アホばっかw
>>114はHTTPでKeepAliveは無理って言ってるのに
間違ってないのかよwww
0125nobodyさん
2013/01/15(火) 13:46:52.03ID:???0126nobodyさん
2013/01/15(火) 13:55:25.21ID:???この意味を考えたほうがいい
0128nobodyさん
2013/01/15(火) 13:59:34.01ID:???0129nobodyさん
2013/01/15(火) 14:05:26.85ID:???そんな事言ってないがまぁ無理と言ったら無理なんじゃね?その言い方だと
何がおかしいのかは宿題にしておきますね
0130nobodyさん
2013/01/15(火) 14:11:38.66ID:???keep-aliveはサーバも対応してないと使えない
つまりいくらこっちがkeep-alive要求出しても無意味なケースもある
だから114のHTTPトンネリングでステートフルなプロトコル使う方法も
116のkeep-aliveも結局はサーバ次第
0131nobodyさん
2013/01/15(火) 14:19:56.85ID:???>>114はそもそもKeepAliveを知らずに、「無理」と言ってるように見えるから
間違いだと言ってるんだよ
ApacheのデフォルトはKeepAlive Onだし、
パフォーマンス上Onにしてるケースが多いだろ
KeepAliveを試して、だめならそのサーバに対しては無理、というのなら分かるが
試す前に無理というのはだめだろ
>>127
人違い、アホすぎ
>>129
アホが上から目線www
0133nobodyさん
2013/01/15(火) 14:26:10.11ID:???お前は間違いって断言してるから問題なんだよ
「間違いではない」の反語が「間違い」って思ってるなら飛んだ阿呆だな
0135nobodyさん
2013/01/15(火) 14:32:21.10ID:???っていうのがKeep-Aliveのこととも取れるわけだが?
>HTTPってのは基本的にそういうもんなんで
ってのは一方ではなく双方が対応してないとだめってとれるわけだが?
つまり接続の持続は双方が対応してないと無理
極普通の意見ですね
0136nobodyさん
2013/01/15(火) 14:39:16.95ID:???お前ら頭良いな
0138nobodyさん
2013/01/15(火) 14:45:48.86ID:???好意的に解釈しすぎwww
Keep-Alive知ってれば「なんかそういうの」なんて普通は呼ばない
いまどきのHTTPサーバはKeep-Aliveに対応しているケースが多いので、
「基本的にそういうもんなんで無理」ではない
>>113へのアドバイスとしては不適切極まりない
0139nobodyさん
2013/01/15(火) 14:52:27.76ID:???0140nobodyさん
2013/01/15(火) 15:03:29.60ID:???0141nobodyさん
2013/01/15(火) 15:10:02.88ID:???HTTPってのは基本的にそういうもんなんで無理と思った方がいい
0142nobodyさん
2013/01/15(火) 15:32:56.51ID:???0143nobodyさん
2013/01/15(火) 15:35:39.24ID:???知ってか知らずかはそりゃ本人次第でしょう
あなたの感想はどうでもいいけど
114は間違ったことは言っていないというのが俺の感想
あと完璧でないといっただけで多いとかどうかは議題にしてない
曖昧さが気に入らないってなら俺は断言してるほうが気に入らない
0144nobodyさん
2013/01/15(火) 15:44:48.59ID:???だが>>138は視野が狭すぎるのでとりあえずKeep-Aliveから一旦離れろ。
他のやつの言ってることが理解できないからKeep-Aliveでごり押す残念な人にしか見えない。
0145nobodyさん
2013/01/15(火) 15:46:09.63ID:???それともお前が帰ってきたからこんな流れになってるのか?
荒らしてんじゃねえよカス
0146nobodyさん
2013/01/15(火) 16:12:39.85ID:???あなたの感想はどうでもいいけど
>>114は間違っているというのが俺の感想
KeepAliveが完璧かどうかなんて議題にしてない
0147nobodyさん
2013/01/15(火) 16:17:34.68ID:???Keep-Aliveから一旦離れる??
質問のポイントはKeep-Aliveなのに???
それこそポイントを理解できない残念な人にしか見えない。
0148nobodyさん
2013/01/15(火) 17:21:02.09ID:mpZig59E上の $out .= "Connection: Close\r\n\r\n"; を $out .= "Connection: keep-alive\r\n\r\n"; にして
fgetsのくだりを下でまとめて行えばいい。動くかどうかはサーバー次第です。
0149nobodyさん
2013/01/15(火) 18:54:42.10ID:mpZig59E応答確認のループで、延々と待たないように、
Transfer-Encoding: chunked で返ってくるなら "0\r\n\r\n"
そうでないなら Content-Lengthで。 でもチャンクの処理とかメンドクサイ。
pearの HTTP_Requestでは 1.4から Keep-Aliveをサポートしてるよ。
0150nobodyさん
2013/01/15(火) 20:17:02.22ID:???実装するにはSmartyなどを使えばよいでしょうか。
0151nobodyさん
2013/01/15(火) 20:28:59.82ID:???0153nobodyさん
2013/01/15(火) 21:26:06.70ID:???0154nobodyさん
2013/01/15(火) 21:40:12.83ID:???お前のようなゴミにはPHPは無理
0155nobodyさん
2013/01/15(火) 22:37:54.05ID:???0157nobodyさん
2013/01/16(水) 01:11:54.33ID:???0159nobodyさん
2013/01/16(水) 04:25:53.54ID:???0160nobodyさん
2013/01/16(水) 06:17:42.74ID:???0161nobodyさん
2013/01/16(水) 14:15:20.90ID:???0162nobodyさん
2013/01/16(水) 14:18:31.03ID:???0163nobodyさん
2013/01/16(水) 15:25:18.73ID:???0164nobodyさん
2013/01/16(水) 16:54:06.38ID:???0166nobodyさん
2013/01/16(水) 16:59:05.55ID:???0167nobodyさん
2013/01/16(水) 20:00:14.92ID:???0168nobodyさん
2013/01/16(水) 21:01:41.26ID:???次に学ぶのはどの言語がいいの?
柔軟性と可読性が高いのがいいんだけど
0169nobodyさん
2013/01/16(水) 21:09:02.92ID:???0170nobodyさん
2013/01/16(水) 21:23:20.35ID:???>>1も読めないゴミはそこで頭打ちだから諦めろ
お前の場合は質問もだけど存在自体がくだらない
>>1の日本語すら読めないゴミにとって可読性の高い言語があるわけないだろ
馬鹿じゃねお前
0173nobodyさん
2013/01/17(木) 11:24:37.57ID:???最新のソースコード(今なら5.5alpha3)を入れて新機能を試してみたりしてほしいのが本音なのよ、出来る人からみれば。
「PHP出来ます」と言われてもwebデザインの延長でhtmlの中にphpを混ぜちゃうような人もいれば
バックエンドをPHPでガリガリ書いて大規模な事をしている人もいるわけで。
0174nobodyさん
2013/01/17(木) 11:27:09.73ID:???さすがにPHPしか出来ないっていうのでは困る
PHPerはwebをまったく知らない。HTTPの理解もないとか言われてバカにされますよ
■ このスレッドは過去ログ倉庫に格納されています