PHP質問・雑談スレ【初心者お断り(ROM歓迎)】©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん 転載ダメ©2ch.net
2016/04/22(金) 08:58:11.47ID:???初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。
PHP未導入の方や、手取り足取りが必要な初心者の方はくだスレへどうぞ。
【PHP】下らねぇ質問はここに書き込みやがれ 4
http://echo.2ch.net/test/read.cgi/tech/1457792733/
その他リンク
・PHPマニュアル
https://secure.php.net/manual/ja/index.php
・コードテスト・貼り付け用
http://ideone.com/
・プログラミングのお題スレ Part8 (求PHPer参戦)
http://echo.2ch.net/test/read.cgi/tech/1444216746/
このスレで扱う話題
・PHPのコード,設定や設定値に関する質問
・常識的範囲内でのコードレビュー依頼・改良相談
・PECL,PEARに関する質問
・PHP新機能やPHP関連トレンドの話題
(FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ)
・PHPのバグ発見報告・公式に報告する前の検証依頼
このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
(HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造
0479nobodyさん
2016/09/06(火) 02:57:40.49ID:???0480nobodyさん
2016/09/06(火) 18:05:30.49ID:???> >>471
> ストレッチした方が有効だって話だよな。
いや、password_hash()を使いましょうって話だよ。
その内部実装ではソルト+ストレッチングされるけど。
0482nobodyさん
2016/09/06(火) 20:46:02.46ID:???内容どうこうじゃなく、あくまで日本語的にね
> ストレッチした方が有効だって話だよな。
>いや、password_hash()を使いましょうって話だよ。
0483nobodyさん
2016/09/06(火) 21:05:13.56ID:???0485nobodyさん
2016/09/06(火) 21:16:03.36ID:???上に書いてあるし、自分で引用してるじゃん
>>479の書き方ならわからないでもない
不可能か否かは別にしてな
0487nobodyさん
2016/09/07(水) 01:50:02.56ID:hlL2JVEJinterface A { public function test() : A; }
interface B extends A { public function test() : B; }
// PHP Fatal error: Declaration of B::test(): B must be compatible with A::test(): A
0488nobodyさん
2016/09/07(水) 03:50:53.34ID:???君いると荒れるだけだから早くあっちにお帰り
0490nobodyさん
2016/09/07(水) 11:43:12.82ID:???0491nobodyさん
2016/09/07(水) 13:54:50.93ID:???0492nobodyさん
2016/09/07(水) 15:40:22.08ID:???質問に答えられずよほど悔しかったのだろう
0493nobodyさん
2016/09/07(水) 16:13:14.93ID:???なんかの被害妄想じゃねーの?
0494487
2016/09/07(水) 16:41:31.38ID:???https://wiki.php.net/rfc/return_types#variance_and_signature_validation
元々共変返値を含めてproposeされたけど実装上の問題で親クラスでのsignatureに厳密一致させることになったとか云々
いつか実装するけど時期未定, 当分タイプヒンティングじゃなくてアノテーションだけに頼るべきなのかねぇ
0495nobodyさん
2016/09/07(水) 17:21:43.19ID:???0496487
2016/09/07(水) 19:20:02.74ID:???何れにしても早く実装されると嬉しいところ
0497nobodyさん
2016/09/07(水) 19:37:29.80ID:???さっさと向こうに帰ってね
0498nobodyさん
2016/09/07(水) 19:41:31.64ID:???・ワッチョイ
・自己紹介
・脳みそ
・素人
0499nobodyさん
2016/09/07(水) 19:51:38.96ID:???特に今時、田舎じゃなければ、自宅にいれば3回線ぐらい使えるだろ。
ずっと過疎スレだったここに最近人来てるの見ると、あっちのワッチョイは完全に失敗だったとは思うけど。
ちょっとしたどうでもいいような情報でも漏れるのは生理的に嫌だというのは、
マーの傾向としてはいいことだ。
0500nobodyさん
2016/09/07(水) 21:48:50.09ID:???もうJS一択だよ
0502nobodyさん
2016/09/08(木) 14:34:14.17ID:???ご教示くださいますようお願いします
0503502
2016/09/08(木) 15:41:31.37ID:???0504nobodyさん
2016/09/08(木) 16:07:26.63ID:???0505nobodyさん
2016/09/08(木) 21:27:37.80ID:qt3wO91c※apacheのポート、ファイヤーウォール共に8081は開いています。
<失敗する>
$response = file_get_contents('http://localhost:8081/・・・.php', false, $context);
エラーメッセージ:Undefined variable: http_response_header
<成功する>
$response = file_get_contents('http://localhost/・・・.php', false, $context);
$response = file_get_contents('http://localhost:80/・・・.php', false, $context);
0506nobodyさん
2016/09/08(木) 21:43:58.24ID:???0507nobodyさん
2016/09/09(金) 21:11:59.89ID:???という文字列を分解して
a=hoge と bbb="piyo fuga"
にして、
$t['a']="hoge"と $t['bbb']="piyo fuga"
にしたいです
0508507
2016/09/09(金) 21:13:27.92ID:???""で囲まれた中の区切り文字は無視されるようにしたい
explodeでは無理っぽいが、こういうことを実現する関数はありますか?
0509nobodyさん
2016/09/09(金) 21:16:01.20ID:???0510nobodyさん
2016/09/09(金) 21:17:34.22ID:???0511nobodyさん
2016/09/10(土) 10:27:22.05ID:???この規則性のなさは動作不良起こす典型だから
そのへん本当に問題ないかチェックしたほうがいいぞ
0512nobodyさん
2016/09/11(日) 00:32:50.97ID:???0513nobodyさん
2016/09/11(日) 08:42:23.46ID:???こんなんとか?
Class_Nameは個人的にちょっと冗長で嫌だけど
0515nobodyさん
2016/09/12(月) 14:55:07.47ID:O2HLiCw8ネットワークドライブの割り当てコマンド(net use・・・)にて、ユーザーIDとパスワードを通した後、
----test1.php----
file_exists(\\\\サーバー名\\フォルダ名\\・・・)
----------------
C:\xampp\php\php -n C:\・・・\test1.php
を実行すると、ファイルの存在が正しく確認できるのですが、
----test2.php----
get_file_contents(C:\・・・\test.php)
----------------
C:\xampp\php\php -n C:\・・・\test2.php
とした場合、ファイルがあるにも関わらず見つかりません。
test2.phpからtest1.phpを呼び出す処理自体は問題なくできているのですが(test1の内容を変えて実行できていることを確認)、
どうやらtest2.phpからtest1.phpを呼び出したときに、
ネットワークドライブを割り当てた時に使用されたユーザーIDとパスワードが利用されていないようです。
(ちなみに、apacheの実行ユーザーは、このphp実行ユーザーと同じです)
phpの実行ユーザーが、任意のIDとパスワードを使用して別サーバーのファイルにアクセスすることは出来ないのでしょうか?
どちらのサーバーもWindowsで、xampp環境です。
0516nobodyさん
2016/09/12(月) 15:21:04.15ID:???0518nobodyさん
2016/09/12(月) 16:55:11.69ID:???get_file_contents(〜test.php) はひっかけだな。test1.phpとも関係ないことから明らか。
0519nobodyさん
2016/09/12(月) 23:48:35.43ID:???おお、ありがとう。
FuelPHPはスネークケースなのか。
スネークケースなのに先頭大文字っていうのは俺も違和感あるけど、それ以外は好みな規約だ。
0520nobodyさん
2016/09/13(火) 10:49:43.49ID:???Bでsession_startを行い、postされたhogeと同じ名前を持つファイルを探し、
もしあればそのファイルに(中身は数字)+1して上書きします。
なければ、そのファイルを作成し、1を書き込みます。
正常に終われば$_SESSION["text_name"]と$_SESSION["counter"]をセットし、CにLocationヘッダで移動します。
hogeが空文字だったり、有効な文字でなかった場合は(ctype_alnum)、AにLocationヘッダで戻します。
Aからpostする際に、ファイルがあるないに関わらず、
1度目は必ずAに戻されてしまうのですが、何が原因か分かる方いらっしゃいますか?
キャッシュかなんかだと思いますが、どうしたらいいでしょうか?
使ってる関数はisset ctype_alnum file_exists fopen flock rewind fwrite file_put_contents json_encode json_decode header
ぐらいです。
0522nobodyさん
2016/09/13(火) 12:47:01.33ID:???違うのはjson関連を使ってないぐらいなのですが、
再現するため最小限のコードに絞ってたのですがうまく行きました。
ちょっともうちょっと絞って原因探してみます。
0523nobodyさん
2016/09/13(火) 15:24:32.33ID:???みたいなコードがあるのですが
これは$_SESSIONや$_POSTが長いとかそういう理由で
意味のなさそうな$xという変数を定義してるのでしょうか?
なんか速度が早くなったりとかするのでしょうか?
0524nobodyさん
2016/09/13(火) 16:14:46.30ID:???速度に関しては気にするレベルの差が出るには、1億回くらいアクセスとか
しないとわからないだろうから、無視していいと・・
0525nobodyさん
2016/09/13(火) 23:36:48.35ID:???んー? それは使ってる用途にもよるけど、
$_SESSIONと$_POSTはスーパグローバルなので直接操作すべきではないから
ローカル変数に代入してるんでしょ。
PHPは本来は操作できるべきではない$_POSTみたいな値も変更できちゃって、
ユーザーから実は何が渡されてたのか
コードの深い位置で分かんなくなる事態が発生するからね。
$xなのはその場で使い捨てる変数だからだでしょ。
スコープがデカければ$posted_hogeみたいな意味のある名前にするよ、きっと。
0526nobodyさん
2016/09/13(火) 23:53:55.64ID:???0527nobodyさん
2016/09/14(水) 12:40:48.26ID:???外部から受け取った$_POSTはともかく$_SESSIONでその言い分は謎
じゃどうやってセッション変数セットするわけ?という話になる
あと>>523のはただの参照であって$_POSTだろうがコード中に出てきても問題ない
0528nobodyさん
2016/09/14(水) 12:53:44.25ID:???配列へのアクセスは実行時にならないとチェックできないが
ローカル変数にしときゃそれ以降のコードは静的解析の対象にできるだろう
速度なんてループの中心で参照でもしてなきゃ気にすんなってレベル
0529nobodyさん
2016/09/14(水) 20:07:57.88ID:???>外部から受け取った$_POSTはともかく$_SESSIONでその言い分は謎
>じゃどうやってセッション変数セットするわけ?という話になる
つまり、そこがPHPの欠陥なわけさ。
現在のPHPではPOST、GETはfilter_inputで取るのを推奨するようになった。
それはPHP開発者が欠陥を認めたからだ。
$_SERVERについても本来は INPUT_SERVER で取れるようにするはず
ttp://php.net/manual/ja/function.filter-input.php
なんだけど、とれなかった。つまり実装途中だった。(今現在はどうなってるか調べてない)。
リファレンス的にfilter_inputに関しては$_SESSIONは対象範囲ではないんだけど、
「同じスーパーグローバルなのに、あるものは直接操作OKで、あるものはダメ」
みたいな状態にしたいの?お前は。
したいのか、多くのPHPerは脳みそ自体がカオスだから。
>じゃどうやってセッション変数セットするわけ?
セッターメソッド使うんじゃない? 普通の脳みその人なら。
getterであるfilter_input()メソッドを推奨する言語ならセッターも用意するでしょ。
>あと>>523のはただの参照であって$_POSTだろうがコード中に出てきても問題ない
参照してるだけだと、>>523を読んだだけで全てのコードで参照してるだけだとどうしてわかるんだ?
エスパーか何かか?
つまり、お前、アホだろう。
0530nobodyさん
2016/09/14(水) 20:27:34.82ID:???0531nobodyさん
2016/09/14(水) 20:30:48.99ID:???それどころか嘘を本当のことのように言ってしまうのが朝鮮人らしいな
0532nobodyさん
2016/09/14(水) 21:23:51.96ID:???0533nobodyさん
2016/09/14(水) 21:46:54.31ID:???0534nobodyさん
2016/09/15(木) 14:56:08.42ID:???> 「同じスーパーグローバルなのに、あるものは直接操作OKで、あるものはダメ」
> みたいな状態にしたいの?お前は。
普通なら、セッション情報は直接操作OKで、GETやPOSTの内容はダメって感じだと思うだろうね。
なんか違和感ある?
0535nobodyさん
2016/09/15(木) 15:40:05.34ID:???無いなら、統一性のないメチャクチャなプログラム書いてそうだな、お前。
いいんじゃない? PHPerのほとんどはクソグラマだし。
その上の奴らはそれ以前の問題の奴で、人数とレス数合ってなそうだな。
0536nobodyさん
2016/09/15(木) 15:48:32.73ID:???POSTもGETもSERVERもCOOKIEもSESSIONもみんな
アクセスが抽象化されてるなー
なんでかなー
にっぽんのお猿さんには全く理解できなそうだなー
0537nobodyさん
2016/09/15(木) 16:59:00.69ID:???0538nobodyさん
2016/09/15(木) 17:11:35.89ID:???あるねそれ
デフォルトの設定だとGETとPOSTだけになってるけど
全開で全部透過にしてる人っているんだろうか
0539nobodyさん
2016/09/15(木) 17:15:17.76ID:???が偉くて、
$_POST['hoge']
がアホだという価値観がわからん
0540nobodyさん
2016/09/15(木) 17:15:23.98ID:???する必要のないことをやってるだけだろ
0541nobodyさん
2016/09/15(木) 17:23:44.75ID:???ここにきてフレームワークの話を持ち出すのはなんで?
>>じゃどうやってセッション変数セットするわけ?
>セッターメソッド使うんじゃない? 普通の脳みその人なら。
>getterであるfilter_input()メソッドを推奨する言語ならセッターも用意するでしょ。
こんなこと書いてたのに。
0542nobodyさん
2016/09/15(木) 17:27:04.81ID:???書いてある通りのこと言ってるじゃん。馬鹿なの?脳みそないの?
0543nobodyさん
2016/09/15(木) 17:32:17.96ID:???h = new Hash();
h['hoge'] = 'fuga'; <= アホのやること
h.set('hoge', 'fuga'); <= 正しいやり方
print h['hoge']; <= アホのやること
print h.get('hoge'); <= 正しいやり方
0545nobodyさん
2016/09/15(木) 17:38:34.55ID:???外れてはいないけど当たってもいない表現だなぁ。
PHPにはマジックメソッドというすばらしいものがあるし。
ただ1つだけ確かなことは、
・元が何であったかわからなくしてはダメ
・同じ種類の操作は統一されるべき
上にいるバカどもは、なぜ統一されるべきなのかわかっていない。
そういう奴らのエラーハンドリングは大抵ゴミクズコードだな。
0546nobodyさん
2016/09/15(木) 17:41:48.46ID:???ドキュメントでは、普通に$_SESSION使う例が載ってますが
http://www.codeigniter.com/user_guide/libraries/sessions.html
0547nobodyさん
2016/09/15(木) 17:42:56.01ID:???0549nobodyさん
2016/09/15(木) 17:48:02.49ID:???0550nobodyさん
2016/09/15(木) 17:48:43.75ID:???> ただ1つだけ確かなことは、
> ・元が何であったかわからなくしてはダメ
> ・同じ種類の操作は統一されるべき
二つになってますがな・・・
0551nobodyさん
2016/09/15(木) 17:56:08.19ID:???> 外れてはいないけど当たってもいない表現だなぁ。
は?直接操作するなってそういうことだろ?
「外れてはいないけど当たってもいない」ってどういうことだよ
自分の意見も明確に言えないのか?
0552nobodyさん
2016/09/15(木) 18:18:29.59ID:???外国人なのかな。
だとしたら日本語うまいほうだぞ。
0554nobodyさん
2016/09/15(木) 18:35:03.75ID:???言語側がセッターを用意するだろうなんてこと言わずに、フレームワークで提供されてるだろっていえば済んだ話
0555nobodyさん
2016/09/15(木) 18:38:52.23ID:???0556nobodyさん
2016/09/15(木) 18:56:36.39ID:???>それはPHP開発者が欠陥を認めたからだ。
単に機能を集約してより便利に簡潔にかけるようにしただけな
0557nobodyさん
2016/09/15(木) 19:34:12.67ID:???> >>542
> 言語側がセッターを用意するだろうなんてこと言わずに、フレームワークで提供されてるだろっていえば済んだ話
俺が言ってることはそういうことじゃないんだよ、おサルさん。
0558nobodyさん
2016/09/15(木) 19:35:18.56ID:???あほだなー。そういうことだったらPHPリファレンスはあんな表現にはならんだろ。
脳みそ使えよ。多分少しはありそうだから。
0562nobodyさん
2016/09/15(木) 20:42:26.63ID:???0563nobodyさん
2016/09/15(木) 20:43:48.84ID:???入力元を定数で指定するとかUnix原理主義者憤死確実のこれがマジ?
変数に入れて処理しようとしたらスカラーと配列で別の関数を使い分けさせるこれがマジ?
フィルターなのにフィルター指定が省略できるジョークAPIだよマジ?
外部入力値をtaint扱いする仕様をリジェクトされた事に対する嫌がらせで
入力値をサニタイズするというCGI黎明期仕様に仕上げただろマジ?
コールバックとループがアクロバティックに交差するジェットコースターは作りたくないぜマジ
あと「$_*をノーチェックで使用するな」警告を「$_*を使用するな」と取り違えてる奴も居そうなんだけど
スーパーグローバルはみんなでたのしくなかよくつかってねを周知させた方がマシだよマジ
0564nobodyさん
2016/09/15(木) 20:46:10.94ID:???何度も言ってるとおり、PHPerはクソグラマばっかりだから
だれも君のこと責めないよ?
0565nobodyさん
2016/09/15(木) 20:49:19.54ID:???0566nobodyさん
2016/09/15(木) 20:51:13.99ID:???> >>545
> > 外れてはいないけど当たってもいない表現だなぁ。
> は?直接操作するなってそういうことだろ?
> 「外れてはいないけど当たってもいない」ってどういうことだよ
> 自分の意見も明確に言えないのか?
え? お前、日本人ぽいけど「毒にも薬にもならない」って表現が分からないって意味?
すげーな、じゃぱにーず、すげーな!
0572nobodyさん
2016/09/15(木) 21:15:18.33ID:???0573nobodyさん
2016/09/15(木) 21:39:10.07ID:???テストできないのは嫌だけど石器時代もいやだな〜
モック化する手段教えてくれるなら頑張って進化しちゃうよマジ
0574nobodyさん
2016/09/15(木) 21:57:18.57ID:???ソースは?これってただのバリデーション機構だろ?
フィルター未指定ならPOST,GETを直に取るのと何も変わらないだろ?
0575nobodyさん
2016/09/15(木) 22:09:18.82ID:???>テストできないのは嫌だけど
の意味がよくわかんなかったのなー
お前、全部のPHP関数が正しく動くか把握してるのなー?
コミッターなー? コミッターの人なー?
すげーな、おまえ、すげーなー
ちょっと前に、Nullバイトくると好きなPHPコード実行できちゃうバグ見つかってたな―
おまえ、それ、事前にわかってたなー、すげーなー。
神。神なー。
0576nobodyさん
2016/09/15(木) 22:13:16.63ID:???>フィルター未指定ならPOST,GETを直に取るのと何も変わらないだろ?
これからもそうすればいいんじゃない? PHPerのほとんどはクソグラマだし。
誰も責めないよ?どうぞご自由に。俺はお前とは関わること、多分一生無いし。
■ このスレッドは過去ログ倉庫に格納されています