2ch勢いランキング 全部 1- 最新50

PHP質問・雑談スレ6【初心者お断り(ROM歓迎)】


nobodyさん [] 2019/05/12(日) 18:21:04.82:Bj6LHkP3
PHPに関する質問や雑談をするスレです。
初心者お断り(ROM歓迎)と書いてますが、初心者用のスレが用意されているからで、
難しい質問や話題をしなければいけないわけではありません。
PHPマニュアルの読み方を概ね理解していて、関数リファレンスが正しく読める方用のスレです。

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

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

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

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

このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
 (HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造
nobodyさん [sage] 2019/05/12(日) 19:37:04.78ID:???
最近ちんぽがかゆいです。
パンツを脱いでちんぽを調べてみたら
尿道のところに細い糸のようなものがくっついていました。
糸を取ろうと思って指を近づけてみたら
糸がうねうね動きながら尿道の中に消えていきました。

・・・・僕のちんぽは蟲に乗っ取られました。
nobodyさん [sage] 2019/05/18(土) 00:58:15.87ID:???
サーバーサイドPHPなんですが
HTTPレスポンスヘッダでheader関数を使って

Content-Type: text/html; charset=UTF-8

のように文字コードまで送信しておくのがセキュリティ上好ましいという話を良く聞きますが
PHP7.2で試すと上記のヘッダーを送信しなくても自動で送信されてるんですよね
文字コードの指定まで完璧に

最近のバージョンでこうなったんでしょうか?
それと文字コードはUTF-8固定なんですかね、あるいはphp.iniのdefault_charsetから得ているのでしょうか

どうも公式マニュアルにこのあたりの情報がないのですが、わかる方教えてください
nobodyさん [sage] 2019/05/18(土) 01:04:42.56ID:???
前半はよく知らんけど、後半はマニュアルに書いてある。
ttp://https://www.php.net/manual/ja/ini.core.php
default_charset 確認してみ。
3 [sage] 2019/05/18(土) 02:16:45.81ID:???

レスありがとうございます

default_charsetの方に説明がありましたか
見落としてました

default_charsetがちゃんと設定されていれば
header()でConten-Typeを送信しなくても良さそうですね
もちろんtext/htmlのときだけですが
nobodyさん [sage] 2019/05/18(土) 10:28:33.86ID:???
そんなところで時間使うのもったいない
フレームワーク使ってそんな些細なところはすっ飛ばせ
nobodyさん [sage] 2019/05/18(土) 11:26:14.88ID:???
そもそもクライアントサイドPHPなど無い
nobodyさん [sega] 2019/05/18(土) 13:56:25.13ID:???

firefoxやchromeでそういうプラグインあると楽しいよね
nobodyさん [sage] 2019/05/18(土) 14:08:51.08ID:???
あんまり楽しくない・・・これ以上ややこしくするんじゃない・・・
nobodyさん [sage] 2019/05/19(日) 08:22:57.85ID:???
HTTPレスポンスヘッダの文字コードって何かセキュリティに効果あるんか?
レスポンスがどうだろうと、ユーザーが別の文字コードにエンコードしたら意味無いだろ?
異なる文字コードでフォーム送信してきたデータをうまく処理する仕組みがなければ
セキュリティリスクは変わらないと思うんだが。

まぁ意図してやらなきゃ発生しないって意味ではセキュリティ上好ましいって言えるのか?
nobodyさん [sage] 2019/05/19(日) 08:51:41.02ID:???
文字エンコーディングが曖昧だとブラウザが文字エンコーディングを
自動判別してしまう場合がある
そのとき、サーバー側が意図した文字エンコーディングとは違うものがブラウザで
採用されてしまった場合、サーバー側が意図していないメタ文字などが浮かび上がって
しまう場合がある

こういう解釈を俺はしている
nobodyさん [sage] 2019/05/19(日) 09:39:22.81ID:???
サーバ、クライアント、どちらからどちらに文字列を送るかよくわからないけど、嘘ついたら希望の処理をしない
nobodyさん [sage] 2019/05/19(日) 12:47:23.73ID:???
美乳って入れとけばええねん
nobodyさん [sage] 2019/05/19(日) 13:11:01.86ID:???
懐かしいなw
nobodyさん [sage] 2019/05/20(月) 08:50:06.62ID:???

根本的にわかってないだろ
nobodyさん [sage] 2019/05/20(月) 16:32:02.33ID:???
ブラウザ側が容易に文字コードを指定できる以上、
ヘッダを指定しようと、美乳入れようと、おまじない以上の価値しか無い
セキュリティ向上には繋がらない

セキュリティとしてはどのような文字コードでフォーム送信してきても
上手く処理できる仕組みでなければリスクは残る
例えばUTF-7なら、<>や"を記述せず表すことが出来る。それを鵜呑みにして通過させたらえらい事になる。

そういうのを回避する為、PHPでは親切なことにhtmlspecialcharsという素敵な関数が用意されている。
これを通していれば文字コード関連はまず問題ない。
ヘッダで文字コード指定するより、入力にhtmlspecialcharsしておくほうがセキュリティ的には大切だ。
nobodyさん [sage] 2019/05/20(月) 19:39:10.76ID:???
そういうことじゃないんだよなぁ
nobodyさん [sage] 2019/05/20(月) 20:56:17.56ID:???

CGM とかのユーザ投稿を許容するサイトで、もし任意の charset 指定ができてしまうと、文字のバケ具合によってはエスケープされてない記号が生きる可能性が出てくる。
結果書き込み内容によっては XSS とかができるようになって困ってしまう。
nobodyさん [sage] 2019/05/21(火) 01:31:16.55ID:???

任意の文字コードは誰でも出来るだろ
何でブラウザ側にある情報を任意に指定できないと思ってるんだ?

chromeだとこれ入れれば出来る
ttp://https://chrome.google.com/webstore/detail/set-character-encoding/bpojelgakakmcfmjfilgdlmhefphglae

ブラウザ側の文字コードが何であってもサーバー側の都合のいい様にエスケープするのがhtmlspecialcharsだろ
nobodyさん [sage] 2019/05/21(火) 04:03:24.70ID:???
違います
nobodyさん [sage] 2019/05/21(火) 07:05:36.99ID:???
htmlspcialcharsでエスケープした後の文字列を、別の文字エンコーディングで解釈すれば
htmlspecialcharsの効果なんてないんだよ

htmlspecialcharsでの対策と、Content-Typeにおける文字エンコーディング指定は
それぞれ別の攻撃に対する対応なんだよ

徳丸本くらいは読んだ方がいい
nobodyさん [sage] 2019/05/21(火) 07:41:00.77ID:???
サーバーに対するセキュリティというより、
サーバーを使うユーザーに対するセキュリティだな
nobodyさん [] 2019/05/29(水) 09:38:20.62:2dLx3j4D
PostgreSQLってPHPでまともに動くの?
接続処理にプロセスのフォークが使われてて
スレッドを使うMySQLより重いと聞いた

コネクションプールはリクエストの度に毎回環境を捨てるphpでは使えないし
nobodyさん [sage] 2019/05/29(水) 13:44:43.89ID:???
情報古すぎじゃない?
nobodyさん [sage] 2019/05/29(水) 14:12:18.42ID:???
10〜15年前ぐらいにタイムスリップしたのかと思ったわ
nobodyさん [sage] 2019/05/29(水) 22:32:19.90ID:???
マルチプロセスなのは変わってなくない?MySQLよりも重たいのは確かにある。コネクションプールもPHPじゃダメだよね。
使い物にならないってことは100%ありえないけど。なんならPostgreSQLのほうが得意な分野もあるし。
nobodyさん [sage] 2019/05/29(水) 22:57:59.47ID:???
PostgreSQLのほうが早くね?
nobodyさん [sage] 2019/05/30(木) 00:11:53.33ID:???
全部間違っているからどのサイトか晒してけ
nobodyさん [sage] 2019/05/30(木) 00:32:12.48ID:???
マルチプロセスについて
ttp://https://www.postgresql.jp/document/10/html/tutorial-arch.html
nobodyさん [sage] 2019/05/30(木) 03:07:49.50ID:???
イベントモデル普及前の話題だな
今では考えられない世界だ
nobodyさん [sage] 2019/05/30(木) 08:05:11.02ID:???
イベントモデルなんて一部の分野でしか使われてないやん…
nobodyさん [sage] 2019/05/30(木) 08:12:36.38ID:???
両方選べるDBもあるけど、普通のサーバインスタンスならマルチプロセスのほうがいいよ
pgのコネクションプーラは各種あるので好きなものを使えばいいと思うけど、WEBアプリでプーラが必要になるケースの知識はあるの?
リクエストまたいでコネクションを使いまわしてオーバーヘッドを減らす、みたいなイメージしてないかい?
PHPは環境を捨てるというけど、HTTPがステートレスであることと混同してないかい?それにアプリ層にはセッションがあるのだけれど
nobodyさん [] 2019/05/30(木) 08:19:31.20:DjbEwjFg
UberはPostgreSQLからMySQLに変えた

Why Uber Engineering Switched from Postgres to MySQL
ttp://https://eng.uber.com/mysql-migration/
nobodyさん [] 2019/05/30(木) 08:23:13.31:DjbEwjFg
Connection Handling

MySQL implements concurrent connections by spawning a thread-per-connection. This is relatively low overhead;
each thread has some memory overhead for stack space, plus some memory allocated on the heap for connection-specific buffers.
It’s not uncommon to scale MySQL to 10,000 or so concurrent connections, and in fact we are close to this connection count on some of our MySQL instances today.

Postgres, however, use a process-per-connection design.
This is significantly more expensive than a thread-per-connection design for a number of reasons.
Forking a new process occupies more memory than spawning a new thread. Additionally, IPC is much more expensive between processes than between threads.
Postgres 9.2 uses System V IPC primitives for IPC instead of lightweight futexes when using threads.
Futexes are faster than System V IPC because in the common case where the futex is uncontended,
there’s no need to make a context switch.
nobodyさん [] 2019/05/30(木) 08:23:50.00:DjbEwjFg
Beside the memory and IPC overhead associated with Postgres’s design,
Postgres seems to simply have poor support for handling large connection counts,
even when there is sufficient memory available.
We’ve had significant problems scaling Postgres past a few hundred active connections.
While the documentation is not very specific about why,
it does strongly recommend employing an out-of-process connection pooling mechanism
to scale to large connection counts with Postgres.
Accordingly, using pgbouncer to do connection pooling with Postgres has been generally successful for us. However, we have had occasional application bugs in our backend services
that caused them to open more active connections (usually “idle in transaction” connections)
than the services ought to be using,
and these bugs have caused extended downtimes for us.
nobodyさん [sage] 2019/05/30(木) 09:04:51.84ID:???
phpじゃコネクションプールだめってどういうこと?
コネクションプールってそれをマネージメントするミドルウェア的なやつを
バックグラウンドで動かしてユーザーに開いてるリソース割り振ればいいんじゃないのけ
それとも例えばセッションにいれてみたいな1:1で使い回せないってこと?
nobodyさん [] 2019/05/30(木) 09:19:06.91:jzvxS29C
pgbouncerか
Uberの記事では接続数が増え過ぎるバグがあってサーバーが落ちたってあるけど
今は大丈夫?
nobodyさん [] 2019/05/30(木) 09:21:45.29:jzvxS29C
pgbouncerはプロキシのように動作するので
仕組み的にはphpでも特にコードを変更せず
コネクションを再利用出来る
nobodyさん [sage] 2019/05/31(金) 20:52:30.68ID:???
imagewebpで合計5000ファイル計230MB程の画像ファイル群を変換しようと思ってるんだが、
imagewebpって重い?一気に変換して平気かな?
鯖に負荷が掛かるようならローカルでやってうpなんだが、一気に変換しても大した負荷で無いなら鯖でやろうと思ってる
nobodyさん [] 2019/05/31(金) 21:38:19.23:350dGCnf
鯖のスペックによる
nobodyさん [sage] 2019/05/31(金) 21:51:51.47ID:???
最近のサーバーは数GBのメモリは当たり前だから平気だと思う
nobodyさん [sage] 2019/05/31(金) 22:30:17.13ID:???
ちゃんと変換おわったファイルは毎回メモリ解放して適宜sleep挟んで
負荷がかからないようゆっくりやればいい
nobodyさん [sage] 2019/05/31(金) 22:47:07.92ID:???

スペックは高いと思うが、レン鯖なので・・・
時間掛かるとプロセス止められそうで・・・
レン鯖で実行するのは無謀かな・・・
nobodyさん [sage] 2019/06/01(土) 07:47:50.39ID:???
どうしてもレン鯖でやりたいのならリクエスト分けてやれ
1リクエスト5枚ぐらいにして1時間500枚ぐらいのペースになるよう調整して
10時間ブラウザ開いて放置しとけば終わってるみたいな
ただそんな面倒なことするぐらいならおとなしくローカルにPHP入れて
コマンドラインからスクリプト叩いて変換すればすぐ終わるし確実
nobodyさん [sage] 2019/06/01(土) 09:09:33.24ID:???

ローカルでやると、サーバから下ろして、また上げての作業がめんどうでは?
nobodyさん [sage] 2019/06/01(土) 09:15:37.32ID:???
FTPで対象フォルダを選択してダウンロード押すのと
わざわざ専用のスクリプト(PHP,JavaScript)書くの
どっちが面倒なのか一目瞭然だろ
nobodyさん [] 2019/06/01(土) 09:38:22.40:kaKNIqp8
レン鯖ってルールが曖昧で忖度を求められる物なの?
nobodyさん [sage] 2019/06/01(土) 09:41:45.57ID:???
ローカルPHPにFTP関数がある
nobodyさん [sage] 2019/06/01(土) 11:41:15.79ID:???
最悪BANになってもいいならチャレンジしてもいいのでは?
日常的に画像変換を目的にしてならともかく
ブログとかのコンテンツの整理だろうし問題視されないはず
自分は10年以上前にアップローダー運営してたら高負荷で利用停止になって
対策してくれって怒られたことがある
サーバ管理者は数字みればすぐ誰が原因かわかるから
まとめて一気にやるととんがった山みたいなグラフかくから
数回ぐらいじゃ目つけられないだろうけど気になるならある程度は配慮したほうがいい
nobodyさん [sage] 2019/06/02(日) 18:49:08.76ID:???
そもそも今日び何でレン鯖?
もはや安くもないし一番簡単なわけでもないし制限は多いし
nobodyさん [sage] 2019/06/02(日) 21:24:06.24ID:???
では今日日何を選べばいいの?
nobodyさん [sage] 2019/06/02(日) 22:13:48.78ID:???
AWS
nobodyさん [sage] 2019/06/02(日) 22:43:34.71ID:???
100円台から借りれるし安いだろう
比較的まともなのだと500円ぐらいは必要だけど
自分は2Gの定額VPSだけど
従量制のクラウドは怖いわあ
nobodyさん [sage] 2019/06/02(日) 23:35:32.95ID:???
0円レン鯖の俺って一体
nobodyさん [sage] 2019/06/03(月) 00:23:38.74ID:???
ちゃんと使えば何も怖くないけどな、AWS
まあ、個人のお遊びならVPSで十分
nobodyさん [sage] 2019/06/03(月) 00:26:24.15ID:???
AWSにもVPSあるよ
nobodyさん [sage] 2019/06/03(月) 00:50:59.10ID:???
awsならlightsailでLAMPスタック選ぶのが簡単。月5ドルもかかる割高だけど(awsの他の手段で用意するのと比べて)
nobodyさん [sage] 2019/06/03(月) 07:55:55.34ID:???
Beanstalkで
nobodyさん [sage] 2019/06/03(月) 11:27:32.52ID:???
lightsailはwordpressのイメージ選べば3.5ドルに下がる不思議
nobodyさん [sage] 2019/06/03(月) 15:12:38.74ID:???
一般的なそのへんのメモリ2G SSD30GBのVPSのスペック
PVは1日1000 月間30000 転送量は月30GB
ルールよく知らないけどこれをAWSでやると2000円じゃ収まらないでしょ?
nobodyさん [] 2019/06/03(月) 15:56:08.01:eo00ojdB
Lightsailは最も安いプランでも1TBまでの転送が無料になる
2GB RAMのサーバーは月10USD、3TBまでの転送が無料
nobodyさん [sage] 2019/06/03(月) 15:59:05.99ID:???
マルチサイトでもなきゃ2GBいらんて。
nobodyさん [sage] 2019/06/03(月) 22:36:16.48ID:???
DB使おうとするとさらに金かかるのか?謎
nobodyさん [sage] 2019/06/03(月) 22:44:55.39ID:???
ていうかOS乗せるとEC2じゃないとって感じみたいだし
ffmpeg使って動画変換とかもするから
やっぱ高くつくよな…
nobodyさん [sage] 2019/06/03(月) 23:33:26.25ID:???
VPSなんだからMySQL入れれば追加費用なしだよ。OSはAmazon linuxだよね?
nobodyさん [sage] 2019/06/04(火) 00:56:30.65ID:???

そうなのかーありがとう
OSはAmazon Linuxとか聞いたことないからCentかUbuntuがいいけども
まあそれしか安くする選択肢がないということならどうにかする
通常のVPSと同じ使い方でバッチ処理とかも全然おkで
2GBなら3TBまでの転送量だけに気をつければいいってことかな?
現在の転送量がわかるなら2.9TBぐらいになった時点で503出すようにすることもできそうだし
ちょいいじってみようかなあ
nobodyさん [sage] 2019/06/04(火) 01:07:02.17ID:???
lightsailは最安でVPSが導入出来るってだけで性能は糞
実測でストレージはかなり遅いし
RAM2GBのも1コアだし過度な期待はしないほうがいい
nobodyさん [sage] 2019/06/04(火) 09:39:02.50ID:???

アマゾンLinuxはCentOSと99パーセント同じ
nobodyさん [] 2019/06/04(火) 09:45:21.96:PBKSUDTu

Amazon LinuxはCentOSベースだからyum等が使える

BitnamiのBlueprintを使う場合はUbuntuベースらしい
nobodyさん [sage] 2019/06/04(火) 10:02:44.83ID:???
certbot の正式サポートがないのがなぁ。。。
nobodyさん [] 2019/06/04(火) 14:14:00.01:rH3aLVue
転送量での課金があるのってサーバーからインターネットへの送信だけでしょ

そんな大人気のサイトでも無い限り1TBも転送しなくね?
CloudFlareでも使っとけば更に転送量を抑えられる
nobodyさん [sage] 2019/06/04(火) 20:30:01.39ID:???
cloudflareってなにで儲けてんだ
ほとんどの人が無料プランで済んじゃわないか
nobodyさん [] 2019/06/05(水) 21:56:56.02:YdLNiMM6

ttp://https://webmasters.stackexchange.com/questions/88659/how-can-cloudflare-offer-a-free-cdn-with-unlimited-bandwidth/88685#88685
nobodyさん [sage] 2019/06/06(木) 18:03:40.95ID:???

ありがとう!
裏に何かあるかもしれないけど、CEOが答えてるなんてこれ以上のソースないわ。
nobodyさん [sage] 2019/06/07(金) 00:24:03.40ID:???
php関係なくて草
nobodyさん [sage] 2019/06/20(木) 17:57:11.83ID:???
コンストラクタは静的メソッドなのかなあ。
コンストラクタを継承するときに
parent::__construct();
というふうに->でなく::を使うので。
nobodyさん [sage] 2019/06/21(金) 13:32:37.25ID:???

だってオブジェクトないじゃん
nobodyさん [sage] 2019/06/22(土) 17:03:18.55ID:???
でも $this->でメンバにアクセスできるじゃん
nobodyさん [sage] 2019/06/22(土) 22:50:24.16ID:???

ただの記法なのであんま深く考えなくていいぞ。コンパイラか言語仕様上そうなってるだけやろ。
nobodyさん [sage] 2019/06/24(月) 11:15:12.45ID:???

内側と外側は話が別だろ
nobodyさん [sage] 2019/06/25(火) 10:46:11.68ID:???
変数名の$の次に数字はふつう使えないけど、
<?php
${1} = 1;
echo ${1},PHP_EOL;
というふうにすると問題なく動くね。
nobodyさん [sage] 2019/06/25(火) 15:44:25.21ID:???
PHP_EOL って初めて知った
nobodyさん [sage] 2019/06/25(火) 23:32:18.67ID:???
出来るできない以前にそんな変数名つけてたら張り倒されるわ
nobodyさん [sage] 2019/07/02(火) 09:09:43.06ID:???
ビルトインウェブサーバいじってて自分でPHPで作ってみたくなったんですけど
静的コンテンツの配信は簡単なのですが
PHPを動かせるサーバってどういうふうに書くんですか?

if ($file['extension'] == 'php')
{
$document = passthru("php -f {$file['name']}");
}

こんな感じでいいんですかね?
nobodyさん [sage] 2019/07/02(火) 10:19:05.04ID:???

だいたいそんな感じ
nobodyさん [sage] 2019/07/02(火) 15:18:33.21ID:???

ありがとうございます
requireしたのとかはまだ実験してないけど
とりあえず単純なものなら動きそうですね
nobodyさん [] 2019/07/14(日) 09:45:16.22:x6XB8Dua
Swooleとmysqliの非同期APIを使えば
PHPでも最速目指せる?
nobodyさん [sage] 2019/07/15(月) 13:09:42.44ID:???
Googleドライブにアップした動画をHTML5のvideoタグを使って自サイトに貼り付け
再生させたいと思っています。以下の様にリンクを作成すれば動画を無劣化で
貼り付けることができるのは分かっています。

<video controls>
<source src="ttp://https://drive.google.com/uc?export=download&id={Google動画のID}" type="video/webm">
</video>

ただこの方法が通用するのは動画の容量が数十MBまで。
それ以上の容量の動画は上記の方法では埋め込み再生できません。
完全には把握できてはいませんがGoogleは巨大ファイルのダウンロードに際して
ワンクッションページを挟む仕様のようです。
たとえば800MB超のファイルをダウンロードしようとすると、
ttp://https://drive.google.com/uc?export=download&id=1wyXHX_xDh4EntuIG7y6jpHiPZT99OBn26A
上記のようなページに誘導され、そのページ中のダウンロードボタン;
ttp://https://drive.google.com/uc?export=download&confirm=-8rW&id=1wyXHX_xDh4EntuIG7y6jpHiPZT99OBn26A
をクリックすると動画のダウンロードが始まります。
ダウンロードボタンのリンクには新たに"confirm=-8rW"というキーワードが追加され、
末尾の4文字"-8rW"はダウンロードページをリロードするごとに変更されます。

またダウンロードボタンのリンクをコピーして違うブラウザを開いてURLを入力して
みましたがダウンロードは始まらず、例のワンクッションページに誘導され新たな
"confirm=****"キーワードが生成されたことを考えるとcookieも使ってるような気がします。

そこでPHPの力を使ってGoogleドライブにアップした巨大動画ファイル埋め込み再生に
チャレンジしてみました。
nobodyさん [sage] 2019/07/15(月) 13:10:14.73ID:???
// ワンクッションページのURL
$cookie='ttp://https://drive.google.com/uc?export=download&id=1wyXHX_xDh4EntuIG7y6jpHiPZT99OBn26A';

//クッキー取得のためのアクセス
$ch=curl_init();//初期化
curl_setopt($ch,CURLOPT_URL,$cookie);//cookieを取りに行く
curl_setopt($ch,CURLOPT_HEADER,FALSE);//httpヘッダ情報は表示しない
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);//データをそのまま出力
curl_setopt($ch,CURLOPT_COOKIEJAR,'cookie.txt');//$cookieから取得した情報を保存するファイル名
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,TRUE);//Locationヘッダの内容をたどっていく
$html = curl_exec($ch);
curl_close($ch);//いったん終了

