X



PHP質問・雑談スレ6【初心者お断り(ROM歓迎)】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
垢版 |
2019/05/12(日) 18:21:04.82ID:Bj6LHkP3
PHPに関する質問や雑談をするスレです。
初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。

PHP未導入の方や、手取り足取りが必要な初心者の方はム板のくだスレへどうぞ。
https://mevius.5ch.net/tech/ (【PHP】で板内を検索)

前スレ
https://medaka.5ch.net/test/read.cgi/php/1538639036/

その他リンク
・PHPマニュアル
 https://secure.php.net/manual/ja/index.php
・コードテスト・貼り付け用
 https://ideone.com/
・プログラミングのお題スレ (求PHPer参戦)
 https://mevius.5ch.net/tech/ (お題スレで板内を検索)

このスレで扱う話題
・PHPのコード,設定や設定値に関する質問
・常識的範囲内でのコードレビュー依頼・改良相談
・PECL,PEARに関する質問
・PHP新機能やPHP関連トレンドの話題
 (FWや非公式ライブラリの話題や特徴比較は良いが使い方から先の話題は専スレへ)
・PHPのバグ発見報告・公式に報告する前の検証依頼

このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
 (HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造
0286nobodyさん
垢版 |
2020/10/03(土) 20:06:29.98ID:VpO2oA58
WSL2のDockerで
Windowsのファイルシステム上にあるphpファイルを読ませると
遅すぎて使い物にならない

従来のHyper-Vバックエンドの方がまだマシ

https://github.com/docker/for-win/issues/7719

WSL2のWindowsファイルシステムが遅いせいらしい

Unisonで同期すれば速いけどちょっと最初の設定が面倒くさい
0287nobodyさん
垢版 |
2020/10/07(水) 14:55:34.60ID:???
>>274
2週間以上前の質問にレスするのもアレだが2次元以上の配列を使えば良いだけでは?

$arr = [
1 => [
'question' => '昼間の空は何色?',
'choice' => [
'A' => '青',
'B' => '赤',
'C' => 'ピンク',
],
'correct' => 'A',
],

2 => [
'question' => 'てめぇの血は何色だぁ?',
'choice' => [
'A' => '青',
'B' => '赤',
'C' => 'ピンク',
],
'correct' => 'B',
],
];

$qid = array_rand($arr);

$question = $arr[$qid]['question']; // 問題
$choice = $arr[$qid]['choice']; // 選択肢
$correct = $arr[$qid]['correct']; // 正解

unset($arr[$qid]); // $qidを何らかの方法で保存しておいて、出題が終わったものは削除すりゃいい
0288nobodyさん
垢版 |
2020/10/07(水) 14:57:25.14ID:???
>>287のインデントが消えて見にくいだろから、インデント部分を全角スペースに置き換えたら見やすくなるか?
shuffle()は駄目だな 配列のキーがリセットされてしまうから、287みたいな事ができなくなるので

$arr = [
  1 => [
    'question' => '昼間の空は何色?',
    'choice' => [
      'A' => '青',
      'B' => '赤',
      'C' => 'ピンク',
    ],
    'correct' => 'A',
  ],

  2 => [
    'question' => 'てめぇの血は何色だぁ?',
    'choice' => [
      'A' => '青',
      'B' => '赤',
      'C' => 'ピンク',
    ],
    'correct' => 'B',
  ],
];
0289nobodyさん
垢版 |
2020/10/23(金) 00:41:55.69ID:???
windows consoleでfgets(STDIN,4096)で
入力待ちにしたいのですが次に進んでしまって入力待ちになりません
この間まで問題なかったのですが
proc_openあたりの関数使ってからおかしくなった気がします
設定でも書き換わったのか再起動しましたが直りません
何か修正する方法知ってる方いたら教えて下さい
0291nobodyさん
垢版 |
2020/11/21(土) 18:14:41.87ID:TFRH5PeG
テキストファイル保存して適宜読み込もうと思ってる

テキストファイルのコンテンツは1行のものもあれば複数行のものもある
うまい具合に混在させるにはどういう仕様にしたらいいかな?

ぱっとおもいついたのは次のような書式

AAA
BBB
CCC
[multi1]
DDD
EEE
[/multi1]
FFF
GGG
[multi2]
HHH
III
JJJ
[/multi2]
KKK

これより優れた書式ってあると思う?
0295nobodyさん
垢版 |
2020/11/21(土) 19:03:55.33ID:???
>>291
いくらでもあるが
思ったら既に挙げられてるか
0296nobodyさん
垢版 |
2020/11/21(土) 20:13:25.09ID:???
jsonはねぇ・・・
見やすいことは見やすいんだけど
いざ手書きで記述するとなると括弧が結構面倒くさくて
0297nobodyさん
垢版 |
2020/11/21(土) 21:04:18.94ID:???
は?なんで手書きすんだよw
0298nobodyさん
垢版 |
2020/11/22(日) 15:24:22.67ID:???
全部単行にして複数行へは実態への参照だけ置くとかもあるね
用途次第かなと
0299nobodyさん
垢版 |
2020/11/28(土) 10:32:12.49ID:???
で、PHP8は神ですか?
0300nobodyさん
垢版 |
2020/11/29(日) 12:29:06.55ID:???
Worldwide, Nov 2020 compared to a year ago:

Rank
Change Language Share Trend
1 Python 30.8 % +1.8 %
2 Java 16.79 % -2.3 %
3 JavaScript 8.37 % +0.3 %
4 C# 6.42 % -0.9 %
5 PHP 5.92 % -0.2 %
6 C/C++ 5.78 % -0.2 %
7 R 4.16 % +0.4 %
8 Objective-C 3.57 % +1.0 %
9 Swift 2.29 % -0.2 %
10 TypeScript
0301nobodyさん
垢版 |
2020/11/30(月) 21:24:45.97ID:???
PHP8とLibreSSLって相性悪い?
makeしたらOPENSSLでエラー
ソースコードopenssl.cでLibreSSLを除外するよう、イジったらmake testでエラー
0302nobodyさん
垢版 |
2020/12/02(水) 08:41:15.46ID:???
>>291
単に改行を含みたいだけならシングルカラムのcsvでいいと思いますよ
0303nobodyさん
垢版 |
2020/12/03(木) 02:12:45.56ID:???
phpとpythonはどっちがつおいですか?(´・ω・`)c
0304nobodyさん
垢版 |
2020/12/11(金) 01:43:56.29ID:???
とうとうPython環境作りましたけどPHPと同じことするんだったらちょっとつまらないです
0305nobodyさん
垢版 |
2020/12/12(土) 09:16:51.51ID:???
もうそろそろPHPカンファレンス2020が始まりますな
視聴しよう
0306nobodyさん
垢版 |
2020/12/18(金) 03:33:11.51ID:???
最近のPHPって引数や返り値の型指定できんのに
オーバーロードはまだ使えないのね(まだっていうか一生使えないのだろうが)
同じ関数名でいいのに関数名考えるのがめんどくさいし盛りすぎてださくなるわー
もう少しだけ賢くなってくれえ
0307nobodyさん
垢版 |
2020/12/18(金) 22:38:49.59ID:???
そっちの方向に行きすぎるとC言語でいいじゃん、ってなってしまう
適度な中庸が肝心よ
0308nobodyさん
垢版 |
2020/12/18(金) 23:30:43.83ID:???
strpos(string $haystack, string $needle)
変な引数名だよなこれ
0309nobodyさん
垢版 |
2020/12/18(金) 23:35:07.94ID:???
>>306
7.4でようやくプリミティブ型の指定に対応したばっかだし、まだまだ先だろうな。

>>307
Cにオーバーロードなんて無いが…?
0310nobodyさん
垢版 |
2020/12/19(土) 04:52:55.21ID:???
干し草の中から金の針を探すっちゅうやつやろ
別に変だとは思わないけど引数の順番をなんとかしろは5万年前から言われてるな
0311nobodyさん
垢版 |
2020/12/19(土) 06:11:48.45ID:???
strpos(string $string, string $search)
0313nobodyさん
垢版 |
2020/12/19(土) 20:50:07.61ID:???
string.search(searchstr) return int position
0315nobodyさん
垢版 |
2020/12/22(火) 22:02:08.20ID:uEdpc3u4
phpunitでモックを使う方法について、
なんかいい感じに解説してる記事ない?
電子書籍でも可
0316nobodyさん
垢版 |
2020/12/22(火) 22:25:07.25ID:uEdpc3u4
そもそもモックを使う意味からして分かってないんよ
モックってクラスにある実際の関数が動くものかと思ってたら
調べてみると関数だけあっても中身は空になってしまうみたいで
じゃあモックを使ったら何をテストできるのかってのが
全く分からん
というわけで、モックを使う意味からして解説してくれている
書が必要なのです
0317nobodyさん
垢版 |
2020/12/22(火) 23:49:55.17ID:???
>>316
今テストしたくない関数をモックにするんだよ
0318nobodyさん
垢版 |
2020/12/23(水) 02:04:59.13ID:3PIhRZEH
>>317
テストしたい関数の中で使われている関数をモックにする
という理解でええ?
0320nobodyさん
垢版 |
2020/12/24(木) 21:11:40.66ID:N+NIblSG
>>319
なるほどなぁ
何でモックと呼ばれてるのかようやく分かったわ
ありがとう
0321nobodyさん
垢版 |
2021/01/08(金) 23:30:23.21ID:???
GETで指定したディレクトリの内容を読み取るスクリプトがあります
シングル/ダブルクオートやバックスラッシュが入ると
$_GETで取得した際スクリプト側で勝手にエスケープされるらしく
色々試したのですがstripcslashesでうまく取り除くことができました
それでエスケープ解除したこの文字列でディレクトリ検索をかけるわけですが
これら文字のエスケープを解除して検索することで
何かセキュリティでまずくなるようなおそれってありますか?
CRUDでいうとRの機能しかありません
またファイルにアクセスできるわけでなくあくまでもプロパティの表示にとどめています
スクリプト側で指定したルートディレクトリから始まって
かつ../が入っていないといった感じにしてディレクトリトラバーサルは対処しています
0322nobodyさん
垢版 |
2021/01/09(土) 21:13:08.57ID:???
>>321
頑張ってるたあ思うけど、「頑張らなくても大丈夫」な方法を採った方がより良いよ
chrootをきちんと使うとか
0323nobodyさん
垢版 |
2021/03/23(火) 11:38:18.51ID:X6ZcACoF
質問させてください
リンク先がSSL対応してるか調べるにはどうしたら良いですか?
よろしくお願いします!
0324nobodyさん
垢版 |
2021/03/23(火) 15:50:40.21ID:???
>>323
httpsでアクセスして、応答があれば対応しています
0325nobodyさん
垢版 |
2021/03/23(火) 16:37:19.42ID:X6ZcACoF
>>324
すみません、PHPのソースで教えてください
0327nobodyさん
垢版 |
2021/03/23(火) 19:20:49.90ID:X6ZcACoF
>>326
レスありがとうございます
やはりcURLかfile_get_contentsですよね
でもそれでどうやってSSL対応を判別するのか?ググっても情報が出てきません...orz
0329nobodyさん
垢版 |
2021/03/23(火) 20:18:36.01ID:X6ZcACoF
>>328
ソース付きでお願いします。
ちなみにSSL非対応でもhttpsでアクセスして応答あります。
0330nobodyさん
垢版 |
2021/03/23(火) 20:29:14.86ID:X6ZcACoF
すみません、自己解決しました。
0332nobodyさん
垢版 |
2021/03/31(水) 08:39:07.38ID:qH1WupLC
PHPの公式Gitサーバーにハッキング被害--バックドアを仕掛けるコードが見つかる - CNET Japan
https://japan.cnet.com/article/35168549/
0333nobodyさん
垢版 |
2021/04/01(木) 16:17:34.86ID:???
まぁ実害は皆無だろうな
これを機にGitHubに移行するっぽいし良かったんじゃね
0334nobodyさん
垢版 |
2021/04/02(金) 22:58:09.86ID:zNkzR+0f
334

なんでや!阪神関係ないやろ!
0335nobodyさん
垢版 |
2021/04/02(金) 23:54:42.63ID:???
>>333
過去のも改変がないか今チェック中だそうだよ
証拠残しちゃうのはお粗末だったね
まあ証拠残さないでGit改変するのも大変そうやが
0336nobodyさん
垢版 |
2021/04/03(土) 18:40:28.20ID:YxQuq+vl
gitの過去改変は無理だよね

無害なコミットに見せかけて紛れ込ませたウイルスが無いかってことじゃね
0337nobodyさん
垢版 |
2021/04/17(土) 02:02:36.68ID:???
質問です。当方、プログラムのことは全くわからない人間です。

7年前に亡くなったはずの父からメールが届きました。
メールには「このメール読んでるってことは、俺死んだんだな。元気してるか?」
みたいなメッセージが書かれていました。

父は昔PHPというプログラム言語を使っていたらしいです。
そしてこの掲示板を見ていた形跡がありました。
この技術もPHPというプログラムを使ってできる事なのでしょうか?
0338nobodyさん
垢版 |
2021/04/17(土) 02:06:03.00ID:???
申し訳ありません、初心者お断りの表記に気がつきませんでした。
上記の質問は無視していただいてOKです。
大変失礼しました。
0339nobodyさん
垢版 |
2021/04/17(土) 15:17:10.33ID:???
ネタだろうがPHPでもできないことはないだろうなw
0340nobodyさん
垢版 |
2021/04/18(日) 08:17:59.17ID:???
親父からのメールと判断したのはなんでだ?
もし既知のメアドが7年前の仕様のまま生きてるならそういうこともあるのだろうな
PHPの仕業の場合トリガーになったのは親父のPCの起動か
誰かがまだ生きてる親父のHPにアクセスしたか
(ほぼ有料の)cron使えるサーバを今日まで親父の死後も律儀に契約し続けたか
0341nobodyさん
垢版 |
2021/04/23(金) 08:44:59.09ID:???
いや、普通に考えて、
『一定時間ログインしなかった事』がトリガーだろw
つまり、七回忌を狙ったんだよ、本当に親父さんなら。
0342nobodyさん
垢版 |
2021/04/23(金) 08:46:54.98ID:???
本当に親父さんのイタズラなら、メールヘッダ読んでみると
どこにイタズラ仕込んであったかは割と簡単に分かるかもな。
流石にそこは隠蔽しねぇだろ。
0343341,342
垢版 |
2021/04/23(金) 08:59:17.30ID:???
7年だろ?
Raspberry Pi が本棚の隅とかに鎮座しててもおかしくねぇんじゃねぇの?
0344nobodyさん
垢版 |
2021/04/23(金) 12:28:07.94ID:???
なんでこの話でメールヘッダやラズパイなんて単語が出てくるのやらw
頭固そう
0345nobodyさん
垢版 |
2021/04/23(金) 12:30:59.25ID:QDojUNiW
>>344

頭『悪い』のが、お前だよ。
前提条件、よくお前の頭で整理してみ?
0346nobodyさん
垢版 |
2021/04/23(金) 16:53:58.72ID:???
そんな事を考えなくても実現できるから頭がお固いなと言ってるだけね

よく居るんだよなー
大した能力もないくせに「知ったか」で色んな単語を出したがる奴が
本人にその自覚がないのが笑えるところ
0347nobodyさん
垢版 |
2021/04/23(金) 17:37:26.79ID:???
> そんな事を考えなくても実現できるから頭がお固いなと言ってるだけね

どうやって実現する? 7年前、という条件だけど、分かってるか?

おまえ、本物の馬鹿だろ?
0348nobodyさん
垢版 |
2021/04/23(金) 17:39:35.91ID:2SWJRi6X
>>346 は『馬鹿すぎて、煙に巻いて逃げる』に、100ガバス。
0349nobodyさん
垢版 |
2021/05/01(土) 07:39:24.86ID:???
おわっ! 本当に逃げたし
>>346 馬鹿過ぎだろwww
0350nobodyさん
垢版 |
2021/05/23(日) 00:30:14.31ID:???
検索用のテキストボックスに「’」と入れて検索するとsyntacsエラーになるのですが、
これはSQLインジェクションの驚異にさらされているということでしょうか?
0351nobodyさん
垢版 |
2021/05/23(日) 01:27:00.45ID:???
>>350
はいそうです。
SQLインジェクションは大変恐ろしいのです。
備えよう
0354nobodyさん
垢版 |
2021/06/01(火) 23:30:46.16ID:???
言語の問題でなく開発者の問題だな
もちろんPHPのコアに脆弱性があることもあるがそれを利用したものではない
PHPが狙われてるのは単に利用者が多いだけだし
他の言語含めて言語自体にそういったマルウェアに対応するプロテクトが備わってるわけじゃないので
状況はいつだって変わる
0355nobodyさん
垢版 |
2021/06/02(水) 01:45:57.63ID:HlCdGnAU
>>353
それ、PHPの問題じゃなくてWordPress固有の問題。
0356nobodyさん
垢版 |
2021/06/02(水) 04:14:52.87ID:v7sUWRfO
WordPressの「固定ページの子ページ」でタグ付け可能にする方法を知っている方、教えて下さい。

■子ページとは
子ページは固定ページの一種。
親ページのスラッグが「oya」、子ページのスラッグが「ko」だった場合子ページのURLは「example.com/oya/ko/」になります

■「固定ページ」「固定ページの親ページ」でタグ付け可能にする方法
https://techmemo.biz...ge-category-tag-use/

■参考になりそうなサイト
https://wordpress.st...itle-of-a-child-page
0358nobodyさん
垢版 |
2021/06/03(木) 17:49:03.92ID:???
>>353=プログラミングが全くできない人だという事だけはよく分かるなw
問題の本質がまるで理解できていない
0359nobodyさん
垢版 |
2021/06/11(金) 11:58:07.72ID:Y/YfMu9e
お昼時にゴメンナサイ、よろしくお願いいたします

PHPのバージョンを 5.6.40 から 7.3.27 に上げたら↓がエラーするようになりました

【PHP文】
ループ
  $hage[$id][0]=$row[name];
  $hage[$id][1]=$row[age];
  $id++;
ループ終わり

【エラーメッセージ】
arse error: syntax error, unexpected ',', expecting ']' in /home/xxxx
0360nobodyさん
垢版 |
2021/06/11(金) 12:02:54.76ID:Y/YfMu9e
初心者お断りでした。ごめんなさい
別に移動します
0361nobodyさん
垢版 |
2021/06/11(金) 13:46:37.80ID:???
>>359
未定義定数を勝手に文字列にする仕様ってPHP7だと廃止になったんだっけ?
0362nobodyさん
垢版 |
2021/06/11(金) 13:48:32.06ID:???
なるほど PHP7.2以降では E_WARNINGになんのか
あれ邪魔だったもんな
0363nobodyさん
垢版 |
2021/06/26(土) 05:12:23.80ID:???
php.netからメールがきて焦ったわ
10年前に出鱈目な英語でPHPのバグリポート送って
見てる人は何言ってんだコイツ?状態だったと思うんだけど
一応再現できるコード書いといたから当時誰かが試してくれたのか
1票イイネ的なもの押してくれたのだがそれっきり10年経って
今更になってリプライがついて俺はどうしたらいいんだw
それによると今のバージョンでは再現しないとのことらしい
0364nobodyさん
垢版 |
2021/06/27(日) 15:27:37.88ID:???
>>363
問題のコードが消えてなくなるまで辛抱強く待ってたのか
案外せこい連中だ
0365nobodyさん
垢版 |
2021/07/27(火) 14:28:22.91ID:???
質問させてください
このコードがエラーになるのですが解決方法ありますか?

return ($binary{0} == "0" ? bindec($binary) :
0366nobodyさん
垢版 |
2021/07/27(火) 14:55:24.71ID:???
釣りなのか知らんけど釣りじゃないならエラーメッセージくらい貼りなよ
0367nobodyさん
垢版 |
2021/07/27(火) 18:37:32.10ID:???
エラー貼らなきゃわからん問題じゃねぇだろ。

三項演算子 a = b ? c : d ; の形になってない。
意味は、

if(b) { a = c } else { a = d}

else { a = d } の部分がない。

つまり、 : 〜 ; が必要。
0368nobodyさん
垢版 |
2021/07/27(火) 18:39:44.56ID:???
return ($binary{0} == "0") ? bindec($binary) : hogehage ;

の hogehage が必要という意味。 ? の前の綴じ括弧は補完した。
0369365
垢版 |
2021/07/27(火) 19:04:55.41ID:Ttak0xwh
失礼しました
エラーメッセージはこれです


Deprecated: Array and string offset access syntax with curly braces is deprecated in
0370365
垢版 |
2021/07/27(火) 19:29:31.88ID:Ttak0xwh
ちなみにソースコードはこのページの18行目です
https://gist.github.com/hm2k/2690037

PHPをバージョンアップした後にエラーが出たので
ソースコードを弄ればエラー解消すると思うのですが、どうでしょうか?
ご教授お願いします。
0372365
垢版 |
2021/07/27(火) 21:34:10.16ID:???
>>371
すみません、わかりません、当方初心者です
0373nobodyさん
垢版 |
2021/07/27(火) 22:17:54.31ID:???
>>372
別人ですが、
$binary{0}
のように波括弧で配列のキーを書くことができたのはphp7までで、php8ではエラーになります。
php8では
$binary[0]

波括弧ではない。[0]
0374365
垢版 |
2021/07/27(火) 22:29:59.53ID:???
>>373
なるほど、そういうことでしたか!
ありがとうございました!
0375nobodyさん
垢版 |
2021/07/31(土) 12:21:00.77ID:???
エラーメッセージに思いっきりそのまま書いてあるじゃないか
0376nobodyさん
垢版 |
2021/07/31(土) 13:53:03.47ID:???
PHPerはエラーを確認しない
0378nobodyさん
垢版 |
2021/07/31(土) 20:58:09.35ID:???
>>377
ほらよ

非推奨: 配列と文字列の添字に波括弧を使うことは非推奨になりました
0379nobodyさん
垢版 |
2021/08/05(木) 00:58:20.75ID:???
>>378
そんな上手に訳せるとはあなた頭いいですね!
0380nobodyさん
垢版 |
2021/08/20(金) 20:34:49.17ID:???
簡単なお問い合わせフォームだけというありそうでなかった依頼が来たんだけど
素のPHPでゼロから作るとテンプレートエンジンとかバリデーションとかめんどくさいので、何か向いてる極小なフレームワークないだろうか
0381nobodyさん
垢版 |
2021/08/20(金) 23:06:58.48ID:???
codeigniterがええんでない
0382nobodyさん
垢版 |
2021/08/22(日) 07:35:53.10ID:???
めんどくさいってほどめんどくさくないだろ
html部を除けば1時間で終わる
そんなFWの選定やらよくわからんものの使用方法学ぶよりさっさと作っておしまい
0383nobodyさん
垢版 |
2021/08/22(日) 15:21:54.84ID:???
セキュリティ的にある程度しっかりしたことしようと思ったら面倒じゃない?
適当に作ったら絶対抜けがあるし
0384nobodyさん
垢版 |
2021/08/22(日) 21:32:04.82ID:???
お問い合わせフォームで本当にめんどくさいのは
「お客さんから確認メールが届かないって苦情が来てるんだけど…」
だよ。
0385nobodyさん
垢版 |
2021/08/22(日) 22:43:38.24ID:???
それ単に迷惑フォルダに入っているだけでは?と回答して終了じゃない?
■ このスレッドは過去ログ倉庫に格納されています

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