// confirm=**** のうち末尾4文字を$match["name"]に抽出
preg_match('/.*confirm\=(?P<name>\w+)\&amp.*/', $html, $match);

// 得られた"confirm=****"を使いダウンロードリンクを生成
$url='ttp://https://drive.google.com/uc?export=download&confirm=' . $match["name"] . '&id=1wyXHX_xDh4EntuIG7y6jpHiPZT99OBn26A';

// HTML5のvideoタグを生成して動画の埋め込み再生
echo '<html><body><video controls><source src="';
echo $url;
echo '" type="video/webm"/></video></body></html>';

'cookie.txt'にcookie情報が取得できたのは確認できたのですが
残念ながらこの方法では動画の再生にはいたりませんでした。
方針が間違ってたのでしょうか?
nobodyさん [sage] 2019/07/15(月) 13:17:23.50ID:???
斜め読みしかしてないけど、閲覧側が google ドメインに対して cookie のセットができないんで、その方向性に解はないと思うよ。
nobodyさん [sage] 2019/07/15(月) 17:39:04.38ID:???
ドライブ自体がメディア配信用じゃない
89 [sage] 2019/07/15(月) 21:51:10.41ID:???

> 閲覧側が google ドメインに対して cookie のセットができないんで、その方向性に解はないと思うよ。

閲覧側の問題ですか・・
PHP使ってGoogleから発行されたcookieを閲覧側に横流しすることって出来ますか?


一応Googleドライブで動画の埋め込みコードを発行してたりするので(iframeを使ったコードですが)
メディア配信を意識してないわけでは無いようです
nobodyさん [sage] 2019/07/15(月) 23:11:15.79ID:???
CORSの問題にしか見えんのだが
nobodyさん [sage] 2019/07/16(火) 16:29:01.18ID:???

そのGoogleドライブが発行する埋め込みコードじゃダメなのか?
89 [sage] 2019/07/16(火) 22:29:54.65ID:???

「動画の埋め込み」機能で発行されるコードは再エンコードされた動画だったりします
(たとえ最高の1080pを選んでも)
元動画が60pでうpしたのに埋め込み再生される動画は30pに落とされるとかざらにあります


の方法はそれを回避して動画をオリジナルの画質で再生する方法なんですが
動画の容量が数十MBのものまでしか使えないのが問題でして・・・


CORS・・・初めて耳にしました
ちょっと調べてみます
nobodyさん [sage] 2019/07/17(水) 13:02:10.80ID:???
PHPの力を使うなら、GoogleドライブからPHPサーバーに動画をキャッシュしてストリーミングしてしまえ
ttp://http://demo.codesamplez.com/html5/video
88 [sage] 2019/07/17(水) 20:13:03.81ID:???

> PHPサーバーに動画をキャッシュしてストリーミングしてしまえ

無料レンタルサーバーなんですよね、
そんなことしたら怒られそうで・・・
nobodyさん [sage] 2019/07/18(木) 15:12:29.01ID:???
画像特化CDNのCloudinary最近動画配信機能強化してなかった?
無料枠で納まるか知らんが。
nobodyさん [sage] 2019/07/19(金) 18:02:04.79ID:???
よくわからんが1個の動画容量が数MBでも問題ないだろ
メタデータ作ってHLSで繋いで再生すればいいだけで
nobodyさん [sage] 2019/07/26(金) 11:59:46.48ID:???
PDOでのデータベース操作が上手くいかないので質問させてください

mysql> SELECT number FROM testtable;
+--------+
| number |
+--------+
| 204 |
| 226 |
| 234 |
| 246 |
+--------+
4 rows in set (0.00 sec)

このようなnumberカラムを持つtesttableで、特定の値(仮に今回は3番目の234とします)より大きいnumberを持つレコードのみ+1するということが目的なのですが、
直接mysqlで以下のstatement:
>UPDATE testtable SET number = number + 1 WHERE number > 234;
を実行すると

Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> SELECT number FROM testtable;
+--------+
| number |
+--------+
| 204 |
| 226 |
| 234 |
| 247 |
+--------+

となり、目的が達せられます
nobodyさん [sage] 2019/07/26(金) 12:01:14.15ID:???
しかし、これをaxiosでPOST requestしたphpの関数上で行うとおかしな結果になります

======

try {

$connection = new PDO(
'mysql:host=' . $host . ';dbname=' . $dbname,
$username,
$password,
$options
);

$connection->exec(
'update testtable set number = number + 1 where number > 234'
);

echo 'run only once.';

} catch ~~~~

=====

上記がphp内のPDOで同じstatementを実行している部分で、
この実行の後に、numberカラムを確認すると
nobodyさん [sage] 2019/07/26(金) 12:01:52.20ID:???
mysql> select number from testtable;
+--------+
| number |
+--------+
| 204 |
| 226 |
| 234 |
| 249 |
+--------+
4 rows in set (0.00 sec)

このようになぜか + 2 されてしまいます
exec内のstatementが意図せず2回実行しているのかと疑って、

$connection->exec(
'update testtable set number = number + 1 where number > 234'
);

の [ number = number + 1 ] を [ number = number + 2 ]
として変更すると + 4 されるので、恐らくその点については疑い通りなのですが、
一方でaxiosのresponseは、'run only once.'と期待通りになっていて
echoの内容が重なっていたりはしないので、このブロック全体が2回実行されているわけでもないようです
結局何がどうなっての結果なのかさっぱり分かっていないという状態です

上記の挙動について、考え得る原因やなにか自分に落ち度があればその点ご指摘いただけますでしょうか
長々と質問してしまい申し訳ありませんが、どうぞよろしくお願いいたします
nobodyさん [sage] 2019/07/26(金) 12:09:46.76ID:???
たまにあるのが、ブラウザの拡張機能が悪さしているケース。
何故か、2回アクセスしてたりする。
アクセスログ見てみるといいよ。
nobodyさん [sage] 2019/07/26(金) 15:14:15.30ID:???
POSTが二回発行されてたら、echoじゃわからないんじゃね?
nobodyさん [sage] 2019/07/26(金) 15:37:13.70ID:???
formのsubmitとajaxが2つ動いてるパターンIEでよくある。
nobodyさん [sage] 2019/07/28(日) 19:18:24.72ID:???
遅くなってしまいすみません


まさにこちらがどんピシャリでchromeでは上のような挙動になるのに、Edgeだとちゃんと動きました
ですがchromeの何が悪さをしているかは謎のままなので、これからどのように特定すればいいのか少し調べてみます
ありがとうございました


axiosのresponseが2件重複しているかは最初に調べて、postの重複でないことは確認しておりました
nobodyさん [sage] 2019/07/30(火) 15:44:30.83ID:???
ttps://i.imgur.com/9NfWMUn.jpg
nobodyさん [] 2019/07/30(火) 20:06:31.95:2HXS0mr+


src=""やhref="" みたいに空の参照が有ると2回アクセスが起きるんだったような…。

ttp://https://news.mynavi.jp/article/20100715-no-url-on-src-and-href-issue/
nobodyさん [sage] 2019/07/30(火) 22:55:37.68ID:???
faviconちゃいます?
nobodyさん [sage] 2019/08/02(金) 19:19:39.72ID:???
指定したディレクトリ配下全ての拡張子jpegをjpgに書き換えるコード

function jpeg2jpg($path)
{
$array = glob($path.'/*',GLOB_ONLYDIR);
foreach ($array as $filename)
{
jpeg2jpg($filename);
}

$array = glob($path.'/*.jpeg');
foreach ($array as $filename)
{
$newpath = str_replace(".jpeg", ".jpg", $filename);
rename($filename, $newpath);
}
}

これをもっと綺麗なコードにしたいんですが何かありませんか?
nobodyさん [] 2019/08/04(日) 11:50:01.70:5btAphd0

それで十分綺麗だと思うけど。
ファイルの検索とリネームを分けるこんな方法もある。

function files($path)
{
yield from glob($path.'/*.jpeg');
foreach (glob($path.'/*', GLOB_ONLYDIR) as $dir) {
yield from files($dir);
}
}

foreach (files('images/') as $jpeg) {
$jpg = str_replace(".jpeg", ".jpg", $jpeg);
echo "rename($jpeg, $jpg);\n";
}
nobodyさん [] 2019/08/04(日) 15:32:34.50:K0RNPBsZ
ロシアはすでに証拠を握っている。おそらく他の国も気づいている」と指摘した。
ttp://https://jp.sputniknews.com/world/201805114869300/
何故地震が起きる場所には自衛隊の駐屯地があるのだろう。
ttp://https://togetter.com/li/1264309
nobodyさん [sage] 2019/08/04(日) 16:02:34.71ID:???

yieldって構文は知らなかった。ありがとう
nobodyさん [] 2019/08/11(日) 13:43:40.86:yc7XMF1E
file_get_contentsで2chの過去ログ保管サイトをスクレイピングしてるんだが、なぜか連続で更新すると内容を取得できないことがある
これってサイト側がスクレイピング対策のブロッキングを施してるってことなのかな?
nobodyさん [sage] 2019/08/11(日) 21:01:01.13ID:???

そうかもしれないし、違うかもしれない
事実はサイトの運営者のみが知る
人間っぽくないリクエストを弾く方法はいくつもある

高負荷のリクエストを送るIPをブロックしたり、
ハニーポット置いたり

Facebookはマウスの動きまで見てるらしいが
そこまでしてる所は稀だろう

1分間のリクエスト数に制限かけたり、
Exponential Backoffで時間置いてからリトライしたら?
ttp://https://github.com/bandwidth-throttle/token-bucket
ttp://https://github.com/stechstudio/backoff
nobodyさん [sage] 2019/08/24(土) 05:01:37.24ID:???
C#かjavaのコードをPHPのコードに変換できる無料ツールってないかな?
↓このSDKをPHPにしたいんだが
ttp://https://sevenzip.osdn.jp/sdk.html
nobodyさん [sage] 2019/08/24(土) 06:17:22.91ID:???

ない
nobodyさん [sage] 2019/08/26(月) 12:27:40.91ID:???

変数に$を付けて回るだけでほとんど丸コピーで動くから
perlとかphpといったスクリプト系の無料ツールを使うと良いよ
nobodyさん [sage] 2019/08/26(月) 14:55:37.96ID:???
さすがにそれはねーわw
nobodyさん [sage] 2019/08/28(水) 18:39:14.02ID:???

ガイジ
nobodyさん [sage] 2019/08/29(木) 01:33:58.41ID:???
ttp://http://javatophp.com/
nobodyさん [sage] 2019/08/30(金) 03:38:37.57ID:???
HHVMがRustで書き直されるらしい
nobodyさん [sage] 2019/09/02(月) 04:26:01.03ID:???
↓こういうjson配列を
[
{id:0, name:"ああ", age:20,....},
{id:1, name:"いい", age:21,....},
{id:2, name:"うう", age:22,....},
];

idとname以外のデータ落として↓一次元の連想配列に変えたいんだけど
{0:"ああ",1:"いい",2:"うう",};

array_filterで一発変換みたいことは無理?
nobodyさん [sage] 2019/09/02(月) 07:07:50.73ID:???
json向けの組み込み関数は少ない
外部ライブラリ使えば可能だと思うが
関数1つにこだわる必要もないだろう
nobodyさん [sage] 2019/09/02(月) 09:35:13.96ID:???
array_columnとarray_combineでどうぞ
nobodyさん [sage] 2019/09/17(火) 01:53:23.96ID:???
preg_replaceで$1を$foo["$1"]に置き換えたいのですが
$1の意味が違うのでこれではundefined indexになってしまいます
ここはどう書くのが正しいですか?
126 [sage] 2019/09/17(火) 02:01:17.23ID:???
すみません自己解決です
callbackじゃないとだめみたいですね
nobodyさん [sage] 2019/09/17(火) 12:34:12.78ID:???
CRで保存したファイルを読み込んで、
一部の\rとか\nとかtrimで除去してたらおかしくなってしまいました。
CR+LF、LFは問題ありません。
コードでどうにかするのはめんどくさそうなので、
CRのファイルだったらLFに内部で変換するようなことってできますか?
nobodyさん [sage] 2019/09/17(火) 14:05:13.65ID:???

簡単にできるよ!
じどうてきにCRをLFに変換する関数を呼ぶ仕組みが用意されてる
入出力ストリームとかストリームラッパーで検索しよう
nobodyさん [] 2019/09/18(水) 06:03:03.69:LxHdNOoK

CRで保存するってどういう事情でそうするの?
個人的に知りたい
nobodyさん [sage] 2019/09/18(水) 09:15:45.70ID:???

アホのマカーが作ったファイルとかでしょ
128 [sage] 2019/09/18(水) 15:48:17.90ID:???

ありがとうございます。
頂いたヒントからたどり着いた答えは、php://filterですがあってますか?
ビルトインのフィルタを確認しましたが、文字コードを変えるものはありましたが、
改行コードを変えれそうなものはなさそうなので、自分で作って登録しろということでしょうか?


アホかどうかはおいといて、そういうことですねー
nobodyさん [] 2019/09/19(木) 05:43:59.95:jad6fnCm

str_replace(["\r\n","\r"],"\n",$subject)
でよくね
ストリームとか全然わからん
nobodyさん [sage] 2019/09/19(木) 09:26:58.26ID:???
Apacheってオワコン?
速度は静的コンテンツについてはnginxの完全勝利
動的ならApache+fpmでnginx+fpmと同程度

.htaccessでどのディレクトリでも
設定変更出来るのはDockerが一般的になった今や無意味
むしろセキュリティ上のリスクにもなり得る

preforkモジュールにすればsupervisordなしでDockerコンテナを一つに出来ると言うメリットは一応あるが
preforkモジュールはかなり遅い
nobodyさん [sage] 2019/09/19(木) 09:30:30.89ID:???
あとApacheの設定ってすごく読みづらくね?
nginxの方が直感的に理解しやすい
nobodyさん [] 2019/09/19(木) 10:06:18.06:FBUFJOFs
それを5chの僻地で主張することにどんな意味があるの?
nobodyさん [sage] 2019/09/19(木) 12:41:12.60ID:???
どっちもオワコンだろ
lswsを使ったらもう戻れない
nobodyさん [sage] 2019/09/19(木) 12:46:21.36ID:???

そんなもの流行りませんよ
apacheのデファクトぶりに震えて眠れ
nobodyさん [sage] 2019/09/19(木) 12:55:28.25ID:???
「〜はオワコン」って言ってるのは評価軸を決められない未熟なエンジニアか荒らし。
どっちゴミなんでほっとけばいい。
nobodyさん [sage] 2019/09/19(木) 16:11:25.78ID:???
Iswsって…なに?
nobodyさん [sage] 2019/09/19(木) 17:53:36.03ID:???
nginxはここ数ヶ月で下落の兆候あり
apacheとiisは長期的に下落を続けている
かといってlswsが急上昇してるわけでもない
さて一体失われたシェアはどこへ行ったのやら
nobodyさん [] 2019/09/19(木) 18:42:10.84:eAWoBb1U

こういう関数がすっと出てくるのはすごいと思う。
mapしてzipしてcollectすればいいと考えても、そこからPHPの関数にたどり着くまでが大変。
覚えりゃいいんだけど、PHP離れるとすぐ忘れるし。
nobodyさん [sage] 2019/09/19(木) 21:02:25.41ID:???
International Semantic Web Research School?
nobodyさん [sage] 2019/09/19(木) 22:17:40.43ID:???

アイじゃなくてエル LiteSpeedWebServer
PHPはこのサーバ向けにカスタマイズされた特殊なものが使われてる
おかげで設定なしにPHPが導入出来るばかりか
優秀なリポのおかげもあって常に最新のPHPにアップデートされる
もちろん普通のPHPのコードが動くので心配はいらない
Web設定ツールはPHPで書かれているのでPHPとセットになってるし
特にWP向けに最適化されててWP配信ならWebServer界最速で
PHPerのためのサーバといっても過言じゃないわ
nobodyさん [sage] 2019/09/19(木) 22:59:29.63ID:???
何だ有料かよ…
どうりで流行ってないわけだ
nobodyさん [sage] 2019/09/20(金) 00:03:47.56ID:???
オープンソース版もある
ttp://https://openlitespeed.org/
solarisとopen solarisみたいなもんだ
nobodyさん [sage] 2019/09/20(金) 07:16:09.29ID:???
openlitespeedって公式dockerないの?
検索しても出ない
nobodyさん [sage] 2019/09/20(金) 15:08:57.50ID:???
dockerこそがオワコンなのでは・・・
nobodyさん [sage] 2019/09/22(日) 15:11:34.94ID:???

貧乏人だからセレロンに8GBのノートPC
これじゃあんま強力な環境を作れず
IDEよりもエディタで本当はフレームワーク勉強したいけど
開発環境作ると重いしピュアなPHPでゴリゴリ書いてる
だから俺はPHPの関数めっちゃ覚えてるよ
あーいいパソコンがほしい
nobodyさん [] 2019/09/23(月) 08:54:20.94:QSgTtzwO
メモリ8Gってすげえ高性能だな
俺なんかまだ716MBで頑張ってるよ
nobodyさん [sage] 2019/09/23(月) 12:30:25.95ID:???

同意します。
ブラックボックスは小さい方が良いと思う。
nobodyさん [sage] 2019/09/23(月) 13:20:41.47ID:???

linuxのコンソールからviでも起動してプログラムかいてんのか?
それだったら尊敬するわw
nobodyさん [] 2019/09/23(月) 13:25:22.22:QSgTtzwO

xp
5chとネットサーフィンだけだけど全然余裕
ブラウザはnewmoonってのを使ってる
nobodyさん [sage] 2019/09/23(月) 17:09:58.24ID:???
>5chとネットサーフィンだけだけど全然余裕
PHP書けよ
nobodyさん [sage] 2019/09/24(火) 00:42:30.94ID:???
Atomで書いてるけど、最近Visual Studio Codeに浮気しようか悩んでる
nobodyさん [sage] 2019/09/24(火) 11:03:33.46ID:???

元Atom使いだがVSCodeのがいい
nobodyさん [] 2019/10/10(木) 15:06:45.91:6vRbT12P
htmlとcssが出来るようになった
次はjavascriptかphpを勉強したいと思ってる
どちらから先にやるべきだ?
分かりやすく教えろ。
nobodyさん [sage] 2019/10/10(木) 17:06:25.16ID:???
phpはブラウザで使えない
javascriptはサーバーで使うには素人は難しい
nobodyさん [sage] 2019/10/10(木) 18:00:37.97ID:???
次はxmlとxsltだ
異論は認めん
さぁ頑張ってこい
nobodyさん [sage] 2019/10/10(木) 23:12:46.80ID:???
$dbh = new PDO(
'mysql:host=localhost;dbname=db1;charset=utf8', $user, $pass
);
っていう、dbへの接続方法

$dbh の中身をどうやって実行するんや!?と思ってたんだけど、
new PDOでPDOが呼ばれた段階でPDO以降の実行結果が代入されるということだから、接続確立したって事でOK?
あほだからこんな事で丸一日悩んでしまったんだけど…
nobodyさん [sage] 2019/10/11(金) 01:08:56.63ID:???
JavaScript優先だろう
JavaScriptは今やhtml5を使うには必須スキルで代えは聞かない。
ブラウザあればすぐに試せるから実行環境が用意しやすい。
Googleドライブにあるスプレットシートなどのマクロ、Google Apps ScriptなんかもJavaScriptと同じ構文で動くし
RPGツクールMVなどのゲーム作成でも役に立つ。node.jsのようなサーバーサイドで動くJavaScriptもある。
JavaScript知識は活用範囲は非常に広い


phpは基本サーバーサイドでしか動かんし用途が限定的。
ライバル言語が非常に多く、別の言語でもいいってこともしばしば
他に代用がいくらでもあるので優先順位は低い
nobodyさん [sage] 2019/10/11(金) 01:15:16.16ID:???
java script とかはやりたい事ググってサンプルスクリプトを見つけて
コピペしてあまり理解せず使ってるわ
そんなもんでいいだろう
nobodyさん [sage] 2019/10/11(金) 01:35:12.00ID:???

ttp://mevius.5ch.net/test/read.cgi/tech/1543392526/
nobodyさん [sage] 2019/10/11(金) 01:35:31.13ID:???
nobodyさん [sage] 2019/10/11(金) 01:48:44.71ID:???
jQuery
nobodyさん [] 2019/10/11(金) 02:46:57.19:leI7Cv7w
<script type="text/php">
$a = Document::getElementById('a');
$a->style(['background-color'=>'#fcf']);
$a->innerHTML('<p>hello</p>');
try {
 Core::ajax('ttp://http://example.com', 'get', function($text) {
 });
} catch (HttpError $e) {
}

こんなん探せばありそう
nobodyさん [] 2019/10/12(土) 10:54:07.93:8sBNDV+V
素のPHPでWebバックエンド周り(フォームとかセッションとかセキュリティとか)を一通りやるのは悪手とは思わん。
その後はさっさとPHPとおさらばして、他の言語に移るべき。
nobodyさん [sage] 2019/10/12(土) 11:56:12.79ID:???

MariaDB上のデータベースをネットから検索する簡単なフォームとPHPを書こうと思うんだけど、
面倒くさい。

データベースの構造を元に検索フォームとPHPの雛形を簡単に作ってくれるアプリは無いのかな?
nobodyさん [sage] 2019/10/12(土) 19:32:38.63ID:???
それこそWebフレームワークが最も得意なことじゃない
nobodyさん [sage] 2019/10/13(日) 01:09:28.72ID:???

ありがとうございます。試してみます。
nobodyさん [sage] 2019/10/14(月) 01:35:48.88ID:???
bitbucketに対してコミット、プッシュが簡単に出来るphpライブラリって無いかな?
無ければssh2_connectコマンドで頑張るしかないんだけど
nobodyさん [sage] 2019/11/14(木) 10:13:01.22ID:???
VPSからPHPで外部サーバへFPTS接続して、ファイルをアップロードしたいのですが、

ftp_ssl_connect()は成功してるようなのですが、

ftp_login($connectId, $userId, $userPass) のところで

「SSL/TLS handshake failed」「Proceed with negotiation」などと出て失敗してしまいます。

php.info()では「ftp」「openssl」は有効になっているのですが、

ほかに何か設定するべきところがあるのでしょうか?
送信元のapacheやvsftpdなど。
送信元のサーバのapacheで証明書とかも要りますか?

OSはCentOS6
PHPは5.1.6です。
nobodyさん [sage] 2019/11/17(日) 00:24:31.45ID:???
そんな古いPHPでSFTPとかなんかやばそうw
多分原因もそれでしょ
nobodyさん [sage] 2019/11/17(日) 04:27:48.89ID:???
opensslも古そう
VPSなら環境のアップデートぐらいしなさいよ
172 [sage] 2019/11/17(日) 09:33:43.17ID:???
こちらも同じ見解に達していました。
ありがとうございます。
OpenSSLが0.98とかで、今や一般的ではないようです。大は小を兼ねるみたいに向こうが新しくても、互換でやってくれるとかじゃないみたいですね。
nobodyさん [sage] 2019/11/17(日) 10:41:49.57ID:???
そら復号は暗号化した側でやったら意味ないからな
nobodyさん [sage] 2019/11/17(日) 10:45:14.85ID:???
セキュリティ系は古いもの切り捨てないと穴あいちゃうからねぇ。
172 [sage] 2019/11/17(日) 19:44:47.97ID:???
なるほど・・・
nobodyさん [sage] 2019/12/08(日) 23:42:29.20ID:???
今はプログラムよりツールの使い方を学ぶ時代になって
新人にとってはずいぶんつまらない世の中になってしまったな
nobodyさん [sage] 2019/12/09(月) 00:13:15.31ID:???
昔の人がアセンブラ書かないのはプログラマじゃないって言ってるようなもんだろ
時代は常に流れているんだよ
nobodyさん [sage] 2019/12/09(月) 10:51:00.98ID:???
>昔の人がアセンブラ書かないのはプログラマじゃないって言ってるようなもんだろ
つまらなくなったとはいったけどそこまでいっとらんわ
今と比べて面倒なことをしろなんて主張もするつもりはない
スタート地点で面倒なことから始めればそれを面倒とは思わないだろうし
人間後退したくない以上より多くを覚えるならスタート地点は重要だけどね
目的違うしアセンブラから始められてたらもっと楽しかったのだろうとは微塵も思わんけど
出来ることは増えてただろうし習得してればまた考え方も変わるのだろう
nobodyさん [sage] 2019/12/09(月) 10:57:24.86ID:???
しっかしーこのスレ死んどるな
もうPHPも終わったんだな
nobodyさん [sage] 2019/12/12(木) 01:34:02.13ID:???
死んではいないしょ
WEBではなんだかんだこれ以外の選択肢は多くないし
てか、5chで情報共有なんかしないわ
nobodyさん [sage] 2019/12/12(木) 12:00:42.23ID:???
つまり死んでいるということだなw
nobodyさん [sage] 2019/12/12(木) 12:09:10.40ID:???
まぁ、たしかにもっと愚痴がこぼれてきてもイイと思う。
なんで、7.4の阿鼻叫喚がここに流れない???
nobodyさん [sage] 2019/12/12(木) 12:18:36.42ID:???
うちは未だに5.xだからね
nobodyさん [sage] 2019/12/12(木) 12:20:08.28ID:???

それはそれで阿鼻叫喚だなw
nobodyさん [] 2019/12/12(木) 13:23:16.10:G9NaIZtM
うちも5.xだわ
昔にとあるツール使って構築したサイトで色々カスタマイズというかいじりまくってしまって
最新版に更新できなくなっちゃってるんだよなぁ
だから7系に上げられない
さっさとそのコンテンツ終わってくれれば良いんだけど妙に長生きしてるんで困ってる
nobodyさん [sage] 2019/12/12(木) 18:23:13.02ID:???
アロー演算子ってクロージャーとはスコープの扱いが違うんだねえ
引数渡したりuse書く必要なくなったんだな
nobodyさん [sage] 2019/12/12(木) 18:23:31.72ID:???
アロー演算子じゃなくてアロー関数だ
nobodyさん [] 2019/12/14(土) 15:50:54.40:1rEU0u8X
すげぇな、アロー関数まで搭載するんだw

PHPってほんと、あらゆる技術を無節操に取り込みまくるよな。
やっぱ間違いなく最強の言語だ。

絶対最後に生き残るの、PHPだって、これ。
nobodyさん [sage] 2019/12/14(土) 16:37:58.34ID:???
んなことない
今だいたいどの言語も統合が進んでる感じ
ただしPHPから学ぶ機能は何もないという
もともとWeb制作ツールの延長だし
革新的な機能を出すような言語じゃないからしょうがないけど
nobodyさん [] 2019/12/14(土) 16:53:30.04:1rEU0u8X
>ただしPHPから学ぶ機能は何もないという

そら、そうだろ。

PHPは与える側じゃなくて、全部取り込む側。
漁夫の利作戦。

他の言語であれこれ試行錯誤して『これいいよね』ってなったものを
無節操に取り込むのが我らがPHPだよ。

もう、最強。
nobodyさん [sage] 2019/12/14(土) 18:51:03.37ID:???
goto…おっとなんでもない
nobodyさん [sage] 2019/12/16(月) 10:32:30.14ID:???

そのたとえに漁夫の利は不適切では?
nobodyさん [sage] 2019/12/17(火) 15:54:53.27ID:???
機能的スパゲティ
nobodyさん [] 2019/12/20(金) 19:11:39.64:PTeWJYC9
連想配列なんてのがのさばっているうちは、どこまでいっても二流ですわ。
nobodyさん [sage] 2019/12/21(土) 16:07:03.15ID:???
なんか意味不明なこといってますね
nobodyさん [sage] 2019/12/30(月) 18:21:34.30ID:???
すれ違いなのは承知です。

GAS(Google App Script)の専用スレッドはありませんか?
nobodyさん [sage] 2020/01/03(金) 18:30:41.94ID:???
ttps://mevius.5ch.net/test/read.cgi/tech/1404007623/
nobodyさん [] 2020/01/23(木) 00:51:35.57:B6IkrdgX
誤訳直そうと思ったらログインがうんぬんメーリスがうんうん言われて面倒だったんで
ttp://https://www.php.net/manual/ja/function.curl-getinfo.php の CURLINFO_FILETIME
編集権があってヒマな人誰か直しといてもらえませんか
nobodyさん [sage] 2020/01/23(木) 17:22:55.09ID:???
>ドキュメントを取得するのにかかった時間
nobodyさん [sage] 2020/01/27(月) 14:16:21.90ID:???
ググればだいたい解決するから5chの出番はないな
というかこういう実用系の内容では5chは要らない
nobodyさん [sage] 2020/01/27(月) 14:35:37.95ID:???
つーかPHPの公式ドキュメントって
数多のP系スクリプトの中でも他の追随を許さない質と量だよね

言語自体スパゲティだのなんだの言われてるけど
そんなのを軽くチャラにするくらい丁寧で充実してる
nobodyさん [] 2020/01/31(金) 21:19:14.19:B6GJJFqv
実にペチパらしい見解やね
nobodyさん [sage] 2020/02/24(月) 22:48:25.17ID:???
今からPHP勉強してフリーランスデビュー目指して頑張ります
ちな中卒30代プログラミング未経験
nobodyさん [age] 2020/04/08(水) 01:28:35.27ID:???
徳丸ひさびさに見たけど白髪増えてだいぶ老けたなぁ(´・ω・`)
相変わらずのPHPびいきなようで安心。
彼がいる限りまだまだ日本でのPHPは終わらんよ( ー`дー´)キリッ
nobodyさん [sage] 2020/04/10(金) 14:39:58.81ID:???
とくさんか?
nobodyさん [sage] 2020/04/13(月) 18:02:28.11ID:???
IDとパスワードのログイン方式でなく
電子証明書方式のログインサイトを作ってみたいのですが
具体的にはどうしたらいいんですかね?
nobodyさん [sage] 2020/04/13(月) 18:08:22.16ID:???
実績ある人に頼むといいよ。
nobodyさん [] 2020/04/13(月) 18:26:22.68:OHT1Xple
素人が作ったら電子証明書使ってても穴あきそうだな
実績あるプロに任せろ
nobodyさん [sage] 2020/04/16(木) 12:59:09.04ID:???
こんなとこで質問するレベルのやつが作って良いものではないw
nobodyさん [sage] 2020/04/16(木) 16:57:17.08ID:???
結局誰も具体的には知らないんだろ
nobodyさん [sage] 2020/04/16(木) 17:37:35.65ID:???
そりゃ、ここの話題じゃないからな。
ヒント出してるだけマシだろ。
nobodyさん [] 2020/04/16(木) 17:58:15.14:R+e9Gx7F
…まさか5ちゃんに書いて答えもらえるとマジで思ってたのか?
nobodyさん [sage] 2020/04/16(木) 18:41:49.02ID:???
ほれ
ttp://https://stackoverflow.com/questions/12617150/how-to-check-a-digital-signature-from-broswer-with-php
nobodyさん [sage] 2020/04/16(木) 19:12:59.32ID:???
おぃ!w
無職のADHDが◯千万円分のビットコイン所持 [] 2020/04/27(月) 14:38:56.38:/VE0k4dm

東京三鷹の土井(剛)莉里子
ttps://i.imgur.com/Fbgp0yG.png


氏名■土井剛(莉里子)

生年月日■1994.3.7

前住所■〒181-0013 東京都三鷹市下連雀5丁目3 シティハイツ吉祥寺通り4階

性別■男(詐欺師のため、戸籍変更している可能性あり)

Twitter■@copy__writing @kotobamemo_bot

疾患■性同一性障害(LGBT)、発達障害(ADHD)、アスペルガー症候群、統合失調症



●一方的に好意を寄せる男性から相手にされないと嫌がらせを繰り返す
●某大学病院の精神科隔離病棟にて強制入院
●骨が見えるほどのリストカット
●奇声をあげながら自室部屋のドアをナイフで突き刺す
●シティハイツ吉祥寺通り4階から飛び降り自殺
●性転換手術(金玉を取る)
●トラブル...嫌がらせ、ハッキング、乗っ取り、たかり、脅迫、殺害予告...etc
●去年から今年にかけてyoutuber同士のトラブルの仲介に入り某大手youtuberから複数回に渡り1億近い慰謝料をふんだくる
●自宅の吉祥寺にいられなくなり、大阪に潜伏中(警察からも逃げている)
nobodyさん [sage] 2020/04/29(水) 21:45:14.63ID:???
test
nobodyさん [sage] 2020/05/04(月) 02:20:48.69ID:???
追記型の最新のログ10件を表示するために長めのログをfgetsで
キューに10個いれてそれ以上あれば破棄していくという感じで
$queue = array();
while (!feof($fp)) {
 array_unshift($queue, fgets($fp));
 if (count($queue) > 10) array_pop($queue);
}
というようなコード考えたんですけど
初期値falseの$overflow変数を儲けて
if ($overflow || count($queue) > 10) {
 array_pop($queue);
 $overflow = true;
}
のようにしたら$overflowがtrueの時点で
countのところには行かないで認識あってますか?
$overflow = trueよりcountのほうが遅いはずなので
php5系使ってて配列操作は遅いので改善ポイントとして考えてます
nobodyさん [] 2020/05/05(火) 04:07:27.95:n9pskbg5

count()の実行回数を減らしても大して違いは無いと思うけどなぁ。
それより1行ずつ配列に入れるのをやめてfile()で一気に読み込んでから、array_slice()で最後の10行を残して、array_reverse()で反転させる方が早くないか?
遅いのはログの行数が多いからだと思うけど、あまり多いとfile()じゃメモリ消費も気になってくるけどね。
その場合はログのサイズを小さくすることを考える必要がある。デイリーベースにするとか。
nobodyさん [sage] 2020/05/06(水) 00:15:56.98ID:???
キュー使うなら配列よりSplQueue使ったらええんちゃう
実装見たわけじゃないけど常識的にcountはO(1)だし多分内部のカウンタ見てるだけだから遅いってことはない

ログを頭から読んでいって末尾10件を抽出するのが遅いって(O(N))のなら最新数件だけ別ファイルにする(O(1))かDB使った方(O(log(N)))がいい
220 [sage] 2020/05/06(水) 16:48:14.29ID:???
レスありがとうございました。なんか溜まってるログがないかと探して、
まだまだ少ないですが、6MB 3万行強ぐらいので試してみました。
結果countに関してはお二方のおっしゃる通り影響はないようです。
10回計測して、(ローカルの計測環境でPHP7なんですが)

file
avg: 0.02795

配列Queue()
avg: 0.04602

SplQueue
avg: 0.04344

キュー型にしない(最後の取り出す処理で若干こんがらがる)
avg: 0.02981

といった感じになりました。3万行なら余裕ですが、fileはやっぱりメモリ食べますね。
最後のコードは、
$disp_num = 10 + 1;
$bucket = array_fill(0, $disp_num, null);
$pointer = 0;
while (!feof($fp)) {
 $bucket[$pointer%$disp_num] = fgets($fp);
 $pointer++;
}
のようにしたものです。
配列の順番がぐちゃぐちゃになるので、最後少し苦労しますが配列に入れるだけなのでメモリも速度もいいですね。
(やってて気づいたのですが)+1にしてるのはfopenでfeofまでやると、
最後の空行が入ってしまうようなので+1にしてます。
このせいで、他の配列Queue版もSplQueue版も最後に1回pop処理が必要になったりして、ちょっといまいちな印象です。
fileは最後の空行は無視されていました。
220 [sage] 2020/05/06(水) 16:58:19.87ID:???
ごめんなさい、嘘つきました。
よく見たらfileも最後の空行が入ってしまっていました。
220 [sage] 2020/05/06(水) 17:13:19.11ID:???
さらにごめんなさい、ベンチで使ったやつはfileのあとにreverseもしてました。
実際はfileだけでログ取得箇所を示す配列のcount入れても、
もっと早くて0.022台〜0.025台です。
nobodyさん [sage] 2020/05/07(木) 15:05:43.63ID:???
echo "str".$a-$b;
PHP Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence
とかいうのが出た
もうPHP8の季節なのかー
nobodyさん [] 2020/05/07(木) 15:54:57.14:CF6GEumL


file()は全部メモリに乗っけちゃうんだから、ファイルサイズ以上にメモリ消費するわな。
行数の多いファイルを頭から地道に読み込もうとすると、ループ内のほとんどの時間は無駄になっちゃうから、最後の数行だけ取る処理をlastコマンドに任せた方が早いんじゃないか。
いずれにせよログの巨大化回避の枠組みを作ることの方が先決だろう。
nobodyさん [sage] 2020/05/17(日) 14:17:12.59ID:???
WEBプログラム板けっこう寂れちゃったんだな
PHP7のバージョンアップで前バージョン動かなくなったりしたのが良くなかったんじゃ
nobodyさん [sage] 2020/05/17(日) 21:37:36.37ID:???
オワコンとまでは言わないがここを目指す技術者の減少が著しい
今はスマホやゲームから入ってそのままサーバが必要になれば
KotlinやらSwiftやらC#で書くみたいな節があるし
JSの進化とともに昔みたいにこってこてにサーバサイド書くこともなくなって
本当にデータの受渡しだけになってしまったし

共用サーバはPHPとPerlぐらいしか選択肢がなかったころに流行って
PythonとRubyが加わってRoRでモダンなWebFWが完成して
VPSやクラウドが登場して選択肢が増えていって
PCが廃れスマホが主流になった現在、正直今更PHP?だもんな
寂しいけど俺も今からなら絶対PHPは勧めないよ
nobodyさん [sage] 2020/05/17(日) 22:05:18.66ID:???
21世紀になったあたりの頃は
「未来はPCからEmbeded(モバイルなんて言葉はまだ無かった)までJAVAで統一されている」
って言われたものだが・・・
nobodyさん [sage] 2020/05/19(火) 09:40:50.74ID:???
Javaはセキュリティ関連でイメージがすっかり悪くなってしまったからね
Javaのインストールしたくないけど仕方なく入れてる人はわりと見る
nobodyさん [sage] 2020/05/20(水) 14:29:00.49ID:???
ライセンスの話もあるしなぁ
nobodyさん [sage] 2020/05/26(火) 08:25:57.65ID:???

ログインしたあとは
JSONとMySQLのやり取りだけだもんな
サーバー側は得意なのでいいよ
nobodyさん [sage] 2020/05/28(木) 19:20:47.75ID:???

まだそんなこと言ってんの?
オラクル製のじゃなきゃ無料で使えるだろ
nobodyさん [sage] 2020/05/29(金) 04:01:42.87ID:???

ライフサイクルが短いから使ってもすぐ上げなきゃいけないとかで実用的でない
nobodyさん [sage] 2020/05/29(金) 08:18:29.83ID:???

逆に、PHPなら書けるけどSwiftとかC#とか書けない場合、
今から新たに書くプログラムをPHPで書いてもいいのかな?今でも
それとも時代に合わせて新たな言語覚えるべき?
nobodyさん [sage] 2020/05/29(金) 13:08:17.63ID:???

イメージが悪くなった, という話の流れなんだがな
nobodyさん [] 2020/05/29(金) 13:39:46.25:lydFJ519
Javaは元々、冗長すぎてまともなプログラマからは嫌われていた。
nobodyさん [sage] 2020/05/29(金) 21:05:21.63ID:???
JAVAが世界を席巻していた頃は
まさか将来毎年のように新言語が
登場するようになるとは夢にも思ってなかった

JAVAで世界は統一されると堅く信じていた
nobodyさん [sage] 2020/05/30(土) 05:50:40.83ID:???

PHPで全然かまへんで
ただPHPでかけるがSwiftやC#でかけないなんてことはないと思うぞ
(Webに限っては)その逆もしかり
まあどっちが楽かっていう問題はあるけどね
PHPはimportするパッケージ探すとこから始めなくていいことも多いしな
nobodyさん [sage] 2020/05/30(土) 09:57:26.38ID:???
PHPまでしかできない奴はc#は無理な奴かなり多い
nobodyさん [] 2020/05/30(土) 10:15:16.00:yMi4WCg0
動的型付け言語全般がタイプヒントつけるのがしんどい
nobodyさん [sage] 2020/05/30(土) 18:30:15.00ID:???
c#で何をするかによるが
少なくともVSで開発するGUIアプリは
htmlとjavascriptの基礎があれば作れるだろう
nobodyさん [sage] 2020/06/07(日) 17:20:59.63ID:???
laravel使っているのですがphpかlaravelで下記のことはどうすればできますか?

ページ内のボタンをクリック→データベースのテーブルを作成
nobodyさん [] 2020/06/07(日) 18:36:46.59:nyi0X8Kp
CREATE TABLEとかのDDLは普通はマイグレーションで実行するよな
APIで誰でも実行出来るようにするなんて普通はない
nobodyさん [sage] 2020/06/09(火) 00:51:54.04ID:???

了解しました
nobodyさん [] 2020/06/09(火) 10:29:05.34:gYDT8D4U
企業内閉鎖系ならまだしもネット接続でそんなの開放したらイチコロだな
nobodyさん [sage] 2020/06/16(火) 21:45:02.21ID:???
ちょっとfuel phpの仕様でdoc読んでも見当たらないので教えてほしいんだ。。
fuel/app/config/routes.phpで
return array(
'api/hoge' => 'hoge',
'api/hige' => 'hige',
'api/hage' => 'hage',
);
ってなってるのを
return array(
'api' => array(
'hoge' => 'hoge',
'hige' => 'hige',
'hage' => 'hage',
),
);
って出来る?

目的としてはクソみたいに汚くなったルーティングを整理したいからで
ソース読んだ限りだと正規表現を利用する書き方的なことをしないと
ダメっぽい気がしたんだが一応確証がほしい
nobodyさん [] 2020/06/17(水) 19:37:57.92:v7YjBpxF
そんな事より
なんでarrayじゃなくて[]で書かないの?
nobodyさん [sage] 2020/06/17(水) 20:34:41.25ID:???
fuelってまだ生きてるの?
nobodyさん [sage] 2020/06/17(水) 22:26:53.04ID:???

無知乙


グラブルが2019時点でいまだにfuel採用しているし豚みたいなLaravelより軽いし
みたいなスクール上がりの馬鹿なカスが寄り付きづらいから割とピンピンしてる
nobodyさん [sage] 2020/06/18(木) 02:51:44.81ID:???
>このスレで扱わない話題
>・直接関係ない○○特有の質問(専スレへ)
> (HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)

ttps://medaka.5ch.net/test/read.cgi/php/1321843505/
ageて質問したら誰か答えるんじゃね?
マイナーなFWしかも5chみたいな人いないとこで質問してんだから
答え返ってこないことは覚悟してくれ
nobodyさん [sage] 2020/06/18(木) 19:20:57.36ID:???
ffmpegコマンドを叩いて変換待ちってのはどんな感じに実装すればいいですか?
nobodyさん [sage] 2020/06/19(金) 09:11:46.17ID:???

裏でやらせておいて、出来上がったら教える感じで実装する
nobodyさん [sage] 2020/06/19(金) 16:56:07.58ID:???

マルチスレッドとかで並列処理をするかんじですかね?
pthreadとかでいいのかな?
それでタイムアウト対策とかはどうしたらいいんでしょう?
flushとかそのへんを使う感じですか?
nobodyさん [sage] 2020/06/19(金) 19:44:41.02ID:???

バックグラウンドで動く別プログラムをsystem関数で呼ぶとかする
タイムアウトも別プログラムに勝手にやらせる
nobodyさん [] 2020/06/19(金) 23:27:50.17:tdau3ufj
最近のフレームワークならキューに入ったジョブを実行するシステムがあるだろう
nobodyさん [sage] 2020/06/20(土) 15:55:01.29ID:???
申し訳ないが、フレームワークの話はしていない
nobodyさん [sage] 2020/06/23(火) 19:43:14.83ID:???
ffmpeg は処理途中で標準出力するから同期処理は無理じゃねえ。
nobodyさん [sage] 2020/06/24(水) 20:32:39.92ID:???

標準出力をファイルに落として、のぞき見
nobodyさん [] 2020/06/26(金) 16:16:58.83:eYTLvWbv
【日本モデル】 上昌広『第2、3波でしっぺ返し』
ttps://krsw.5ch.net/test/read.cgi/covid19/1592957330/l50
nobodyさん [sage] 2020/07/13(月) 18:52:44.64ID:???
ttp://https://externals.io/message/110907

そもそもサポートしてるの知らんかったけど、地味に効いてきそう。
nobodyさん [sage] 2020/07/16(木) 16:53:24.16ID:???
公式のwindows版PHPってあれMSがビルドしてたのか
野良ビルドよりは安心だけどまあ正直どうでもいいっすねw
公式が書き換えられたりしても気づくことなく
公式にあるってだけでホイホイダウンロードしちまうだろうし
nobodyさん [sage] 2020/07/16(木) 20:48:50.35ID:???
MS、なんでPHP8ビルドしないん(´・ω・`)?
nobodyさん [sage] 2020/07/17(金) 10:01:11.17ID:???
MSがPHPを切ったのではない
PHPがMSを捨てたのだ
nobodyさん [sage] 2020/07/18(土) 15:00:25.42ID:???
xamppあたりのチームがコンパイルしそうだな
nobodyさん [] 2020/08/08(土) 14:14:16.21:nc6K0wHz
PHPってなんで未だにasync awaitないの?
C#、JavaScript、Pythonはあるでしよ
Javaは無いみたいだけど

コールバック地獄なしで非同期コード書きたい
nobodyさん [sage] 2020/08/09(日) 14:26:12.16ID:???

forkすればいいじゃん
なんでいちいち待つの?
nobodyさん [] 2020/08/09(日) 16:04:40.54:YsClk0yI

Guzzleのpromiseも
curl_multiも知らない男の人って・・・
nobodyさん [] 2020/08/09(日) 16:26:51.29:YsClk0yI
forkって 

親プロセスと変数は共有出来ない(子プロセスの変数を変えても親プロセスの方はそのまま)
その一方MySQLを使ってると子プロセスが終了時に接続がクローズされる

何も良いことがなさげなんだが
親プロセスと変数が共有できないなら
普通にexecする方がマシじゃね?

それだけじゃなく
実行時間が短い処理には
プロセス生成はオーバーヘッドが大きすぎる
nobodyさん [sage] 2020/08/11(火) 18:35:30.49ID:???
「hogeしか出来ない人」
が存在する言語ってもしかしてphpしかなくない?
マジで?
nobodyさん [sage] 2020/08/11(火) 23:28:45.65ID:???
言語の欠点をどうやって補うかって話じゃなくただ言語の欠点をあげつらうだけなら、
普通に他の言語使えば?としか思わんのだが
他の言語使えないというならお前が無能なだけだろうと
nobodyさん [] 2020/08/12(水) 09:11:18.44:13/ox338
PHPはNodeと違ってイベントループがコア機能として組み込まれていないから
Guzzleの場合、非同期処理の恩恵を得るには
Promiseの配列(またはイテレータ、ジェネレータ)を用意して
適切な場所でそれをwaitしてイベントループを回す必要がある
場面によっては非同期の恩恵を得られない

言語に非同期処理が組み込まれてないのもこの辺が理由か
イベントループって、
リクエストの度にプロセスを初期化するPHPの構造と合わなそうだし
nobodyさん [] 2020/09/20(日) 21:22:40.12:tOMGyHJz
質問させてください。
今PHPで3択クイズを作ってます
配列に正解が1つと間違いが2つ入ってます
この3つをランダムに表示させて答え合わせしたいのですが
やり方がわかりません。先輩方、ご教授お願いします。
nobodyさん [sage] 2020/09/20(日) 21:37:23.87ID:???

完全なランダムはPHPでは使用できません。
PHP以外の言語でも完全なランダムは不可能です。

あと30年ほど経てば、利用できる可能性があります。
nobodyさん [] 2020/09/20(日) 21:47:48.72:acwntdUK

お前リアルでもそんなこと言ってんの?w
274 [] 2020/09/20(日) 23:16:19.67:tOMGyHJz
$a[0] = "正解";
$a[1] = "間違い1";
$a[2] = "間違い2";
shuffle($a);

ここまでは考えたのですが
これをどうやって正解判定するのか
案外難しいですねこれ・・・
nobodyさん [sage] 2020/09/21(月) 00:47:28.54ID:???
そのレベルならくだスレで聞いたほうが良いと思うけど
ttp://https://paiza.io/projects/2brvVhAnwgCQv_90qSgzQg
nobodyさん [sage] 2020/09/21(月) 09:54:08.94ID:???
正解を別に覚えといてそれと照合すればいいじゃん
274 [] 2020/09/21(月) 11:05:05.51:UQvPmLSO

ありがとうございますた!
ちなみにくだスレないです(´;ω;`)
nobodyさん [] 2020/09/23(水) 15:02:54.72:mXlXxqsS
file_get_contentsでtwitterを読んでrssにするプログラムが
いつの間にか動かなくなっていたので調べたところ、
ツイッターのページがほぼJavaScriptのみになっていてツイートをHTMLとして含まないようになっていました
もうtwitter APIを介して取得するしかないのでしょうか?
nobodyさん [] 2020/09/23(水) 15:15:33.56:mXlXxqsS

twitterをRSS化するサービスがいくつもあったので、それを使うことにしました
失礼しました
nobodyさん [] 2020/09/26(土) 17:56:16.34:gRsH574I
phpで掲示板を作ってます
threadテーブルとpostテーブルがあります

threadテーブルのカラム
・thread_id(スレッドID)
・time(スレッド作成タイム)
・title(スレッドタイトル)

postテーブルのカラム
・thread_id(スレッドID)
・name(投稿者)
・res_no(レスナンバー)

スレッド一覧を表示する際、タイトルの横に投稿者を付けたいので、以下のSQLを発行しました
sql = "SELECT t.title, p.name FROM thread t JOIN post p ON t.thread_id = p.thread_id WHERE p.res_no = 1 LIMIT 0,10"
※行 0 - 9 の表示 (合計 10, クエリの実行時間: 0.0029 秒。)

スレッド作成順にソートしたいため、ORDER BY句を入れると

sql = "SELECT t.title, p.name FROM thread t JOIN post p ON t.thread_id = p.thread_id WHERE p.res_no = 1 ORDER BY t.time DESC LIMIT 0,10"
※行 0 - 9 の表示 (合計 10, クエリの実行時間: 0.6489 秒。)

と実行時間が大幅に上がってしまいました
実行時間を抑えるためにどうしたら良いですか?
nobodyさん [] 2020/09/26(土) 19:33:49.23:gRsH574I
ですがゴニョゴニョしたら解決しました
nobodyさん [] 2020/09/27(日) 14:14:32.94:hc137Dw+
完全にスレチだったな
nobodyさん [] 2020/10/03(土) 20:06:29.98:VpO2oA58
WSL2のDockerで
Windowsのファイルシステム上にあるphpファイルを読ませると
遅すぎて使い物にならない

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

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

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

Unisonで同期すれば速いけどちょっと最初の設定が面倒くさい
nobodyさん [sage] 2020/10/07(水) 14:55:34.60ID:???

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

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

  2 => [
    'question' => 'てめぇの血は何色だぁ?',
    'choice' => [
      'A' => '青',
      'B' => '赤',
      'C' => 'ピンク',
    ],
    'correct' => 'B',
  ],
];
nobodyさん [sage] 2020/10/23(金) 00:41:55.69ID:???
windows consoleでfgets(STDIN,4096)で
入力待ちにしたいのですが次に進んでしまって入力待ちになりません
この間まで問題なかったのですが
proc_openあたりの関数使ってからおかしくなった気がします
設定でも書き換わったのか再起動しましたが直りません
何か修正する方法知ってる方いたら教えて下さい
289 [sage] 2020/10/23(金) 10:19:05.47ID:???
なんか似たような報告ありました
ttp://https://stackoverflow.com/questions/59092779/has-php-7-4-broken-fgetsstdin
PHPのバグっぽいですね?
ちょうどPHP7.4にしたのでそれのせいだったようです
最新の7.4.11にしたら問題なくなりました
nobodyさん [] 2020/11/21(土) 18:14:41.87:TFRH5PeG
テキストファイル保存して適宜読み込もうと思ってる

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

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

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

これより優れた書式ってあると思う?
nobodyさん [sage] 2020/11/21(土) 18:17:24.18ID:???

csv tsv xml json 好きなの選べ
nobodyさん [sage] 2020/11/21(土) 18:35:36.32ID:???

記述が楽な方がいいなぁ・・・
nobodyさん [sage] 2020/11/21(土) 18:54:15.51ID:???

ならjson一択
nobodyさん [sage] 2020/11/21(土) 19:03:55.33ID:???

いくらでもあるが
思ったら既に挙げられてるか
nobodyさん [sage] 2020/11/21(土) 20:13:25.09ID:???
jsonはねぇ・・・
見やすいことは見やすいんだけど
いざ手書きで記述するとなると括弧が結構面倒くさくて
nobodyさん [sage] 2020/11/21(土) 21:04:18.94ID:???
は?なんで手書きすんだよw
nobodyさん [sage] 2020/11/22(日) 15:24:22.67ID:???
全部単行にして複数行へは実態への参照だけ置くとかもあるね
用途次第かなと
nobodyさん [sage] 2020/11/28(土) 10:32:12.49ID:???
で、PHP8は神ですか?

勢い5万以上のスレをメールでお知らせするサービス、実施中!!
憧れボディをGETしたい!その夢、ボニックで!

2ch勢いランキング 全部 1- 最新50 WebProg板ランキング

凡例:

レス番

100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている

名前

名無しさん (青) → sage のレス
名無しさん (緑) → age のレス

ID

ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID

このページは2ch勢いランキングが作成したキャッシュです。元のページはこちら。削除についてはこちら