[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/09 11:07 / Filesize : 332 KB / Number-of Response : 1020
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はここに書き込みやがれ 8



1 名前:デフォルトの名無しさん(ワッチョイ bfb2-csvI) mailto:sage [2017/03/15(水) 00:41:22.79 ID:ko4BTSP20.net]
PHPに関する下らない質問用避難スレです。
まず読むこと【PHPマニュアル】
www.php.net/manual/ja/

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 7
echo.2ch.net/test/read.cgi/tech/1478657006/

次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured

2 名前:デフォルトの名無しさん (ワッチョイ bfb2-csvI) mailto:sage [2017/03/15(水) 00:42:20.59 ID:ko4BTSP20.net]
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】7.0
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・ 解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・ 誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・ SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ

3 名前:デフォルトの名無しさん (ワッチョイ bfb2-csvI) mailto:sage [2017/03/15(水) 00:42:50.37 ID:ko4BTSP20.net]
関連リンク
■本家マニュアル   www.php.net/manual/ja/
■日本PHPユーザ会 www.php.gr.jp/
■PHPNG        https://wiki.php.net/phpng
■PEARマニュアル  pear.php.net/manual/ja/
■メーリングリスト   ml.php.gr.jp/mailman/listinfo/
■ZFマニュアル    framework.zend.com/manual/ja/
■Smartyマニュアル  www.smarty.net/manual/ja/

(以下英語)
■Zend本家      www.zend.com/
■Zend Framework  framework.zend.com/
■php | architect   www.phparch.com/
■Smarty       www.smarty.net
■Smartyマニュアル smarty.php.net/manual/en/
■PECL本家(英語) pecl.php.net/

4 名前:デフォルトの名無しさん (ワッチョイ 323c-ZZsN) mailto:sage [2017/03/15(水) 01:07:59.96 ID:FiGu7lnE0.net]
>>1

前スレ>>974の件はDB云々よりも別担当者が作ったコード片の安全性をどう担保するかが一番の問題

会員対応の担当者が自由にカスタマイズ部分をPHPで編集できるようにしたいけど
その都度システム担当者(質問者)がレビューやテストをやってコードに組み込む手間はかけられないから
それを解決する手段として考えた案だと想像してる

5 名前:デフォルトの名無しさん (ワッチョイ f342-aox5) mailto:sage [2017/03/15(水) 11:58:13.95 ID:ffUP4kqV0.net]
DBにコードを入れることも想定できない人が騒いでたようだね。
最近はジョブ管理システムなどもWebの技術で作ったりするんだけど・・

あと読み込んだ文字列をプログラムとして実行するようなものも、システム周りのスクリプト読むと多いよ。
まぁPerlが多いけど、最近だとRubyで作った管理ツールとかも増えてるね。
Perlは後で人が読むことを考えないプログラムが多くて辛いけどw
Rubyの人は、Rubyの世界で全てやろうとする傾向に違和感あるけどww

6 名前:デフォルトの名無しさん (アウアウウー Sa93-gCpv) mailto:sage [2017/03/15(水) 12:24:24.35 ID:J6/fNsfAa.net]
宝石系嫌い

7 名前:デフォルトの名無しさん (ササクッテロル Sp57-xX7A) mailto:sage [2017/03/15(水) 14:48:50.99 ID:OWgSYbFWp.net]
まだ馬鹿がなんかホザいてるよ

8 名前:デフォルトの名無しさん (ワッチョイ e3d6-1sZU) mailto:sage [2017/03/15(水) 20:07:30.21 ID:HiQDR7mt0.net]
>>5みたいなアホとは一緒に仕事したくねぇなぁ

9 名前:デフォルトの名無しさん (ワッチョイ 323c-ZZsN) mailto:sage [2017/03/15(水) 21:00:11.40 ID:FiGu7lnE0.net]
同じく
自分が分かってないことを分からない人は成長の見込みも薄いからね

10 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 01:27:45.84 ID:Vx3V2zIi0.net]
前スレで

> WEB以外を知ってたら、なんでDBにコードぶっこむことになるんだよ土人
> 何より、DBに入れるメリットが何処にあるんだ、アホなのか?

って聞かれたのにそれには答えず、

> DBにコードを入れることも想定できない人が “騒いでたようだね”。

だもんな。本物の馬鹿じゃん。

> 最近はジョブ管理システムなどもWebの技術で作ったりするんだけど・・

とか、DBにコードぶち込むことがなんでWEBの技術になるのかわけわからんし、
PerlとかRubyとか名前出すことが何の意味があるのか、そいつの説明からは全くわからん。

何よりこの馬鹿 >>5 ってさ、HOWばっか気にしてんのな。
何をするか=DBにコードを入れる にずっとこだわってんの。
アホほどHOWだのWHATだのにこだわるんだよ。

頭がマトモなやつが重要視するのはいつでもたった一つ、WHYなのさ。
なんでそんなことするのか、何故そうしなければいけないのか。
このアホ>>5には、その説明が一切ない。
それこそがノータリンの証なわけさ。

> Perlは後で人が読むことを考えないプログラムが多くて辛いけどw
> Rubyの人は、Rubyの世界で全てやろうとする傾向に違和感あるけどww

そして、アホは必ず全く意味のないところで草を生やす。これも定番だ。



11 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 01:29:38.79 ID:Vx3V2zIi0.net]
一応、正確に

> WHATやHOWばっか気にしてんのな。
> 何をするか、どうやるか=DBにコードを入れる にずっとこだわってんの。

に訂正しとくけど、それはしなくてもわかんだろ。

12 名前:デフォルトの名無しさん (ワッチョイ a3ce-tpgq) mailto:sage [2017/03/17(金) 01:39:03.85 ID:V8wqUpE70.net]
インスタンス生成時、変数に代入しない場合何かデメリットありますか?

13 名前:デフォルトの名無しさん (アウアウウー Sa37-yKHs) mailto:sage [2017/03/17(金) 02:14:52.46 ID:s4yX6lW3a.net]
staticメソッドにしろとしか

14 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 02:15:12.57 ID:Vx3V2zIi0.net]


・参照できない
・スコープが外れるまでメモリから意図的に破棄できない
・場合、言語によってはメモリリーク

あたりか?

何が聞きたい? てか、なんでそんな事したい?
オレがWHYが大事だと言った直後の書き込みとは思えん

15 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 02:17:55.47 ID:Vx3V2zIi0.net]
>>13

お前、何言ってんの? ちょっと詳しく説明しろよ

16 名前:デフォルトの名無しさん (ワッチョイ f359-ndK9) mailto:sage [2017/03/17(金) 02:49:25.98 ID:Uy7AiPod0.net]
> スコープが外れるまでメモリから意図的に破棄できない
これについて詳しく教えていただけますか

17 名前:デフォルトの名無しさん (ワッチョイ bf17-0VuM) mailto:sage [2017/03/17(金) 07:03:21.91 ID:Q0Da4JGK0.net]
ホワイ ジャパニーズ ピーポォォォォォォォォォォ!!!

18 名前:デフォルトの名無しさん (アウアウウー Sa37-Rmg3) mailto:sage [2017/03/17(金) 07:24:16.93 ID:95f1ccRPa.net]
2つの別々の変数に同じ文字列が入っている場合、それぞれの変数をキーにした
要素数2の連想配列を作ろうとすると最終的な要素数が1になってしまうのは
仕様ですか?

19 名前:デフォルトの名無しさん (ワッチョイ c3d6-KiZK) mailto:sage [2017/03/17(金) 08:47:19.57 ID:Vx3V2zIi0.net]
>>16
おまえ、誰だよ?

20 名前:デフォルトの名無しさん (ワッチョイ c3d6-KiZK) mailto:sage [2017/03/17(金) 09:12:27.47 ID:Vx3V2zIi0.net]
>>18
お前のPHPは、変数がキーになんのか?



21 名前:デフォルトの名無しさん (アウアウカー Sa57-Rmg3) mailto:sage [2017/03/17(金) 10:54:56.44 ID:fQxwTC+aa.net]
>>20
できないんですね、すみません
普通に動くことは動くので出来ると思ってました
データベースから値を2つ持ってきてそれらをキーとバリューで紐付けようとしてました
勉強し直します

22 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 12:00:52.57 ID:Vx3V2zIi0.net]
>>21
できないとかじゃなくて、「お前のPHPは、どうやって“変数”をキーにしてんだ」って聞いてんだ。
変数の値をキーにすることは出来るが。

23 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 12:02:24.84 ID:Vx3V2zIi0.net]
あーあ、>>17のチンコ、もげ落ちねーかな…

24 名前:デフォルトの名無しさん (ワッチョイ 0342-QFag) mailto:sage [2017/03/17(金) 12:53:02.59 ID:hXHSlYUO0.net]
>>10
え?まじ?
DBにコードを入れるメリットというより、
デメリットがどのくらいあるのかを知りたい、入れて良いのかを知りたいってのが
元の質問だったはずなんだけど・・
だから、実際にコード入れてるシステムの例をあげるのが一番わかりやすいと思うんだけど

そもそも、それにメリットがあるかどうかはシステムの要件によるので意味のない質問なんだよ

25 名前:ねww
運用する人からDBに入れてくれって要望があることもないとは言えないからね。
実際ちょっとしたファイル変更もやりたくないって人もたまにいるんだよね。
DBなら認証もバックアップもセキュリティもDB管理者がやってくれるからって、たまにあるんだよね。
[]
[ここ壊れてます]

26 名前:デフォルトの名無しさん (ワッチョイ 0342-QFag) mailto:sage [2017/03/17(金) 13:07:23.79 ID:hXHSlYUO0.net]
>>21
今変なのが湧いてるけどwww
最初の質問の意味がわかりにくかったんだが・・
ハッシュキーで、同じキーを使ったら上書きされてしまうのは仕様ですね(これはPHPとか関係なく)

2つのキーを持った連想配列ってことならPHPでは簡単に出来るよ
例えば多次元連想配列でググってみて
他にも、配列の中に配列を入れたりもPHPだと簡単に出来るので便利だよ。

27 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:19:02.49 ID:Vx3V2zIi0.net]
> 運用する人からDBに入れてくれって要望があることも“ないとは言えないからね”。
> DBなら認証もバックアップもセキュリティもDB管理者がやってくれるからって、“たまにあるんだよね”。


> あと読み込んだ文字列をプログラムとして実行するようなものも、システム周りのスクリプト読むと“多いよ”。
> まぁPerlが多いけど、最近だとRubyで作った管理ツールとかも“増えてるね”。
>“最近はジョブ管理システムなどもWebの技術で作ったりするんだけど”・・


ばーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーかw

28 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:19:38.75 ID:Vx3V2zIi0.net]
>>25 : デフォルトの名無しさん (ワッチョイ 0342-QFag)2017/03/17(金) 13:07:23.79 ID:hXHSlYUO0
>21
> 今変なのが湧いてるけどwww

自己紹介おつかれさまっす

29 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:21:22.82 ID:Vx3V2zIi0.net]
>そもそも、それにメリットがあるかどうかはシステムの要件によるので意味のない質問なんだよねww

メリット無いものについて「DBにプログラムリストを入れるのを最初から否定するのは“発想が貧困すぎww”」とか
草生やす馬鹿は、マジ、ペチパーくらいしかいねぇよなw

30 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:22:19.88 ID:Vx3V2zIi0.net]
>>24 : デフォルトの名無しさん (ワッチョイ 0342-QFag)2017/03/17(金) 12:53:02.59 ID:hXHSlYUO0
>10
> え?まじ?

おまえの頭がマジかよ!?w



31 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:24:44.85 ID:Vx3V2zIi0.net]
>>25 : デフォルトの名無しさん (ワッチョイ 0342-QFag)2017/03/17(金) 13:07:23.79 ID:hXHSlYUO0
>ハッシュキーで、同じキーを使ったら上書きされてしまうのは仕様ですね(これはPHPとか関係なく)

使用じゃなくて“道理”だよ、ノータリン

>2つのキーを持った連想配列ってことならPHPでは簡単に出来るよ

お前、何いってんの? 日本語話せよクズ

>他にも、配列の中に配列を入れたりもPHPだと簡単に出来るので便利だよ。

PHPだけじゃねーよ、そんなの。本当に脳みそ腐ってんのかお前


ばーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーかw

32 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:25:51.58 ID:Vx3V2zIi0.net]
ID:hXHSlYUO0

こいつ、マジ、話せば話すほどボロだしくるの、マゾなん?

33 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:31:11.22 ID:Vx3V2zIi0.net]
> 運用する人からDBに入れてくれって要望があることも“ないとは言えないからね”。
> 実際ちょっとしたファイル変更もやりたくないって人も“たまにいるんだよね“。
> DBなら認証もバックアップもセキュリティもDB管理者がやってくれるからって、“たまにあるんだよね”。


なるほどー、つまりお前 ID:hXHSlYUO0 は、マトモなシステム構築ではなく
他人のわけわからん指示に従わなければならない下僕、ただのクソコーダー、というわけですね?

そんな下流の人に、発言権なんか、ねーです、さーせん

34 名前:デフォルトの名無しさん (ワッチョイ 0342-QFag) mailto:sage [2017/03/17(金) 13:40:32.18 ID:hXHSlYUO0.net]
他人のわけのわからん指示って、運用を考えたシステム構築とかやったことないんだね。
もしくは、人と話をしたこともないのか?
どうりで質問者の意図を読み取ろうとしないわけだ

35 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:43:58.40 ID:Vx3V2zIi0.net]
>他人のわけのわからん指示って、運用を考えたシステム構築とかやったことないんだね。

“本当に運用を考えた構築”したら、お前の言うようなシステムになんかなんねーよ
アホが集まって考えたアホシステムを言われたとおりに作らされてるお前の意見なんか、説得力ね〜ってまだわかんねーの?

お前自信が言ってんだろ

> 運用する人からDBに入れてくれって要望があることも“ないとは言えないからね”。
> 実際ちょっとしたファイル変更もやりたくないって人も“たまにいるんだよね“。
> DBなら認証もバックアップもセキュリティもDB管理者がやってくれるからって、“たまにあるんだよね”。

そりゃ、それを選んだんじゃなくて、“仕方なく”やってるだけじゃねーか
本物の下流だな

36 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:45:06.23 ID:Vx3V2zIi0.net]
>もしくは、人と話をしたこともないのか?

おまえがなw

人と話すには論理ってのものが必要になる。
おまえの言い分に論理があるかよ?

お前の言ってることは、「上が言うから仕方ないんです」の一辺倒じゃねーか

37 名前:デフォルトの名無しさん (ワッチョイ 0342-QFag) mailto:sage [2017/03/17(金) 13:45:55.68 ID:hXHSlYUO0.net]
>>16
多分何かと勘違いしてるんじゃないかなぁ?
14自体意味不明だしww
頭の中でGCの話に強制変換されてるのかもねww

まぁ最初の質問が壮大すぎて・・もう少し具体的に書いてもらうと回答あると思うよ。

38 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:46:40.37 ID:Vx3V2zIi0.net]
>どうりで質問者の意図を読み取ろうとしないわけだ

ここはYahoo! 知恵袋じゃねーよ
質問者の意図よりも、技術者としてどう対応するかの方が重要だ
まぁ、上の指図に反論もできない使いっぱは、せいぜい質問者に併せてなぁなぁやってろ

39 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:48:24.05 ID:Vx3V2zIi0.net]
>>36 : デフォルトの名無しさん (ワッチョイ 0342-QFag)2017/03/17(金) 13:45:55.68 ID:hXHSlYUO0
>16
>多分何かと勘違いしてるんじゃないかなぁ?
>14自体意味不明だしww
>頭の中でGCの話に強制変換されてるのかもねww

ほらな、この程度の馬鹿だもん

そりゃ、上からの指示をそのまま実行することしかできねーよな。

このバカ、多分メモリ使用量とか図ったこともないぜ

40 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:50:53.37 ID:Vx3V2zIi0.net]
てか、実際のところ、ぺちぱーって
>>14とか>>16の意味分かんないやつ、マジでたくさんいるんだろうな

そりゃ、多言語ユーザーから馬鹿にされるわけだよ



41 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:52:14.53 ID:Vx3V2zIi0.net]
>>36
>頭の中でGCの話に強制変換されてるのかもねww

こんな自虐的に草は生やせるのが、ノータリンペチパークオリティーなのですw

42 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:56:22.08 ID:Vx3V2zIi0.net]
おーい、ワッチョイ 0342-QFag ID:hXHSlYUO0

ま  じ  で、 >>14>>16 の意味、わ か ん ね ー の ?????

本 当 に プ ロ グ ラ マ ー な の ? www

43 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 13:58:13.89 ID:Vx3V2zIi0.net]
やべぇw
まじ、ぺちぱー、やべぇw

44 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 14:01:01.19 ID:Vx3V2zIi0.net]
おーい、アホ >>25 ワッチョイ 0342-QFag ID:hXHSlYUO0

> >2つのキーを持った連想配列ってことならPHPでは簡単に出来るよ
> お前、何いってんの? 日本語話せよクズ

これについて、詳しく説明しろよw
逃げるなよw

45 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 14:06:07.16 ID:Vx3V2zIi0.net]
アホレスを晒しとこ

>>985 = ワッチョイ 0342-QFag ID:hXHSlYUO0 : デフォルトの名無しさん (ワッチョイ f342-aox5)2017/03/13(月) 14:08:04.12 ID:f3raQE2X0
> プログラムも信頼できない人が作っておける環境だとまずいけど
> そうでなければ、DBにどんなプログラムを実行するかの情報を入れること自体は問題ないと思いますよ。
> まぁ直接文字コードを入れさせると、入力間違いで変なプログラムが実行される危険があるので
> そこはプログラムリストから選ぶような仕組みにした方が良いと思うよ。
> >>973 みたいにDBにプログラムリストを入れるのを最初から否定するのは発想が貧困すぎww

前スレ>>973の発想が貧困なんじゃなくて、お前に決定権が無くて言われたことを実行するしか許されてねーだけじゃんwwww

46 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 14:08:45.39 ID:Vx3V2zIi0.net]
お? 貼ってみて気づいた

>まぁ直接文字コードを入れさせると、入力間違いで変なプログラムが実行される危険があるので

> >>973 みたいにDBにプログラムリストを入れるのを最初から否定するのは発想が貧困すぎww

なんすか? この、「オレだけが分かる用語定義」みたいなのwwww

「もじこーどいれる」ってなんすか?wwww
「ぷろぐらむりすと」ってなんすか?wwww

ちょっと説明プリーズっすwwwwwwwwwwwwwwwwwwwwwwww

47 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/17(金) 14:09:35.23 ID:Vx3V2zIi0.net]
やべぇ、
まじ、ぺちぱー ワッチョイ 0342-QFag ID:hXHSlYUO0、やべぇw

マジ、脳みそ腐ってるwwwww

48 名前:デフォルトの名無しさん (ワッチョイ f359-ndK9) mailto:sage [2017/03/17(金) 15:40:04.00 ID:Uy7AiPod0.net]
巻き込まんでくれ。

気が付けばジャグ配列もメジャーになったもんだね。
あと本当にどうでもいいんだけど ID に iPod が入ってて、世が世なら神IDだった

49 名前:デフォルトの名無しさん (アウアウカー Sa57-Rmg3) mailto:sage [2017/03/17(金) 16:23:29.08 ID:fQxwTC+aa.net]
>>25
ああ、キーを一意につけてからバリュー自体を配列にしてそこにデータを入れ込めばいいんですね
ありがとうございます。やってみます

50 名前:デフォルトの名無しさん (ワッチョイ ef03-v8EU) mailto:sage [2017/03/17(金) 21:47:37.52 ID:21PDp4R80.net]
>>25
遅くなりましたが無事出来ました
イメージとしては
$hoge = 'hoge';
$hoge_flg = '1';
$hoge2 = 'hoge';
$hoge2_flg = '1';
$piyo = 'piyo';
$piyo_flg = '0';
みたいなデータがいくつかあって、変数名_flgが1の変数だけ格納した配列を作りたかったんです
最初は連想配列をよくわかってなかったので
$array = array_keys(array_filter([
$hoge=>$hoge_flg,
$hoge2=>$hoge2_flg,
$piyo=>$piyo_flg
],function($elm){
return $elm === '1';
})
);
と書いたら$arrayは['hoge','hoge']になるかと思ったのですが実際は['hoge']となり重複が




51 名前:えてしまったので困っていました
>>25を参考に
$array2 = array_column(array_filter([
['id' => $hoge, 'flg'=> $hoge_flg],
['id' => $hoge2,'flg'=> $hoge2_flg],
['id' => $piyo, 'flg'=> $piyo_flg]
],function($elm){
return $elm['flg'] === '1';
}),
'id');
と書き直したところ無事期待していた配列を得られました。改めてありがとうございました
PHPはまだ触り始めてから1ヵ月も経ってないので難しいですがなかなか面白い言語ですね
[]
[ここ壊れてます]

52 名前:デフォルトの名無しさん (アウアウカー Sa57-fNt+) mailto:sage [2017/03/17(金) 23:04:52.79 ID:+pUlJu44a.net]
結局phpとRubyてどっちがいいの?
初心者より

53 名前:デフォルトの名無しさん (ワッチョイ 33b2-u6wT) mailto:sage [2017/03/18(土) 00:10:26.21 ID:BLlmwqVR0.net]
>>49
いろいろ作りながら学習していくと良い

ただこのスレとかWebProgのスレとかは2chの中でも特に治安が悪いから, 2ch以外で聞いたりした方がいいだろう

54 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/18(土) 07:57:17.28 ID:+lFcCe0u0.net]
>>50
Rubyだっつってんだろ、
安易にPHPとか使う馬鹿は ワッチョイ 0342-QFag ID:hXHSlYUO0 みたいに初心者と馴れ合いする知識しかない馬鹿にしかなれん
少しはマシな知識がほしいならRubyやってろ

55 名前:デフォルトの名無しさん (ワッチョイ bf17-rLl6) mailto:sage [2017/03/18(土) 21:01:01.61 ID:xjI3A+LX0.net]
マジかよ「パーフェクトPHP」買ってきたばっかりなのに
返金してもらったほうがいいかな?

56 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/18(土) 21:18:26.52 ID:+lFcCe0u0.net]
まず、そんな理由で返金してもらうような人外はじゃまだからこの業界に入ってくるな

57 名前:デフォルトの名無しさん (ワッチョイ c3a0-Dx6a) mailto:sage [2017/03/19(日) 02:24:42.37 ID:L+LO5eNf0.net]
データベースで数百万有るデータの中から10件のデータをランダムに呼び出したい場合
何が一番データベースに負担かけずに呼び出せるんだ?

58 名前:デフォルトの名無しさん (ワッチョイ bf17-rLl6) mailto:sage [2017/03/19(日) 02:30:20.81 ID:2b676Nbt0.net]
>>54
おまえが出てけよハゲ

59 名前:デフォルトの名無しさん (ワッチョイ c3d6-59kE) mailto:sage [2017/03/19(日) 05:02:55.94 ID:cMktmhnn0.net]
>>55
まず、おまえがどんな検索をしてるか書けよ

>>56
オレが出ていったらおまえらみたいな搾りカスしかいなくなって困るだろ?

60 名前:デフォルトの名無しさん (ワッチョイ f359-ndK9) mailto:sage [2017/03/19(日) 05:25:57.98 ID:WY6A8OUp0.net]
>>55
order by random 使っているRDBMS でググる



61 名前:デフォルトの名無しさん (ワッチョイ 7f4a-ndK9) mailto:sage [2017/03/19(日) 06:46:36.92 ID:YCrUJypg0.net]
>>55
ランダムという言葉が指す意味が不明確。
DBにインデックス張れ、で済みそうな気もする。

62 名前:デフォルトの名無しさん (ワッチョイ bfd7-9g2g) mailto:sage [2017/03/19(日) 15:44:21.57 ID:VNFtv3+R0.net]
変数の連結には.じゃなくて,使えって言われた!
速いんだって!
知らんがな(´・ω・`)

63 名前:デフォルトの名無しさん (アウアウウー Sa37-Rmg3) mailto:sage [2017/03/19(日) 16:04:54.90 ID:cwNaGN41a.net]
いや知っとけよ
遅い速い以前に内部の挙動が違うやん

64 名前:デフォルトの名無しさん (ワッチョイ bfd7-9g2g) mailto:sage [2017/03/19(日) 16:59:56.34 ID:VNFtv3+R0.net]
カンマは区切りごとに出力するんですっけ?

65 名前:デフォルトの名無しさん (ワッチョイ c3a0-Dx6a) mailto:sage [2017/03/19(日) 22:22:23.29 ID:L+LO5eNf0.net]
>>58
うまくいきました。
ありがとうございます。

66 名前:デフォルトの名無しさん (ワッチョイ bf17-0VuM) mailto:sage [2017/03/19(日) 22:31:52.47 ID:2b676Nbt0.net]
, には連結の意味はないけど
echoしたら空白無く出力されるから連結して見えるだけ
. は実際に連結処理してる

67 名前:デフォルトの名無しさん (ワッチョイ 3f46-fXK0) mailto:sage [2017/03/20(月) 03:19:42.40 ID:uEePBO/e0.net]
web系プログラム初心者です
PHPを使ってローカル内のCSVをアップして、MySQLにインサートする処理をしたいのですがファイルのアップ処理で躓いています
HTMLあたりの処理から自信なくやってるため、
PHP以前にHTMLの要因もあるかもしれませんが、どなたかご教示願えませんか?

68 名前:デフォルトの名無しさん (ワッチョイ cf42-9jmm) [2017/03/20(月) 07:28:42.54 ID:k0XFnqnY0.net]
HTMLもCSVも使わず、まずは一つのデータをMySQLに追加してみる
これができないならHTMLの知識と関係はない

69 名前:デフォルトの名無しさん (ワッチョイ 3f46-fXK0) mailto:sage [2017/03/20(月) 09:27:49.03 ID:uEePBO/e0.net]
>>66
あと別スレで無事解決しました
ありがとうございます

70 名前:デフォルトの名無しさん (ワッチョイ 6f92-1rpH) [2017/03/24(金) 11:54:56.68 ID:BuI/zHvr0.net]
WEBアプリで、例えば宿泊客管理アプリで
ズラーと顧客一覧が並んでて

田中一郎 [編集][削除]
香山誠一 [編集][削除]
美樹本洋介[編集][削除]
みたいなかんじとするじゃないですか。

で、選ぶと、当然 GETなりPOSTなりで IDが送られ
編集画面で
名前[ 田中一郎 ]
カナ[ たなかいちろう ]
住所[ 東京都足立区... ]
....

みたいな感じで編集画面が表示され、編集完了のサブミットをおすと
これまた GET POST で情報が送られ
SQLなどに送信されてデータが書き換わるという感じだとおもうのですが、
この際にGETやPOSTの内容を WEBデベロッパーツール等で
書き換えて不正な値や、他のデータへまで影響するのを避けるようにするは
どういった対策が考えられるでしょうか?
できればバリデーション処理無しで。



71 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/24(金) 12:21:53.54 ID:AiSXPZSJ0.net]
>>68
>どういった対策が考えられるでしょうか?

いっぱい勉強する

以上

72 名前:デフォルトの名無しさん (ササクッテロル Spd3-NetD) [2017/03/24(金) 12:58:03.20 ID:fGSTFy7up.net]
>>69
それ言い出したらこのスレの存在の意味はないな

73 名前:デフォルトの名無しさん (アウアウウー Sa3f-XZr6) mailto:sage [2017/03/24(金) 14:59:47.54 ID:vLNz1zg4a.net]
faxでおくってもろたらええ

74 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/24(金) 15:19:47.27 ID:suDsBIm10.net]
>>68
>できればバリデーション処理無しで。

無理

以上

75 名前:デフォルトの名無しさん (ワッチョイ 1bcd-9ZJb) mailto:sage [2017/03/24(金) 16:24:15.90 ID:m5wjNG320.net]
サーバサイドのバリデーションは外せないよ

76 名前:デフォルトの名無しさん (ワッチョイ 6a79-jHpr) mailto:sage [2017/03/24(金) 22:35:18.56 ID:p/x57KqO0.net]
> バリデーション処理無し
ここでいうValidationっていうのがなんかのフレームワークの機能を指してる可能性?

77 名前:デフォルトの名無しさん (ワッチョイ fe1f-5sBS) mailto:sage [2017/03/24(金) 22:45:34.37 ID:Y5D1Pp+00.net]
暗号化したやり取りすれば良いのでは

78 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/24(金) 23:08:55.79 ID:suDsBIm10.net]
ネイティブならともかくWebアプリで
クライアント側の暗号化ロジックを隠すのはほぼ無理

79 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/24(金) 23:43:34.75 ID:AiSXPZSJ0.net]
>>75

お前のアプリは通信を暗号化することで

> この際にGETやPOSTの内容を WEBデベロッパーツール等で
> 書き換えて不正な値や、他のデータへまで影響するのを避ける

ことが出来んだ、すげーなwwww

ちょっとそのアルゴリズムを教えろよwwww

80 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/24(金) 23:44:40.72 ID:AiSXPZSJ0.net]
>>74
指していたらなんか話が変わってくるのか? ゴミカス



81 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/24(金) 23:46:18.26 ID:AiSXPZSJ0.net]
>>76
おまえの喋っていることに、何か意味があると思ってる?

82 名前:デフォルトの名無しさん (ワッチョイ fe1f-5sBS) mailto:sage [2017/03/24(金) 23:47:36.80 ID:Y5D1Pp+00.net]
それってクライアントが不正することが前提の話なの?

83 名前:デフォルトの名無しさん (ワッチョイ 6a79-jHpr) mailto:sage [2017/03/24(金) 23:55:10.59 ID:p/x57KqO0.net]
>>78
馬鹿すぎて想像もできないんだろうけど通常の思考を持ってたらバリデーション無しとか書かねえだろ無能

84 名前:デフォルトの名無しさん (ワッチョイ ea3c-EscV) mailto:sage [2017/03/25(土) 00:00:20.61 ID:WyZVpsBF0.net]
>>79
つおまえか!
口は悪いが理解はマシなやつだと思ってたんだが

85 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/25(土) 00:05:37.12 ID:Bl9nCmA60.net]
誰かすまん、この馬鹿展開が論理的に成立している根拠を教えてくれないか? >>81 こいつ、マジ、脳みそ無い


74 : デフォルトの名無しさん (ワッチョイ 6a79-jHpr)2017/03/24(金) 22:35:18.56 ID:p/x57KqO0
> バリデーション処理無し
ここでいうValidationっていうのがなんかのフレームワークの機能を指してる可能性?

78 : デフォルトの名無しさん (ワッチョイ dff0-FAJs)2017/03/24(金) 23:44:40.72 ID:AiSXPZSJ0
>>74
指していたらなんか話が変わってくるのか? ゴミカス

81 : デフォルトの名無しさん (ワッチョイ 6a79-jHpr)2017/03/24(金) 23:55:10.59 ID:p/x57KqO0
>>78
馬鹿すぎて想像もできないんだろうけど通常の思考を持ってたらバリデーション無しとか書かねえだろ無能

86 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/25(土) 00:06:33.77 ID:Bl9nCmA60.net]
あーあ、 >>81 みたいな文盲、早く死なねーかな…

87 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/25(土) 00:09:10.36 ID:Bl9nCmA60.net]
> >>82 : デフォルトの名無しさん (ワッチョイ ea3c-EscV)2017/03/25(土) 00:00:20.61 ID:WyZVpsBF0
> >79
> つおまえか!
> 口は悪いが理解はマシなやつだと思ってたんだが


そうだよ? オレだよ?
口は悪いが博識で知能も高く、常に正しいことを言い清廉潔白で汚いことはせず、
中肉中背、暴飲暴食はせず、つつましく人生を全うする髪の毛フッサフサのオレだよ?

なんか文句ある?

88 名前:デフォルトの名無しさん (ワッチョイ 6a79-jHpr) mailto:sage [2017/03/25(土) 00:42:44.27 ID:zDJcZvGp0.net]
まあ全員頭悪い

89 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/25(土) 01:10:02.46 ID:Bl9nCmA60.net]
>>86
オレ以外な

90 名前:デフォルトの名無しさん (ワッチョイ fe1f-5sBS) mailto:sage [2017/03/25(土) 01:11:39.88 ID:xo5w+TUA0.net]
これPHPじゃ無理でしょう
ネットゲームのチート対策みたいなことしないといけなくない?



91 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/25(土) 02:17:29.70 ID:Bl9nCmA60.net]
はい、アホ登場

>これPHPじゃ無理でしょう

論拠、よろしく♪

92 名前:デフォルトの名無しさん (ワッチョイ fe1f-5sBS) mailto:sage [2017/03/25(土) 03:32:56.70 ID:xo5w+TUA0.net]
住所が
「東京都足立区.」のはずが
「東京都墨田区」に書き換えられていたとして
どうやってその正当性をチャックしたら良いのだろう?

23区に存在する名前かどうかまでは出来るだろうけど
存在する区名なら、予め適正値を知ってない限り受け入れないといけないよね?

93 名前:デフォルトの名無しさん (ワッチョイ dafa-9ZJb) mailto:sage [2017/03/25(土) 06:20:24.60 ID:WgNDHupM0.net]
チャック?

94 名前:デフォルトの名無しさん (オッペケ Srd3-6vFh) mailto:sage [2017/03/25(土) 11:25:36.08 ID:if2hVLxAr.net]
get値変えてpostなんてデベロッパーツール使わなくてもアドレスバーに入れれば送信できるやん?

95 名前:デフォルトの名無しさん (ワッチョイ 6f92-1rpH) [2017/03/25(土) 14:45:58.30 ID:lr4XG1zL0.net]
>>92
受け取り側が$_POST["hoge"]しか受け取らない設定であれば
POST値でおくらなければならない。
しかし POST値であっても Chrome検証ツールとかでなんとでも書き換えれる。
ラジオボタンで
<input name="impression" value="はい">
<input name="impression" value="いいえ">
があったとして、ローカルでソースを書きかえて
<input name="impression" value="どちらでもない">
とついかすれば、
「どちらでもない」という値がポストされる。

権限レベルが3以上の方でないと編集できません。
<input name="permission_level" value="1">

権限レベルが3以上の方でないと編集できません。
<input name="permission_level" value="5">

とかもできるかもしれない。
まあ、権限レベルとかは流石にPOSTでもGETでもなくSESSIONに格納するが・・・。

96 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/25(土) 20:00:41.92 ID:Bl9nCmA60.net]
見たまえ、諸君  この噛み合わない会話をwwwwwwwwwwww

> この際にGETやPOSTの内容を WEBデベロッパーツール等で

> get値変えてpostなんてデベロッパーツール使わなくてもアドレスバーに入れれば送信できるやん?

97 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/25(土) 20:02:30.85 ID:Bl9nCmA60.net]
>>90 : デフォルトの名無しさん (ワッチョイ fe1f-5sBS)2017/03/25(土) 03:32:56.70 ID:xo5w+TUA0
> 住所が
>「東京都足立区.」のはずが
>「東京都墨田区」に書き換えられていたとして
> どうやってその正当性をチャックしたら良いのだろう?

自分がアホなこと言ってるって気づくのに3年くらいかかりそうだな…

98 名前:デフォルトの名無しさん (オッペケ Srd3-6vFh) mailto:sage [2017/03/25(土) 20:48:37.60 ID:if2hVLxAr.net]
>>94
何か間違っとるの?
post値はurlじゃムリだけどgetはいけるやん?

99 名前:デフォルトの名無しさん (ワッチョイ fe1f-5sBS) mailto:sage [2017/03/25(土) 21:05:11.30 ID:xo5w+TUA0.net]
荒らしを相手にしないで

100 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/25(土) 21:11:32.38 ID:Bl9nCmA60.net]
>>96
そうだよ、そのとおりだよ? で、お前、本当に文盲?

相手が「GETやPOSTの値の変更」って言ってるのに、
なんで「GET値を変更してPOST」に話変えちゃうの?

それから、普通は紛らわしいから「GET値を変更して送信」とか言うよね
英語的にはPOSTするで間違ってはいないけど、頭がマトモなら「GET値を変更してPOST」とか言わないよね

おまえ、ノータリンだよね?



101 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/25(土) 21:12:09.04 ID:Bl9nCmA60.net]
>>97
舐めたこと言ってんじゃねーぞ、ゴミカス

102 名前:デフォルトの名無しさん (オッペケ Srd3-6vFh) mailto:sage [2017/03/25(土) 23:22:33.97 ID:if2hVLxAr.net]
>>98
お前周りにいちいち細けえことウザいって思われてるだろ

103 名前:デフォルトの名無しさん (ワッチョイ aa72-qnrk) mailto:sage [2017/03/26(日) 04:44:40.28 ID:oLhLT+zP0.net]
phpでデータベースに接続するときのまとめ
qiita.com/mpyw/items/b00b72c5c95aac573b71

104 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/26(日) 08:54:27.31 ID:KSncMErM0.net]
>>100

え? オレ、エスパーじゃないから、

>お前周りにいちいち細けえことウザいって“思われてるだろ”

他人がどう思ってるかなんてわかるわけないじゃん?wwwwwwwwww

おまえ、わかるの??? すげーーーーーーーーーーーwwwwwwwww

エスパー現る! エスパー現る!wwwwwww

105 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/26(日) 08:56:15.58 ID:KSncMErM0.net]
       ____
     /_ノ  ヽ、_\
   o゚((●)) ((●))゚o   ,. -- 、
  /::::::⌒(__人__)⌒:::::: /    __,>─ 、
  |     |r┬-|    /          ヽ
  |     | |  |   {            |__
  |     | |  |    }  \       ,丿 ヽ
  |     | |  |   /   、 `┬----‐1    }
  |     | |  |  /   `¬|      l   ノヽ    >>100 くそばーーーーーーかwwwwwwwwwwwww
  \      `ー'ォ /    、 !_/l    l    /  }
           {       \     l   /  ,'
           \      ´`ヽ.__,ノ  /   ノ
             \     ヽ、\ __,ノ /
               ̄ ヽ、_  〉 ,!、__/

106 名前:デフォルトの名無しさん (オッペケ Srd3-6vFh) mailto:sage [2017/03/26(日) 09:32:51.03 ID:dNTFG84Fr.net]
>>102
getの話してんだからgetの部分の話だけしたら
「postの話してねーじゃん!ノータリン!」
てお前がバカなだけだろ?
なんならこのスレ終わるまでテメーのクソっぷりを語り尽くすか?
この程度で勝ち誇ってんじゃねえよクソが

107 名前:デフォルトの名無しさん (オッペケ Srd3-6vFh) mailto:sage [2017/03/26(日) 09:34:49.48 ID:dNTFG84Fr.net]
ほらこいよ?
なんならリアルで待ち合わせすっか?
テメーのクソみたいな顔拝ませろ

108 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/26(日) 11:12:45.93 ID:KSncMErM0.net]
ぷっ、マヌケがなんかホザき始めたw

>>104
>getの話してんだからgetの部分の話だけしたら

おまえ、「GETをPOSTする」とか、本当に言うんだ?wwwwwww

いーーーーーーーーひゃっひゃっひゃっひゃ!

109 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/26(日) 11:13:28.95 ID:KSncMErM0.net]
>>104

       ____
     /_ノ  ヽ、_\
   o゚((●)) ((●))゚o   ,. -- 、
  /::::::⌒(__人__)⌒:::::: /    __,>─ 、
  |     |r┬-|    /          ヽ
  |     | |  |   {            |__
  |     | |  |    }  \       ,丿 ヽ
  |     | |  |   /   、 `┬----‐1    }
  |     | |  |  /   `¬|      l   ノヽ    「GETをPOSTする」やてーーーーーーーーーーwwwwwww
  \      `ー'ォ /    、 !_/l    l    /  }
           {       \     l   /  ,'
           \      ´`ヽ.__,ノ  /   ノ
             \     ヽ、\ __,ノ /
               ̄ ヽ、_  〉 ,!、__/

110 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/26(日) 11:15:46.33 ID:KSncMErM0.net]
一応、他の参加者に聞いておくけどさ

なんか、このバカ >>104
オレがどういう奴か分かってねーみたいなんだけどさ、

こいつがこんなこと言ったんだから、

>なんならこのスレ終わるまでテメーのクソっぷりを語り尽くすか?

本当にこのスレ終わるまでやっちゃってもいいんだよな?
オレのせいじゃないよ? このバカ >>104 が悪いんだから、オレに文句言うなよ?

な?wwwwwwwwwww



111 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/26(日) 11:17:41.31 ID:KSncMErM0.net]
>>105 : デフォルトの名無しさん (オッペケ Srd3-6vFh)2017/03/26(日) 09:34:49.48 ID:dNTFG84Fr
> ほらこいよ?
> なんならリアルで待ち合わせすっか?
> テメーのクソみたいな顔拝ませろ

あらいやだ、野蛮な人はすぐこういうこと言い出すわねw

お下品ねー、「GETをPOSTする」とか言っちゃう頭の人ってwwwww

112 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/26(日) 11:18:31.41 ID:KSncMErM0.net]
>>104 : デフォルトの名無しさん (オッペケ Srd3-6vFh)2017/03/26(日) 09:32:51.03 ID:dNTFG84Fr
> この程度で勝ち誇ってんじゃねえよクソが


あー、負けてるって自覚あるんじゃんwwwwwwwwwwwwwwww

負け犬の遠吠えw

負け犬の遠吠えwwwww

113 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/26(日) 11:20:29.12 ID:KSncMErM0.net]
「GETをPOSTする」って、一体、何グラマのセリフなん????wwwww

114 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/26(日) 11:21:47.12 ID:KSncMErM0.net]
2017年第一四半期 流行語大賞


          ____
       / \  /\ キリッ
.     / (ー)  (ー)\    <「GETをPOSTする」
    /   ⌒(__人__)⌒ \
    |      |r┬-|    |

115 名前:
     \     `ー’´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一””””~~``’ー–、   -一”””’ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
[]
[ここ壊れてます]

116 名前:デフォルトの名無しさん (ワッチョイ 6661-VHv+) [2017/03/27(月) 03:07:51.43 ID:u3G31U+S0.net]
php7まじで早えな

117 名前:デフォルトの名無しさん (ワッチョイ 6f92-1rpH) [2017/03/27(月) 09:23:16.47 ID:q0zQOh/l0.net]
php7の環境に、過去に作ったプログラムを置いてみたら
全く動かんかった。
非推奨関数とか混ざりまくってるから
動くようにするには、かなり改修が必要そうだ。

118 名前:デフォルトの名無しさん (オッペケ Srd3-6vFh) mailto:sage [2017/03/27(月) 19:26:19.03 ID:MSc6E4Evr.net]
あ〜猿猿言ってたあのバカか

119 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/27(月) 23:21:57.68 ID:jVvzovDA0.net]
違うよ、猿猿言ってたあの天才だよ

120 名前:デフォルトの名無しさん (ワッチョイ eb8c-aw5l) mailto:sage [2017/03/28(火) 16:14:08.72 ID:1yY7UnQV0.net]
ファイルのパスを以下の二通りで指定すると解釈が違うようなのだが何故だ?
./path/file
path/file



121 名前:デフォルトの名無しさん (ワッチョイ dff0-FAJs) mailto:sage [2017/03/28(火) 20:39:00.69 ID:ZGgECKv80.net]
>>117
まぁ、その「解釈が違う」ケースを書いてみ。

ひょっとしたらそれを書けば、おまえの独力でも解決できちゃうんじゃね?

122 名前:デフォルトの名無しさん (ワッチョイ 43f0-3+/Q) mailto:sage [2017/03/30(木) 10:16:57.78 ID:IGixA1Qp0.net]
>>105 : デフォルトの名無しさん (オッペケ Srd3-6vFh)2017/03/26(日) 09:34:49.48 ID:dNTFG84Fr
> ほらこいよ?
> なんならリアルで待ち合わせすっか?
> テメーのクソみたいな顔拝ませろ


来いよって言うから行ってやったら、なしのつぶての件、クソワロスwwwww

123 名前:デフォルトの名無しさん (ワッチョイ bf3c-JD2G) mailto:sage [2017/03/30(木) 22:13:21.84 ID:6Jc6zvAI0.net]
>>117
実行時のカレントディレクトリが異なるんじゃないのかな

124 名前:デフォルトの名無しさん (ワッチョイ bf3c-JD2G) mailto:sage [2017/03/30(木) 22:13:51.24 ID:6Jc6zvAI0.net]
あ、聞き流して

125 名前:デフォルトの名無しさん (ワッチョイ 43f0-JzSF) mailto:sage [2017/03/31(金) 02:27:43.93 ID:OV1cbLT20.net]
>>120
言う奴出てくると思ってたよ…

126 名前:デフォルトの名無しさん (ワッチョイ 73cd-nBmW) mailto:sage [2017/03/31(金) 17:00:01.66 ID:Al0ruV+g0.net]
>>122
よくわからないので解説頼んます

127 名前:デフォルトの名無しさん (アウアウカー Sad7-19VF) mailto:sage [2017/03/31(金) 18:07:02.48 ID:XglZkB2ga.net]
const9割let1割var0割ですよね

128 名前:デフォルトの名無しさん (ワッチョイ cf77-agmj) mailto:sage [2017/04/01(土) 01:09:12.28 ID:FD993rOV0.net]
some_fn(1,2,3,4)
こう渡すべき関数があって、渡したいデータは[1,2,3,4]という感じに配列に入っています。
some_fnを拡張する以外に、うまく渡す方法はないでしょうか?

129 名前:デフォルトの名無しさん (ワッチョイ c36e-agmj) [2017/04/01(土) 05:52:10.21 ID:rNRWzLeg0.net]
let [ a, b, c, d ] = [1,2,3,4]
some_fn(a, b, c, d)

130 名前:125 (ワッチョイ cf77-agmj) mailto:sage [2017/04/01(土) 07:09:38.94 ID:6GQ7oWyp0.net]
>>126
レスありがとうございます。
ちょっとそれだと自力感が強くて、some_fnの引数が可変だったり場合も応用がききづらいですね。
evalを思い出したので、入力も自分が用意するもので外部由来ではないので、他の方法思いつくまでevalで代用しておきます。

$a = [1,2,3,4];
$a = 'return some_fn('.implode(',',$a).');';
eval($a);



131 名前:デフォルトの名無しさん (ワッチョイ 83d4-dtkB) mailto:sage [2017/04/01(土) 12:55:18.33 ID:bQQZERCB0.net]
some_fn(...$a);

PHP5.6からだけど
php.net/manual/ja/migration56.new-features.php

132 名前:デフォルトの名無しさん (ワッチョイ 43f0-3+/Q) mailto:sage [2017/04/01(土) 13:09:39.78 ID:8fiaXEF90.net]
またeval()厨かよ… ほんと死なねぇかな…

133 名前:125 (ワッチョイ cf77-agmj) mailto:sage [2017/04/01(土) 18:01:50.26 ID:6GQ7oWyp0.net]
>>128
おー出来るようになってたんですね。
PHP5.4だったので早速アップデートしてみます。
ありがとうございました。

134 名前:デフォルトの名無しさん (アウアウウー Sab7-Gwmd) mailto:sage [2017/04/02(日) 12:56:35.27 ID:j7pqXAosa.net]
【OS名】Debian 8
【PHPのバージョン】7.0
【連携ソフトウェア】なし
【質問内容】
あるクラス(仮にMy)のメソッド(同my())があるとします
Threadを継承したクラス(仮にMyThread)のインスタンスをstart()する式が中にあるmy()をコールしたとき、
生成したスレッドの終了を待たずにmy()を終了する方法はありますか?

class MyThread extends Thread {
function run() { echo "start!\n"; sleep(3); echo "stop!\n"; }
}

class My {
function my() { $thread = new MyThread(); $thread->start(); }
}

$my = new My();
$my->my();
echo "here!/n";

で start!->stop!->here! を start!->here!->stop! のようにしたいのです。

135 名前:デフォルトの名無しさん (ワッチョイ 7331-QmV0) mailto:sage [2017/04/02(日) 17:07:14.61 ID:sKaMUxEO0.net]
PHPで簡易掲示板作成して公開してみたら英語ロシア語のスパム投稿が殺到するようになった
さっそくkcaptchaというツール使って画像認証機能付きに改造してみたんだけどそれでも
スパムが殺到するんだわ。

結局日本語以外の投稿は片っ端から破棄する方式に変えて対処できるようになったけど
それでも飽きずに投稿を試みてくるんだよw

ああいう画像認証突破って人海戦術で投稿してるんだろ?
拒絶されまくってるのによう飽きずに何度もチャレンジしてくるわな
ご苦労さんとしか言いようが無いw

136 名前:デフォルトの名無しさん (ワッチョイ 3fcb-jsM4) [2017/04/02(日) 22:44:17.53 ID:q06cgQNJ0.net]
>>131
Worker使ってPoolに放り込む
但しWorkerも別スレッドなので処理順序に関しては保証出来ない(自分の環境だと"here"が最初になる)

どうしても実行順序を揃えたければPoolのsubmitメソッドをオーバーライドしてparent::submitコール後にウェイト掛けるようにすればいい

書けなかったのでideone
ttps://ideone.com/tzpULt

137 名前:デフォルトの名無しさん (アウアウウー Sab7-Gwmd) mailto:sage [2017/04/02(日) 23:32:30.74 ID:0XahTNwQa.net]
>>133
here!とstart!は前後しても大丈夫です。Poolを使えばいいのですね。ありがとうございます。

138 名前:デフォルトの名無しさん (アウアウウー Sab7-19VF) mailto:sage [2017/04/04(火) 12:37:21.30 ID:qjHKdF5aa.net]
SQLを変数に格納するとき職場だと
$sql ="";
と初期化してからSelect文やらを代入し始めるのですがこれには何か意味があるんですか?

139 名前:デフォルトの名無しさん (JP 0H7f-aCII) mailto:sage [2017/04/04(火) 13:21:18.91 ID:pyoNKlrCH.net]
>>135
> と初期化してからSelect文やらを代入し始めるのですがこれには何か意味があるんですか?
文字列接続でSQLを組み立てるときに、SQLがずれないという微妙なメリットがあるといえばある。
$sql = 'SELECT ...';
$sql .= 'FROM ...'

$sql = '';
$sql .= 'SELECT ...';
$sql .= 'FROM ...';
の違い。

ちなみに俺はヒアドキュメントを使う。

140 名前:デフォルトの名無しさん (ワッチョイ cf1f-aC9I) [2017/04/04(火) 14:11:57.70 ID:cKMtDqYa0.net]
意味はないだろ。
変数は初期化してという職場ルールとかだろ。



141 名前:デフォルトの名無しさん (JP 0H7f-aCII) mailto:sage [2017/04/04(火) 14:23:47.22 ID:pyoNKlrCH.net]
なるほど、こういう場合もありえるか。

php.net/manual/ja/language.variables.basics.php
> 初期化されていない変数のデフォルト値に依存すると、そのファイルを
> include している別のファイルで同名の変数が使用されていた場合などに
> 問題を起こします。
> また、register_globals が on の場合には重大なセキュリティリスク
> を抱えることになります。

142 名前:デフォルトの名無しさん (ササクッテロロ Sp17-icq5) mailto:sage [2017/04/05(水) 16:35:03.35 ID:UwNB2dkTp.net]
>>136
もちろんそうよ

143 名前:デフォルトの名無しさん (オイコラミネオ MM7f-IVUN) mailto:sage [2017/04/17(月) 09:34:31.70 ID:Exr9QGEtM.net]
名前空間使わないとかクソだし
register_globalsがonの環境自体がクソだし
もっと手前のことを考えるべきだろうけど

144 名前:デフォルトの名無しさん (ワッチョイ 2fa1-aVqD) mailto:sage [2017/04/20(木) 22:12:15.98 ID:4IA48rrn0.net]
PHPでゲーム開発って今どんな感じ?
まだ、現役で使える?

145 名前:デフォルトの名無しさん (オイコラミネオ MM96-W/PI) mailto:sage [2017/04/20(木) 22:23:53.27 ID:AQO4u6SrM.net]
PHPしかできないならさすがに仕事はない
と元ゲームメーカープログラマの俺は思う

146 名前:デフォルトの名無しさん (ワッチョイ 1e1f-MAHZ) mailto:sage [2017/04/22(土) 21:29:12.02 ID:1HwydCHr0.net]
携帯ゲーム開発やってたの?

147 名前:デフォルトの名無しさん [2017/04/23(日) 20:03:20.59 ID:TnE9jJi/0.net]
質問させて頂きます。

PHPを使った簡単な選択ゲームを作成していまして、最初に名前(フォーム)を入力してもらい、以降のページでradio
ボックスを使って選択していく感じです。
クリア画面で最初のページで入力した名前(フォーム)を表示するにはどういったやり方がよろしいでしょうか?

148 名前:デフォルトの名無しさん [2017/04/23(日) 21:59:06.82 ID:Xx5iQvLa0.net]
cookieがいいかと思います

149 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 22:07:04.98 ID:aYUOvvWi0.net]
普通セッションじゃないかな

150 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 08:48:00.52 ID:aR8VAoat0.net]
そんな初心者のあなたにはお手軽hidden



151 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 19:43:35.52 ID:BQYXkJHP0.net]
秘伝

152 名前:デフォルトの名無しさん [2017/04/27(木) 21:37:03.43 ID:rGgHpPcN0.net]
php7 に uuidライブラリを導入したのですが、sudoでしか受け付けてくれません
インストールはpecl install uuidで入れたのですが、root以外はじかれて、ページ上では500エラーとなります

なにか間違っているんでしょうか?

153 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 22:22:51.23 ID:GJNrvvrA0.net]
特定のアプリを使える、group を追加すれば?

154 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 22:28:40.20 ID://GaaF5M0.net]
>>149
メンテナンスされてないエクステンション使うよりメンテナンスされてるライブラリ使った方がいいよ
https://github.com/ramsey/uuid

155 名前:デフォルトの名無しさん mailto:sage [2017/04/29(土) 09:36:48.80 ID:gwV/3/wJ0.net]
root使えないならcomposerで導入できるライブラリ探せ
>>151でまず問題ないはず

156 名前:デフォルトの名無しさん [2017/04/30(日) 11:15:07.30 ID:pYQ+I2xN0.net]
PHP5でアンケートページを作りました。
「アンケート入力」の画面で送信ボタンをおしてページ移動を
しています。パソコンとマックのブラウザからはちゃんと
動作している(アンケート画面が移動する+MySQLにも書き込みが
されている)のですが、iPhoneのLINEからアクセスするとエラーが
出てしまいます。AndroidのLINEではエラーがでません。

iPhoneを持ってないので確認が難しいです。
googleで検索してもアプリ内ブラウザの違いのようなのですが、
具体的に何が原因なのかわかりません。

なにか注意点とかiPhoneのLINEだとこれはダメだなどありましたら
教えて頂けないでしょうか。よろしくお願いします。

157 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 11:40:09.81 ID:nYTyUlyB0.net]
せめてエラーログの内容くらい書いてほしい
iPhoneの場合は純粋のブラウザ(safari)でアクセスするのと、
アプリ内ブラウザで立ち上がるブラウザ(webview)が違う
例えばwebviewの場合はcookieを保存しないなど、ちょっと挙動が違うところもある

てか、開発するのにiPhoneの実機ないとはさすがにだめじゃね?

158 名前:デフォルトの名無しさん mailto:sage [2017/04/30(日) 11:42:39.41 ID:nYTyUlyB0.net]
ちょっと雑に書いてしまったが、
cookieの件はアプリを終了すると消すという意味だから、
一時的に使うだけなら問題ないはず

159 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 20:08:49.82 ID:MlwtpNm00.net]
foreachで最後の一つ前にifを使いたいんだけど
何かいい方法ない?

160 名前:デフォルトの名無しさん mailto:sage [2017/05/04(木) 23:16:53.77 ID:MlwtpNm00.net]
ないっぽいのでforでやります。
ありがとうございました。



161 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 12:08:30.95 ID:6B+jWue50.net]
webアプリケーションフレームワークのスレはこの板ではなく別の板でしょうか

162 名前:デフォルトの名無しさん [2017/05/06(土) 23:02:40.18 ID:6iamBiJv0.net]
【OS名】Win7-Pro
【PHPのバージョン】5.6.28 (XAMPP v.3.2.2)
【連携ソフトウェア】ブラウザはFirefoxかChrome

【質問内容】
JavaScriptでPHPを起動し、これに処理をさせ返ってきた値を受け取りたいです。
参考にしたのは wpcos.com/?p=13945

上のHPのJSとPHPのコードを丸コピーして Chrome57.0で実行させたところ下記のようになり
原因が分かりません。 PHPに問題があるようなのでこのスレで聞きました。
uproda11.2ch-library.com/e/e00202800-1494078713.png

※XAMPPのApacheは起動済みです
※JSとPHPのファイルはUTF-8で保存済み
※Firefox53.0だと「XML パースエラー: 要素が見つかりません。」が出ます

何かヒントを下さい

163 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 23:14:04.15 ID:aphLh83O0.net]
>>159
Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.
って思いっきり書いてあるんだけど?

164 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 23:15:36.45 ID:b0MPlxsl0.net]
127.0.0.1/_tests/test.html
みたいにアクセスしないと

165 名前:159 mailto:sage [2017/05/06(土) 23:46:38.71 ID:6iamBiJv0.net]
レス有難うございます

>>160
「Cross origin requests are only supported for protocol schemes」自体で調べたところ、
『どうやらChromeではローカルでAjaxは使えない様です』 とのことなのですがFirefoxでも
上記の通りエラーになります。
結局、サーバー上でやった方が早いのでしょうか?


>>161
要求された URL は本サーバでは見つかりませんでした。 もし手入力で URL を入力した場合は、
綴りを確認して再度お試し下さい。
サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。
Error 404

  と出ます

166 名前:デフォルトの名無しさん mailto:sage [2017/05/06(土) 23:49:54.73 ID:aphLh83O0.net]
>>162
何故JavaScriptもPHPも分からないのに同時にやろうとするのか

サーバを介さずにリクエストして, 一体誰がPHPを実行すると考えている?

167 名前:159 mailto:sage [2017/05/07(日) 00:09:32.23 ID:oPGKh2U00.net]
>>163
サーバーにUpしたらFirefoxとChrome共にOKでした。
お手数をおかけしました。

168 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 00:11:18.55 ID:RBu7YsoC0.net]
>※XAMPPのApacheは起動済みです

起動しているなら、ブラウザでhtmlが表示できるんでしょ?
そこに置いてみた?

169 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 00:17:01.17 ID:mGKAifTM0.net]
Apacheなんて難し過ぎてきちんと分かってるとは到底思えない
XAMPP使うよりまずはPHPのビルトインサーバで勉強した方がいい

170 名前:159 mailto:sage [2017/05/07(日) 00:27:20.61 ID:oPGKh2U00.net]
>>165
はい。 普段使ってるlocalhostのphp置き場にhtmlとtest.phpを置いています。
htmlの起動はOKですが、ボタンを押すとエラーになります。


>>166
8年位前にやってたときはPHPを単独でインストールしてコマンドプロンプトで
やっていたのですが、PCを変えたときXAMPPなるものを試してみたかったので



171 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 00:50:33.47 ID:RBu7YsoC0.net]
>>167
uproda11.2ch-library.com/e/e00202800-1494078713.png

ここのエラー表示を見ると、
C:/xampp/htdocs/ tests/test.php
となっているけど、

htdocs の中にあるフォルダ testsって、
先頭に空白文字があるの?何か変だよね?

172 名前:159 mailto:sage [2017/05/07(日) 01:08:20.14 ID:oPGKh2U00.net]
>>168
半角アンダーバーが入っています

173 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 01:30:39.86 ID:RBu7YsoC0.net]
test.htmlってブラウザからどのようにリクエストしてます?

localhost/_tests/test.html ですか?

もしもそうなら、javascriptのこの部分、
$.get('test.php', を
同じようにフルパス指定にしてみたらどうかな?

174 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 01:50:04.63 ID:mGKAifTM0.net]
XAMPPのApacheを止めてそのファイルがあるディレクトリで

$ php -S localhost:8080

とでもしてビルトインサーバを起動して localhost:8080/test.html にアクセスした方が早い

175 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 02:58:17.79 ID:edBtKeoY0.net]
jQueryは、こういう感じに書く

// 先に全体の設定
$.ajaxSetup({
data: {format: 'xml'},
timeout: 60 * 1000
});

$.ajax( 絶対パス )
.done(function( data, textStatus, jqXHR ) {
console.log('statusCode = ' + jqXHR.status,
' : ' + textStatus );
})
.fail(function( jqXHR, textStatus, errorThrown ) {
console.log('statusCode = ' + jqXHR.status,
' : ' + textStatus );
});

176 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 03:09:40.34 ID:edBtKeoY0.net]
CORS(Cross-Origin Resource Sharing)制限

ブラウザでAjax通信を行う際には、同一生成元ポリシー(Same Origin Policy)によって、
Webページを生成したドメイン以外へのHTTPリクエストができないので、
ajax通信のJSONP を使って、出来るようにしている

他にも、ブラウザの制限は厳しくて、
iframe内に、他のドメインのページを読み込んでも、
親側のHTMLからは、それにアクセスできない

177 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 12:31:13.16 ID:FH3wsgTg0.net]
JavaScriptはどれぐらい理解してるの?
山登り始めた人がいきなり冬の北アルプス登ろうとしてる感じに見える

178 名前:159 mailto:sage [2017/05/07(日) 18:30:42.76 ID:oPGKh2U00.net]
色々有難うございます。

>>170-171
171さんの方法で試してみます。


>>172
これは code.jquery.com/jquery-1.11.0.min.js とかのjQueryを改造する場合の
ことでしょうか?


>>174
JavaScript自体は合計5年くらいの経験があり、たぶん100〜200位のコードを書きましたが
その殆どがローカルで動くもので、また数理的な図形描画や可視化のようなものです。
 例:分子構造のデータを読み込んでSVGライブラリ(Raphaelとか)で3Dベクター描画  とか

PHPも実務経験はありますが、8年くらい前にやったきりで今年になってようやく再度必要性が
生じて、昔の本やコードを引きずり出して再勉強しています。
平たく書くとローカル動作主体でWebやネットワークには弱いです。

179 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 18:44:21.97 ID:FH3wsgTg0.net]
まずはPHPとJavaScript別々に勉強を進めてはどうか
特にJavaScriptの通信は非同期処理になるので、
しっかり勉強しないと何をしてるか意味が分からないと思う
Cross origin requestのエラーであたふたするレベルだとちと厳しい
まずはJavaScriptかまさないPHPだけのをしっかり学んでからで良いと思います

180 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 18:46:20.00 ID:FH3wsgTg0.net]
あと、本で学ぶなら最新のを買ってきた方がいい
PHPもJavaScriptも8年前からかなり進化してる
実務で使うならなおさら最新のを学んだ方がいい



181 名前:159 mailto:sage [2017/05/07(日) 18:55:36.55 ID:oPGKh2U00.net]
>>176-177
有難うございます。 確かにそうですが、業務上JavaScriptとPHPの連携(連動)が
必要な案件を取りたいので基礎でも良いのでこの連動を実現したかったです。

実際の製品にするにはこの分野に強い業者と組むことになりますが、営業で回る前に
「これくらいは自分でやっとかないとアカンだろうなあ」と思いました。

本も「最新の知識以前に基礎が大事」という発想と、過去のコードをベースにして再勉強
したかったので買っていませんでした。 後で本屋を見てみます。

182 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 19:05:10.10 ID:FH3wsgTg0.net]
なるほど、立派な営業さんですね
自社製品なのに何も知らんで営業やってるやつがゴロゴロいるからねぇ
連携する部分はあるにせよ、一気に学ぼうとせずに、
ひとつひとつ学んでいく方が近道かと思いますので頑張ってください

183 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 19:12:17.90 ID:BH039lXF0.net]
画像にハッシュタグを付け、それに「何かしら識別コード」を関連付けて保存する。
それらを比較することで近しい画像を検索するというようなことがしたい。
この「何かしら識別コード」はなにかいいモノはないでしょうか?

184 名前:デフォルトの名無しさん mailto:sage [2017/05/07(日) 19:53:43.65 ID:YbUbsdG8M.net]
「近しい画像」って何をどう比較して近しいとするの?
それが分からんと何ともアドバイスしにくい気がするけど

185 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 00:17:33.36 ID:e9qNdiMD0.net]
SimPixという同一、類似画像を探して、整理を補助するフリーソフトがあるんだけど
これみたいに使いたいのだがどういう原理で比較してるのかわからないのです。

186 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 02:11:52.13 ID:WXUx4WWm0.net]
コレとか
ttps://github.com/jenssegers/imagehash

187 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 17:29:24.75 ID:e9qNdiMD0.net]
ありがとうございます。
こういうのを探していました。
早速使ってみます。

188 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 18:08:55.09 ID:04P2BCNBH.net]
ペチパー(PHPer)って馬鹿にする文脈でしか見たことなかったが、今ではペチパーが普通なのか?
wordpress.ideacompo.com/?p=8594

189 名前:159 mailto:sage [2017/05/08(月) 19:38:22.33 ID:DHydgTad0.net]
題:JavaScriptでPHPを起動し、これに処理をさせ返ってきた値を受け取りたい

>>171を試そうと
C:\xampp\htdocs\_tests>$ php -S localhost:8080
としたところ下記が出ました

 '$' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

単にcdでディレクトリ移動して $ php -S localhost:8080 ではダメなのですか?

190 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 19:44:45.81 ID:LksAbi0u0.net]
windowsとlinuxの違いもわからんのかえ



191 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 20:09:49.73 ID:93uC34hXM.net]
Windows環境で試すならWindows環境で書いてる本買ってきて勉強した方が良いと思うよ
そこで躓くレベルだと手取り足取り教えてもらわんと進まないと思う

192 名前:171 mailto:sage [2017/05/08(月) 20:23:48.25 ID:67J5jWuHa.net]
えぇ・・・

193 名前:159 mailto:sage [2017/05/08(月) 21:17:26.26 ID:DHydgTad0.net]
>>187
159に明示していたのですが

194 名前:デフォルトの名無しさん [2017/05/08(月) 23:03:16.81 ID:GNYDAKwF0.net]
>>190
$ はコマンド入力を示しているだけなので入れなくていいよ

195 名前:159 mailto:sage [2017/05/08(月) 23:12:59.99 ID:DHydgTad0.net]
>>191
どうも。 やってみましたがダメでした。

C:\xampp\htdocs\_tests>php -S localhost:8080
'php' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

196 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 23:31:11.67 ID:9whwcEDU0.net]
trim関数を文字列に適用する際は、事前に前後のいずれかに空白や改行文字があるかのチェックをした方がいいですか?
とりあえず放り込んどいても問題ないですかね?

197 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 23:55:01.57 ID:pOsiqUbS0.net]
>>192
C:\xampp\htdocs\_tests>php -S localhost:8080

この部分は、君が入力していないから、書かなくてよい
C:\xampp\htdocs\_tests>

php -S localhost:8080
環境変数PATHに、php の実行ファイル名を指定していないから、
php と言うコマンドが存在しない

PowerShell を起動して、以下を入力してみ。
$env:Path.split(";")
環境変数PATHは、; で区切り

「環境変数 path 追加」で検索して

198 名前:デフォルトの名無しさん [2017/05/08(月) 23:58:02.04 ID:GNYDAKwF0.net]
環境変数に C:\xampp\php; を追加だね
とりあえず動かしたいなら ..\..\php\php -S localhost:8080

199 名前:デフォルトの名無しさん mailto:sage [2017/05/08(月) 23:59:39.10 ID:pOsiqUbS0.net]
>>193
ここで聞く前に、やってみれば?

$str = "あいう";
$str = trim ($str);
echo $str;

200 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 00:04:20.24 ID:q6L/Mjxw0.net]
>>196
見かけ上問題ないのと本当に問題ないのは違うと思いまして質問させていただいた次第です



201 名前:デフォルトの名無しさん [2017/05/09(火) 00:09:30.62 ID:DXl/dI3b0.net]
159ですがもう一つ質問があります。

【OS名】Win7-Pro
【PHPのバージョン】5.6.28 (XAMPP v.3.2.2)
【連携ソフトウェア】ブラウザはFirefoxかChrome

【質問内容】
JavaScriptでPHPを起動し、サーバー内の同一ディレクトリ内にある abc.txt (最初はカラ)
に文字列を書き込みたい。

本を見てローカルでは上手くいったので、159のwpcos.com/?p=13945 のコードの下に
$handle = fopen("abc.txt", "w");
flock($handle, LOCK_EX);
fwrite($handle, "テスト文章です");// abc.txtにデータを書き込む
flock($handle, LOCK_UN);
fclose($handle);

を追加したのですが、abc.txt は何も変化しません。 どうしたら良いでしょうか?


>>194-195
後で試してみます。 PowerShell って初めて聞きましたのでこっちも調べてみます

202 名前:198 mailto:sage [2017/05/09(火) 00:26:37.79 ID:DXl/dI3b0.net]
上記の「本を見てローカルでは上手くいったので」は
書き込みコード($handle〜fclose($handle); )限定の話です

203 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 00:54:54.81 ID:aLfyMh4W0.net]
先の質問は解決してんのか?
してないんなら何やったって無駄

204 名前:デフォルトの名無しさん [2017/05/09(火) 01:00:42.46 ID:bmQioI1H0.net]
>>197
しなくていいと思います

205 名前:198 mailto:sage [2017/05/09(火) 01:08:19.06 ID:DXl/dI3b0.net]
>>200
はい、解決しています>>164。 >>186〜195は>>170-171 で提案して頂いた別案の検証です。

206 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 01:13:51.44 ID:aLfyMh4W0.net]
>>202
ならとりあえずエラー(Warning等)出てないかチェック

207 名前:198 mailto:sage [2017/05/09(火) 01:33:02.97 ID:DXl/dI3b0.net]
>>203
どうも。 下記のようにしたところ、 20 kakikomi と表示され、コード自体は実行されたようです。
※20は解消済みの掛け算。 コンソールログには何も表示されません。

try {
$handle = fopen("abc.txt", "w");// abc.txtを書き込みモードで開く
flock($handle, LOCK_EX);// abc.txtをロックする
fwrite($handle, "テスト文章です");// abc.txtにデータを書き込む
flock($handle, LOCK_UN);// abc.txtのロックを解除する
fclose($handle);// abc.txtを閉じる
print " kakikomi";

} catch (Exception $e) {
print " error";
}

208 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 01:37:20.86 ID:aLfyMh4W0.net]
コード先頭でerror_reporting(E_ALL);

209 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 17:01:44.91 ID:oUHmrZCO0.net]
>>204
その try catch に何を期待していたのか分からないが、
エラー処理は正確にね。

210 名前:デフォルトの名無しさん mailto:sage [2017/05/09(火) 18:20:53.53 ID:D8dw9aKcH.net]
>>204
abc.txtを全ディスクで検索してみたら?
それか、fopen("C:\\abc.txt", "w")として、フルパスで指定するか。



211 名前:デフォルトの名無しさん [2017/05/09(火) 18:36:53.05 ID:me68cFh4M.net]
教えてください。
PDOでSQLからデータ取ってきてそのまま配列に入れたら、
Array (
[0] => Array ( [title1] => hoge [0] => hoge [title2] => fuga [1] => fuga [title3] => piyo [2] => piyo )

てな感じで1つのRowに同じ値が2つな状態になるんですけど、
これ配列入れる前か後に、どっちか1つにできる方法ないですかね。

このあとforreachの処理に投げたんすけど、データがダブっておかしなことになったので…。
よろしくお願いします。

212 名前:デフォルトの名無しさん [2017/05/09(火) 18:50:53.71 ID:1JEWBzos0.net]
>>208
ロードのオプションで、数字かキーか両方(指定なし)がえらべる

213 名前:198 mailto:sage [2017/05/09(火) 23:18:52.77 ID:DXl/dI3b0.net]
皆さん、有難うございます。

>>205
何も表示されませんでした


>>206
すいません気を付けます
print "例外キャッチ:", $e->getMessage(), "\n";
とかで書いておきます。


>>207
Cross origin requests でエラーが出たのでローカルでなくサーバー上でやっています。

214 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 00:26:12.62 ID:KrmbBI200.net]
>>210
ini_set('display_errors', 1);
も追加しとけ

215 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 00:37:08.48 ID:KrmbBI200.net]
>>210
あと勘違いしているようだから言っておくと, fopenは例外を投げない
というファイル操作関数は例外を投げない
ファイル操作で例外処理をしたければSplFileObjectを使うかset_error_handlerでエラーハンドラを書き換える

216 名前:198 mailto:sage [2017/05/10(水) 01:14:47.13 ID:hTeNJ02Z0.net]
>>211-212
有難うございます

217 名前:デフォルトの名無しさん [2017/05/10(水) 11:18:19.10 ID:fvTwvO+tM.net]
>>209
公式に同じような配列の処理例がありますね…fetch使えばいいのか。
よく調べます、ありがとうございます。

218 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 12:07:27.61 ID:kZ1vOxdN0.net]
ImageCreateFromJPEG($imgfile);

$imgfileにjpg画像以外のpng画像やgif画像を入れるとエラーになるのはわかったのだけど
pn

219 名前:g画像やgif画像をjpg画像に変換する方法がわかりません。
やり方が分かる人がいらっしゃいましたら教えてください。
[]
[ここ壊れてます]

220 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 12:15:15.94 ID:kZ1vOxdN0.net]
すいません。
できました。

imagecreatefromstring(file_get_contents($imgfile));

こうすればpng画像でもできるようです。
ありがとうございました。



221 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 14:02:06.75 ID:DOCc0Zf4H.net]
>>210
> ローカルでなくサーバー上でやっています。
なら、そのサーバ上のディレクトリに対して書き込み不可なんじゃないの?

やることその1: fopen()の戻り値$handleを調べて、成功しているかどうか確認する(falseなら失敗)
やることその2: サーバのエラーログを見る

222 名前:デフォルトの名無しさん mailto:sage [2017/05/10(水) 22:09:56.39 ID:auOc2utQM.net]
とにかく不具合あればアクセスログ、エラーログを見ろ
それで8割は原因分かる

223 名前:198 mailto:sage [2017/05/11(木) 00:26:19.85 ID:WqhQ6yh90.net]
>>217-218
有難うございます。 昨日から体調が悪いので検証できません

224 名前:デフォルトの名無しさん [2017/05/11(木) 17:04:44.60 ID:jqKKP1Mj0.net]
【OS名】Windows 10 Home
【PHPのバージョン】5.6.30
【連携ソフトウェア】OpenWeatherMap(API)
【質問内容】
ryus.co.jp/blog/openweathermap/ を参考にして、ウェブサイトに東京都の天気情報を表示したいです。
ただ、OpenWeatherMapからの天気情報をJSON形式で取得すると方角の値が0〜360で返ってきます。
この値を方角に置き換えて風向きのテーブルに表示したいです。
まだ、PHPを始めたばかりでswitch分しかわからず、それを使用しています。
switch分を変数に代入したり、sprintf関数に組み込んでみたりと色々試しているのですが上手くできないです。
風向きのテーブルに方角を表示するためのアドバイスをください。
よろしくお願いします。

$url='api.openweathermap.org/data/2.5/weather?q=tokyo&units=metric&appid=********';
$json=json_de

225 名前:code(file_get_contents($url),true);

$format='
<tr><td>気温</td><td>%s°C</td></tr>
<tr><td>風向</td><td>【ここに方角を表示したいです】</td></tr>
<tr><td>風速</td><td>%sm/s</td></tr>
<tr><td>湿度</td><td>%s%%</td></tr>
';
echo sprintf($format,$json['main']['temp'],$json['wind']['speed'],$json['main']['humidity']);

$degree=$json['wind']['deg'];
switch($degree){
case $degree > 348.75 && $degree < 11.25:
echo'北';
break;
(同じような感じで方角が16分割されています)
}
[]
[ここ壊れてます]

226 名前:デフォルトの名無しさん [2017/05/11(木) 17:06:00.89 ID:qQCmyvYW0.net]
GPLのダウンロード方法教えて下さい。

227 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 17:33:13.49 ID:auiRJU69M.net]
>>220
上手くできないって何が上手くできないのか?
エラーログが出てるならエラーログの内容をそのまま書いてほしい
エラーログが出ないなら、エラーログを出すようしにして、エラーログの内容を書いてほしい
そうすれば答えてくれる人がいると思う

228 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 18:28:19.55 ID:g90U9udHa.net]
array_reduceは常にインデックス通りの順番で動くことが保証されてますか?
例えば配列の全ての数字を引き算するときに使っても問題ありませんか?

229 名前:220 [2017/05/11(木) 18:35:43.44 ID:jqKKP1Mj0.net]
>>222
エラーが出ないというか出せないというかうまく言葉で説明できないです。
申し訳ないです。
もう少し試行錯誤します。
ありがとうございました。

230 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 19:23:37.16 ID:SE/IN+7B0.net]
>>220
$degree > 348.75 && $degree < 11.25:

348.75 より大きくて、かつ 11.25 よりも小さい数字ってあるかな?



231 名前:デフォルトの名無しさん [2017/05/11(木) 19:30:24.73 ID:5AwxqDXW0.net]
jsonの中身を貼ればいいんじゃない?

232 名前:デフォルトの名無しさん [2017/05/11(木) 20:28:10.01 ID:bHhk+rd90.net]
PHP5.6なのですが、php.iniのoutput_bufferingをOnにしないと
CookieやSessionが使えなくなったのですが、関係あります?
Cookieが使えない原因が分からず、output_bufferingをOnにしたら使えました
ググっても関連があるようには思えないのですが、もしあるなら教えてください

233 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 20:50:12.91 ID:auiRJU69M.net]
関係あるよ
php.net/manual/ja/function.setcookie.php

バッファオフにした場合は
出力した後にsetcookieしたらダメ

234 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 20:53:36.93 ID:bHhk+rd90.net]
>>228
マニュアルに書いてましたか・・・
勉強不足でした。ありがとうございました

235 名前:デフォルトの名無しさん [2017/05/13(土) 14:56:11.69 ID:DB8bCe2a0.net]
みなさん、画像ファイルのアップロード先フォルダはどのようにしていますか?
単純に/uploadsみたいなところに入れますか?
それともWordpressみたいに
/uploads/2017/05というように日付でフォルダ分けして管理しますか?

236 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 15:15:34.69 ID:EKwOhdT+0.net]
状況に応じて変わるとしか言えん
どういう使い方するか考えればおのずと決まるはず

237 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 16:37:08.01 ID:DB8bCe2a0.net]
確かにそうなんですが、
ある程度のスタンダードな考え方・分け方は知りたいと思いまして。
他のサイトを調べると日付で分けることが多いみたいなんで、
大量に画像をアップロードする可能性があるなら、そうしてたほうが無難なんですかねぇ

238 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 19:20:12.73 ID:bYeLo1gSa.net]
imageフォルダでいいじゃん。

239 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 00:06:32.69 ID:TcVKQbFq0.net]
>>230
何故フォルダに分けてるのかは、お前は分かっていないということだな? 231、233も含めて

240 名前:デフォルトの名無しさん [2017/05/15(月) 11:21:27.48 ID:1833Pji90.net]
Configure::read()

という書き方って専門用語でなんて言うのでしたっけ?
PHPのバージョンによってもこの書き方が使える場合とエラーになる場合があり、
それを調べようと思ったのですが、用語をど忘れしてしまいました



241 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 11:48:48.70 ID:1833Pji90.net]
疑似変数ですかね。
色々と質問させていただきましたが、
マニュアルを見逃すことが多いので、注意したいと思います。

242 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 12:28:14.73 ID:Nyf5aX+Ca.net]
スコープ定義演算子

243 名前:198 mailto:sage [2017/05/15(月) 17:52:15.38 ID:dvw/ajfi0.net]
(続き)今日はシフトの非番なのでやってみました

------------------
>>211の ini_set('display_errors', 1);  は
failed to open stream: Permission denied in ・・・ test01.php
となりました。 ※長々と文章が続きますのでここだけ抜粋

------------------
>>212
例外処理でSplFileObjectを使ってみました。
try {
$obj = new SplFileObject("abc.txt", "w");
} catch (Exception $e) {
//エラー処理
echo $e->getMessage();
}

これだと 500 (Internal Server Error) が出ます。

set_error_handler は未だです

------------------
>>217の「fopen()の戻り値$handleを調べて」で
$handle = fopen("abc.txt", "w");// abc.txtを書き込みモードで開く
print $handle;
をやってみましたが、何も表示されません。

------------------
現時点での結論は「原因が全く分からない」です。

244 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 18:17:58.64 ID:Jjv98UEoH.net]
>>238
> >>217の「fopen()の戻り値$handleを調べて」で
> $handle = fopen("abc.txt", "w");// abc.txtを書き込みモードで開く
> print $handle;
> をやってみましたが、何も表示されません。
>
> ------------------
> 現時点での結論は「原因が全く分からない」です。

いやいや、何も表示されないというのは、fopen()が失敗してるってことだよ。
falseをprintしても何も表示されないから。
成功してたら、"Resouce id #5"みたいに表示されるはずだから。

245 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 18:24:42.83 ID:Jjv98UEoH.net]
つか、

>>238
> >>211の ini_set('display_errors', 1);  は
> failed to open stream: Permission denied in ・・・ test01.php
> となりました。 ※長々と文章が続きますのでここだけ抜粋
エラーの原因出力されてるじゃん・・・

246 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 19:55:48.98 ID:Vb5ZKsqrM.net]
とにかくエラーログがてるところまで何とかしろ
そこにたどり着く前に色々やっても何も分からんだけ
先に進まず、まずはここだけやれ

そしてエラーログが出るようになったら必ずログを確認しろ
500エラーなら必ず理由がログに出る

247 名前:211 mailto:sage [2017/05/15(月) 20:17:22.18 ID:nSGL9egfa.net]
>>238
せめてさ, エラーメッセージでググるくらいのことはしてくれよ

248 名前:デフォルトの名無しさん mailto:sage [2017/05/15(月) 21:04:15.00 ID:fnDHHxZB0.net]
ローカルで使用する時に別ドライブから画像参照したい
htmlだと
<img src="file:///I:/img/0000.jpg">
こう書けば別ドライブから画像を参照して表示できるのだけど
PHPではこう書いてもできない。
どうすればいいでしょうか?

249 名前:211 mailto:sage [2017/05/15(月) 21:15:35.34 ID:nSGL9egfa.net]
>>243
php.net/manual/wrappers.file.php

250 名前:198 mailto:sage [2017/05/15(月) 22:19:38.89 ID:dvw/ajfi0.net]
>>239-242
FFFTPでサーバー上の目的テキストのパーミッションを開き、権限者「その他」で「書き込み」
にチェックマークを入れたところ、print $handle; は Resource id #3 が出ました。
※Chromeで実行しましたがエラーは出ていません

文字化けしていますが曲りなりに成功しました。 有難うございます。



251 名前:198 mailto:sage [2017/05/15(月) 22:44:25.11 ID:dvw/ajfi0.net]
(追記)
文字化けは、目的テキストの文字コードを UTF-8 にするため
$str = "テスト文章です";
$str = mb_convert_encoding($str, "UTF-8", "EUC-JP");

でOKでした。
何故か "EUC-JP" でなくファイルの元コード "sjis" や "Shift_JIS" から
変換すると文字化けのままです。

252 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 00:20:46.81 ID:P5MMw6+60.net]
>>244
お返事ありがとうございます。
ローカルだとうまくいきませんでした。
何か別の方法を考えてみます。

253 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 00:55:45.12 ID:hc9PncuC0.net]
>>247もそうだけど、上手くいかないならまずはアクセスログ、エラーログを見よ
ログがでてないならまずはログを出すところから始めろ
PHP ログ 出力 でググって調べろ
上手くいかない場合、ここで聞くよりログを見た方が確実だし早い

254 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 01:19:07.84 ID:T1OkV7Tma.net]
>>235
staticメソッド

255 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 11:16:48.66 ID:3A9hLCJa0.net]
冷たいようだが手遅れになる前にハッキリと言っとく

プログラムが意図した通りに動かない時
自分でエラーメッセージを確認してググるなり本なりで調べて解決しようとして
私はこう思ってこうしたのだけど動きません

という質問の仕方なら分かるし将来性はある

動きません
分かりません

という質問の仕方しかできないなら、ハッキリ言うがプログラミングには向いてない
手遅れになる前に他の業界にいきましょう

256 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 12:22:29.62 ID:CV++bHOB0.net]
>>250
でもそれはアナタが慣れているから。
初心者はエラーメッセージの出し方も分からないないし、長々としたメッセージの
どこを見れば良いかも分からない。

優越感の視点で書いちゃダメだよ。それに

> ハッキリ言うがプログラミングには向いてない

オマエ、FPGAのプログラミングもやったことあるの?
プログラミングなんてPC上でカタカタやって終わりのモノだけだと思ってないか?

それに資料の殆どが英語という言語もあるんだぜ

257 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 12:29:18.04 ID:EpHNLcPNa.net]
プログラミングやってたら知りたい情報が英語で書かれてることなんて珍しくもないし、そんなとこで優越感持たれても困る
業界どうこうの話じゃなくて、自助努力の痕跡が見つけられるかどうかでしょ

258 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 13:01:25.46 ID:3A9hLCJa0.net]
>>251
日進月歩の世界だから自分の力で調べて解決する能力のない人は向いてないってだけの話
長ったらしいエラーが出たら出たで、今度はそのエラーをググればいいじゃないか
昔はググる事すらできなかったのにさw

別にプログラミングに限った話でもない
20半ばぐらいまでならまだ間に合うから、さっさと業種を変えた方がいい
手遅れになった人を何人も見てきてるし30過ぎまで引きずるとほんと悲惨だよ
お前そんなんじゃ結婚もできないだろって奴ばっか

FPGAなんて言葉を出して優越感()に浸ってるお方には理解できないのかもしれないけどさw

259 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 13:04:24.73 ID:UWwVfOAn0.net]
というか物凄く親切丁寧なPHPのエラーですら読んで理解できないのはプログラム云々以前の問題だと思う
中学レベルの英語力すらないのか?

260 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 13:05:13.59 ID:CV++bHOB0.net]
>>253
要はエラーが出ない場合は、「エラーメッセージの出し方を教えて下さい」で、
あと「どの個所を見れば良いのですか?」 という2行を追加ということでOK?

あとFPGAの存在は知っておいて損は無いよ。
専用ツールをライセンス購入すると100万円超えるけど



261 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 13:10:06.47 ID:7x0iPo/hM.net]
優越感に浸ってる痛い255がいると聞いて

262 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 13:17:27.07 ID:CV++bHOB0.net]
このスレのキーワードは『優越感』になりそうだなw

263 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 13:25:03.78 ID:Ilchk1CoH.net]
>>251
オマエ、今年の痛い奴No1を更新したぞ

264 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 13:49:00.36 ID:6VEQJAMtM.net]
検証の手順と質問の仕方は考えてほしい
超能力者じゃないと答えられん質問投げられてもだれも得しない

エラーログを出す(まったく出てないなら出す方法から調べる)
エラーログを見る
エラーログをコピペしてググって調べる
再度ソースを確認する

それでも分からなければソースとエラーログを
他人に見られてはいけないところ(パスワードどか)以外全部ここにコピペで書け
そうすれば答えてくれる人も多くいると思う
ソースだけとかでも分からない場合が多いので

265 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 14:13:25.93 ID:Ilchk1CoH.net]
>>243
> ローカルで使用する時に別ドライブから画像参照したい
> htmlだと
> <img src="file:///I:/img/0000.jpg">
> こう書けば別ドライブから画像を参照して表示できるのだけど
「ローカル」というのがローカルPCで動作するHTTPサーバを指すなら、HTMLでも表示できないと思うが。
単にHTMLファイルをダブルクリックして表示することを指しているのなら、それに変わるPHPの使い方はできない。

266 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 14:34:15.08 ID:l7Nmuuc60.net]
テンプレに追記が必要か?

[プログラムが動かない場合]
* エラーは出ているか?
出ている→コードと内容をそのままコピペ
出ていない→error_reporting(E_ALL); ini_set('display_errors', true); をコード先頭に追記して実行して表示されるエラーをコピペ

267 名前:デフォルトの名無しさん [2017/05/16(火) 16:49:20.37 ID:WEDWU0250.net]
すいません、以下質問させてください。
SQLで取得したデータを多次元配列に入れてHTMLのテーブルでリスト表示してます。
そのテーブルヘッダにドロップダウンリストを付けて、
複数条件の絞り込み機能を付けたいのですが、
配列をフィルタリングするにあたり、どのような関数またはロジックを使えばいいでしょうか。

キー(フィールド):
10列ほど。検索値の指定は全キー必須ではなく、指定したりしなかったりされる。
なお1列だけ数値データがあり、それについては範囲検索する。(0-3, 4-6, 7-9…)

配列形式:
Array (
[0] => Array ( [titile1] => hoge [titile2] => fuga [〜 [title10] => 2 )
[1] => Array ( [titile1] => piyo [titile2] => fuga [〜 [title10] => 7 )
[2] => Array ( [titile1] => hoge [titile2] => hogera [〜 [title10] => 5 )


例えば、title1をhogeでドロップダウン選択したら、
Array0と2のレコードを抽出して表示

よろしくお願いします。

268 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 17:06:54.87 ID:dXmAFpYY0.net]
>>262
配列をフィルタリングするんじゃなくて sql の where 句を変えるようにするんだよ

269 名前:デフォルトの名無しさん [2017/05/16(火) 17:36:29.81 ID:WEDWU0250.net]
>>263
ありがとうございます。
1ユーザー単位の検索回数が多いであろうと想定して必要以上のDBアクセスを避けるために、
最初のページ読込で全データとったらあとは配列でなんとかしたかったのですが無理そうですかね…。

270 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 17:48:51.64 ID:Ilchk1CoH.net]
>>264
Javascriptで実装する範疇ですね。
Web制作板に適切なスレがあるかも・・・。

まぁ簡単に言えば、条件に適合する行は描画して、そうでない行はスキップすればいい。
それを全部自前で実装するか、何かのライブラリを使うか、フレームワークを使うか。
ライブラリは、https://datatables.net/とか。

これ以上は、Web制作板かな。(Javascriptの質問を重ねないように)



271 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 17:53:29.44 ID:ekUh1gbRa.net]
普通にarray_filterじゃダメなの?

272 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 17:58:06.48 ID:Ilchk1CoH.net]
>>266
クライアントでやりたいんだと思うよ。

273 名前:デフォルトの名無しさん [2017/05/16(火) 18:08:30.13 ID:WEDWU0250.net]
>>265
やはり、いち関数とかでどうこうできないですかね…残念。
検索値のログを取りたくてPHPを選択してみた経緯でした。
JavaScriptではファイル書き込みなどのファイル操作ができないようなので。
ありがとうございます。

274 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 18:13:09.89 ID:Ilchk1CoH.net]
>>268
サーバにクエリ投げてPHPで実装すれば?

275 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 18:15:43.77 ID:/gdfS9gt0.net]
いや、PHPでもゴリゴリ実装すればできると思うよ
ログも取れるし
SQLで間引くか、表示の直前で間引くかすれば良い
当然、適切なSQLを生成して必要な情報のみ取得して表示した方がサーバには優しい

276 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 18:16:14.25 ID:dXmAFpYY0.net]
>>264
まずは普通に作ってみたらいいのにと思うんだけど。

>>265 がいうようにクライアントでフィルタをかけるなら、クライアントに全データを渡すこと

277 名前:ノなるのは問題ないのか
 (配列にフィルタかける方法を知りたがってるんだからクライアントでのフィルタは意図していないと思っていたけど)
・セッションに保持するなら、データが更新されたときの整合性はどう担保していくのか

を考慮しないといけないんじゃない?
[]
[ここ壊れてます]

278 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 18:23:37.41 ID:Ilchk1CoH.net]
もう、全件Excelに読み込んで、Excelの機能でフィルタリングしちゃえ

279 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 18:30:03.35 ID:l7Nmuuc60.net]
RESTで必要な分だけJSONで取れるようにすればよいのでは

280 名前:デフォルトの名無しさん [2017/05/16(火) 18:42:09.76 ID:WEDWU0250.net]
みなさん、ありがとうございます。

>>266
あらためて調べなおしてみたら、array_filterでいけるかもですね。
これだと検索キーのぶんだけ、ネストでぶら下げていかなきゃいけない…のかな。
とりあえずベタでやってみます。
数値の範囲指定検索がややこしそう…。

>>267
最初はJqueryとか使って動的にやれたらな〜と軽く考えてましたが、
検索値指定してボタン押したら、セッションで検索値と配列渡して飛び先のphpページで処理して表示する流れにしました。

>>269
クエリでやらないのは>>264に書いた理由でした。

>>270
そうですねー、あまり余計な負荷は避けたいかなと。

>>271
クライアントにはデータは渡したくないので、あくまでサーバー側で処理したいと考えてます。
おっしゃる通り、まずはトライしてみます。array_filterで。
セッションの部分はまだ勉強不足でして…宿題です。
(データ登録は数日に1回10件くらいなのでシビアに見なくても大丈夫…かな?)



281 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:08:45.69 ID:6VEQJAMtM.net]
アクセス多いならデータベースに負荷をかけない方法として
memcacheやradisなどのキャッシュサーバ使ったり
PHPのAPCキャッシュを使うことも検討するといいよ
いきなりは厳しいけど、徐々に勉強していけばいいと思います

282 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:11:58.31 ID:6VEQJAMtM.net]
Redisは正式にはキャッシュじゃなかった
キャッシュ的にも使えるよ、という意味です
Sessionよりもより効率的なので将来的にはここまで頑張って進んでほしい

283 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:29:08.64 ID:9H3961U80.net]
>>261
良いのでは?
スレタイを声に出して100回読んでみろと言いたいところだが>>250は真実だしな
口が臭い奴にお前口が臭いよとはっきり言う方がある意味では親切なのと同じで
向いてない奴には向いてないとはっきり告げるのも必要だ
綺麗事だけじゃ仕事は勤まらん

284 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:33:22.36 ID:9H3961U80.net]
>>274
既に誰かが書いてたらすまないが、初回のsql発行結果を元に配列ソート用のJavaScriptのコードをPHPで出力してやるなんてやり方もあるよ
もう少し詳しく書きたいんだがスマホからなのですまない

285 名前:デフォルトの名無しさん mailto:sage [2017/05/16(火) 21:57:02.88 ID:P5MMw6+60.net]
>>260
> 単にHTMLファイルをダブルクリックして表示することを指しているのなら、それに変わるPHPの使い方はできない。

ありがとうございます。
それがわかっただけでも対策を立てることができるので助かります。

286 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 07:51:06.10 ID:3lPWTVzo0.net]
すいませんapcuみたいな有効期限付けれる kvs ライブラリで有名なの教えてもらえませんか
拡張機能ではなくcomposerで入れられるのがいいです

287 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 09:42:34.81 ID:u2bs0BxyM.net]
>>280
https://github.com/chatbox-inc-hoge/SimpleKVS
有名でもないし、有効期限の実装もまだかもしれん
PHPだけでの実装なら都度都度ディスクから読み書きするしかないだろうから色々と厳しそう
SQLite使えるならそこにKVS実装するとか
ぶっちゃけ、どこかにmemcachedプロセス立

288 名前:ソ上げるのが一番速いと思う []
[ここ壊れてます]

289 名前:デフォルトの名無しさん [2017/05/17(水) 11:50:09.98 ID:3lPWTVzo0.net]
>>281
ランキング的なものをjsonで書き出して普段は読み込むだけなのでファイルでもいいかなと
レンサバなのでmemcachedは難しそうです
ありがとうございましたm(__)m

290 名前:デフォルトの名無しさん [2017/05/17(水) 12:56:49.09 ID:lSa7TP7B0.net]
>>276
そうなんですよねー。
いずれSQLはコールドデータ的にして、Redisにコピってそっちでやり取りできたらいいなあと。
Dockerとかで環境作れそうですけど、基本的な実装が終わったらトライしてみたいですね。
APCキャッシュは知らなかったので調べてみます。

>>274
そんなやり方があるんですね。
お時間あったらでいいのでもう少し情報いただると助かります、
自分のほうでも調べてみますので。

ありがとうございます。



291 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 12:45:16.74 ID:juCOIKkd0.net]
文字列の最後が「Part1」とか「Part23」と感じなってるんだけど
この数値の部分を取り出すにはどうすればいいでしょう?

292 名前:デフォルトの名無しさん [2017/05/20(土) 13:22:04.09 ID:+AHq9zzn0.net]
正規表現でいいだろ。とくに高速にこだわなければ。

293 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 14:06:53.01 ID:fTSvx8FL0.net]
Partを空文字列に変換する

294 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 14:23:35.28 ID:VyG0A5Zf0.net]
Partが固定長ならsubstrが最速だと思う

295 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 00:05:30.55 ID:GvMHZSOA0.net]
>>284です。
正規表現でできました。
ありがとうございます。

296 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 12:28:59.50 ID:ANSA2OhR0.net]
【OS名】WindowsServer2012R2
【PHPのバージョン】5.4.9
【連携ソフトウェア】Apache2.2
PECL2.0.1.2(PHP5.4ThreadSafe)
Oracle12.1.0.2(x64)
OracleInstantClientBasic12.2.0.1.0(x86)
OracleInstant ClienODBC12.2.0.1.0(x86)
【質問内容】PHPからDB接続が失敗します。
アドバイスください。
そもそもこの組み合わせで動作しない?
【やったこと】
環境変数Path
OracleInstantClientBasicのbinを先頭に追加。
tnsnames.ora、sqlnet.oraの設定
httpd.conf
LoadModule php5_module "c:/php/php5apache2_2.dll"
php.ini
extension_dir = "c:/php5/ext"
※"ext"、"c:\php5\ext"に変えても同じ
extension=php_oci8_12c.dll
(extフォルダにphp_oci8_12c.dllを格納)
apache再起動・OS再起動
参考にしたサイト
www.php.net/manual/ja/oci8.installation.php
【判明していること】
apacheのerror.log…oci_connect undefined function
phpinfo…oci8の項目がない。
他の32ビットアプリからOracle接続できています。

297 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 19:05:16.60 ID:YAwwHXxQ0.net]
extentionの組み込みに失敗してるようだから、
試しに他のextention組み込んでみれば?
それもダメならそもそもextention動的に追加できない環境とか

298 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 21:24:59.33 ID:rRI3ub450.net]
phpまったく分からない初心者で申し訳ないんですが、こちらの(www.punyu.net/php/oekaki.php)お絵かき掲示板をサイトに設置したいのですが、設置方法通りにやっても
Parse error: syntax error, unexpected '}' in ""/poti/htmltemplate.inc(312) : eval()'d code on line 147
このようなエラーが出てしまいます…
該当のファイルは全く手を付けていないので原因が全く分かりません。
本来ならば配布サイトで聞くことなんですが、かなり昔に更新停止してしまっているようで…。
ご教示いただけたら幸いです。

299 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 22:10:58.34 ID:YAwwHXxQ0.net]
>>291
そのサイト見ても403エラーしか表示されないのでよくわらかんが、
syntaxエラーということはプログラムが正しい記法で記述されてないということ
PHPのバージョン違いで対応してないのかもしれない

そもそも更新が停止されてるプログラムなんかセキュリティホールあるかもしれんし
素人ならなおさら使うべきではないと思う
ちゃんと今もメンテされてるところを探すべき

300 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 22:14:17.37 ID:1J6dhIFt0.net]
そのファイル見たらfor PHP4とか書いてあるんだけど
PHP4のEOLから約9年なんですけど



301 名前:デフォルトの名無しさん mailto:sage [2017/05/21(日) 22:27:21.97 ID:rRI3ub450.net]
みなさんアドバイスありがとうございます。やっぱり古いのはだめなんですね…。
今までレンタルサーバーを使っていたのですが、こちらのhttps://github.com/funige/neo
ツールを使いたくて先程のお絵かき掲示板を設置しようとしていたのです…。こちらで普通につかえているようなので大丈夫だと思ったのですが…。

302 名前:289 mailto:sage [2017/05/21(日) 22:43:45.41 ID:ANSA2OhR0.net]
>>290
ありがとうございます。
明日試してみたいと思います。

303 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 11:49:09.51 ID:d1deCwH80.net]
訪問者が以前見ていたページからオススメのページを表示させたいのだけど
そういうことはできるのでしょうか?
詳細な情報は自分で調べてくるので大凡な概要を教えてください

304 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 11:58:52.67 ID:wBUnNup00.net]
出来るだろうけど、オススメのページを決めるのはあなただよね?

305 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 12:05:10.49 ID:d1deCwH80.net]
オススメというか同カテゴリの人気ページを表示させたいと思っています。

306 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 12:12:45.56 ID:wBUnNup00.net]
アクセスユーザーがログインする形なら、ログインしたユーザーID
ログインしいなら、クッキーを使ってアクセスユーザーを特定する
後はサーバー側で、人気ページ集計やオススメページを決定し
そのアドレスに誘導するなりお好きなように

307 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 12:17:01.23 ID:d1deCwH80.net]
ログインはないのでクッキーと言うものを使ってみようと思います。
ありがとうございました。

308 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 12:20:23.07 ID:pVaUfe3+0.net]
訪問者をどうやって区別するのか?
ログイン処理などでID管理してればID使えるし、そうでないならcookieで識別するか?

訪問者が以前見たページの情報をどこにどうやって保存するのか?
データベースに保存するのか、ファイルに保存するのか?

オススメのページをどう選定するのか?
ページのごとにIDをふって、オススメページの対応表を自分で作るのか?
ユーザの動向からオススメページを決める手法はかなり難しい
レコメンドアルゴリズムとか協調フィルタとかでぐぐれ
PHPにもライブラリはいくつかあるようだが、そのまま使うのは厳しいかも

309 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 13:31:50.42 ID:o9BH+SoNH.net]
>>296
「レコメンドエンジン」でググるといいよ。

たとえば、
「レコメンドエンジン(協調フィルタリング)をPHP+Redisで実装」
qiita.com/yudsuzuk/items/6de4650cb6d50236533e

310 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 16:59:57.37 ID:0HmMgaGq0.net]
switch文でcaseが30個超えたりする場合
もっと簡潔にする方法ってありますか?
単純に引数の値によって個々の返値を変えたいんですが、
シンプルな方法がわかりません。



311 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 17:17:20.84 ID:QSwouUjx0.net]
連想配列とissetでやるとか?

312 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 17:17:24.50 ID:iPaI6PDPa.net]
>>303
そのswitchが何回出て来るかによる
1回ならもうそのままでいいし繰り返し出て来るならケース自体をオブジェクトにしてexecute呼ぶだけにするとか

313 名前:303 mailto:sage [2017/05/22(月) 18:38:52.91 ID:0HmMgaGq0.net]
配列も考えたんですが、うまい方法がわかりませんでした。
出てくるのは一回だけなので、このままでいってみます。
ありがとうございました。

314 名前:デフォルトの名無しさん mailto:sage [2017/05/22(月) 22:58:53.15 ID:V20bT2wiM.net]
連想配列の方がスマートだと思う
キーを定義ファイルとかにまとめればswitchよりもキレイで見やすい

315 名前:デフォルトの名無しさん [2017/05/23(火) 21:42:21.92 ID:t ]
[ここ壊れてます]

316 名前:FSGr+Xo0.net mailto: 外部ファイルをよみこんだけど、
その外部ファイル上からクラスを探してくれないときはどうすればいいですか?
たとえば読み込む側ファイルが、 use.phpだとして

<?php
require_once '/xxx/foo.php';

var_dump(require '/xxx/foo.php');
// => true

$foo = new Foo();
// => PHP Fatal error: Class 'Foo' not found use.php on line 7
→この 「not found use.php 」となっていることから、
そもそも読み込んだ foo.php 上を探してくれていない可能性があります。

もちろん、 foo.phpには
<?php
class Foo{
public function func($arg){
echo $arg;
}
}
とだけ記述されていて、極めてシンプルな検証用ファイルなので、
extendsとかimplementsとかそういった要素は関係していません。
なぜ new のときに読み込まれた側ファイルを探索してくれないのでしょうか。
[]
[ここ壊れてます]

317 名前:デフォルトの名無しさん [2017/05/23(火) 21:45:25.83 ID:tFSGr+Xo0.net]
すみません誤記がありました
上記の
var_dump(require '/xxx/foo.php');
で requireとなっていますが、
var_dump(require_once '/xxx/foo.php');
でもtrueが返ります。

318 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:14:10.10 ID:J05KrQMn0.net]
>>308
use.phpとfoo.phpを同一ディレクトリに配置して
'/xxx/foo.php' -> __DIR__.'/foo.php'
に書き換えて動かしたけど再現しない

実際に再現するコードは?

319 名前:デフォルトの名無しさん [2017/05/23(火) 22:29:34.43 ID:tFSGr+Xo0.net]
>>310
検証ありがとうございます。
今、私も foo.php と use.phpを同じカレントにおいて実行したところ
実行できました。
つまり、この問題は「foo.phpとuse.phpのディレクトリ(及び実行するカレントディレクトリ)が違う」
という問題が原因していることが新たにわかりました。
ディレクトリが違うと問題が起きるのでしょうか?
読み込んだモジュールと読み込んだ側、実行カレントなどの
ディレクトリを揃える手段ってありますか?

320 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 23:31:00.98 ID:J05KrQMn0.net]
>>311
ディレクトリaaaを掘ってそこにuse.phpを移動しかつ
__DIR__.'/foo.php' -> __DIR__.'/../foo.php'
として問題なく動作する

繰り返すが再現する条件と実行可能なコードを出せ
きちんと原因を知りたいならな



321 名前:デフォルトの名無しさん [2017/05/24(水) 01:00:45.23 ID:rx1CXyDY0.net]
>>312
すみません、自己解決しました。
上記の質問をしたのは autoloadの useが使えなくなり、
require_once(); もcomposerでインストールしたライブラリでは
使えなかったためで、
そもそもの useが使えない原因を特定しました。
私はwindowsから macにPCを変えたばかりで、macでは
\マークと\ を分けていることに気が付きませんでした。
option + \ で \ を出力できることを知り、 useの問題を解決しました。

require_once ();の問題は解決したことにはなりませんが、
とりあえず useで問題なく外部ファイルを読み込めるのでこれで解決
と思うことにしました。
お騒がせして本当にすみません。

322 名前:デフォルトの名無しさん [2017/05/24(水) 01:02:21.63 ID:rx1CXyDY0.net]
あれ、投稿したら ¥マークもバックスラッシュになっちゃいましたね・・
つまり、このことがよくわかっていなかったということになります。

323 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 13:44:43.12 ID:AcsriXHn0.net]
DIRECTORY_SEPARATOR

324 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 14:00:22.54 ID:ktSIKEk8H.net]
>>314
円記号とバックスラッシュは同じ文字コードです。
表示するフォントで見え方が違うだけ。

325 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 15:13:25.30 ID:AcsriXHn0.net]
>>316
せっかく環境まで書いてくれているというのに君は

326 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 15:28:30.43 ID:ktSIKEk8H.net]
>>317
macでは円記号とバックスラッシュは別の文字コードってことか?

327 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 15:35:58.82 ID:ktSIKEk8H.net]
なるほど、調べたらmacでは円記号は0xA5なのか。
それは知らなかった。

328 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 20:03:57.63 ID:AcsriXHn0.net]
>>319
utf-8で1バイト目が0xA5にはなりえないというのに君は

329 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 11:03:31.77 ID:yXnULsJhH.net]
>>320
何に関してレスされてるのかわからん。
macでバックスラッシュ使うところを0xA5の円記号を使っておかしくなったって話じゃないのか?

330 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 16:50:51.17 ID:NBObyIGd0.net]
コンストラクタの引数を使ってひとつの処理を実行するだけのオブジェクトを作る場合
コンストラクタに全ての処理を書いてインスタンス生成のみを行うのと
実行用のメソッドを作って、インスタンス生成直後に$foo->do()から実行するのと
どちらで作るのが一般的なんでしょうか?
処理は内部的な物で、どうしても必要なクラスという条件です



331 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 17:02:35.49 ID:FvwfjnU+H.net]
>>322
> 処理は内部的な物で、どうしても必要なクラスという条件です
なら、コンストラクタで実行するしかないよね。

332 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 17:03:43.14 ID:EqtXAXHq0.net]
インスタンス生成の必要がないように読めるが。

333 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 18:44:12.74 ID:NBObyIGd0.net]
確かに、必要なさそうでした・・

334 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 07:24:05.71 ID:3I8BlO+30.net]
>>322
生成&メソッド呼び出し
DIやテストを書いてみれば分かると思う

335 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 14:50:17.96 ID:vHC5ipdf0.net]
Webページのソースコードが文字化けするページを見つけたのですが対象方法がわかりませんでした。
どのようにすれば良いのでしょう?

$url="momoniji.com";
$html=file_get_contents($url);
$html=mb_convert_encoding($html,'utf8','auto');
echo $html;

336 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 17:44:17.71 ID:mWYP1opd0.net]
文字化けではない

HTTPレスポンスヘッダのContent-Encodingを見れば分かるがレスポンスボディはgzip圧縮されている
だから結果をgzdecode関数にかければよい

337 名前:デフォルトの名無しさん mailto:sage [2017/06/03(土) 19:15:54.54 ID:vHC5ipdf0.net]
>>328
ありがとうございます。
ずっと文字化けだと思っていました。
解決できました。

338 名前:デフォルトの名無しさん (オッペケ Sr71-i0+1) mailto:sage [2017/06/09(金) 21:35:08.67 ID:itsdSOhir.net]
ftp関数ってftp関数の使用が許可されているサーバーから許可されていないサーバーに通信できるの?
さくらインターネットはftp関数使えないけど、使えるサーバーからさくらに接続できる?

339 名前:デフォルトの名無しさん (オイコラミネオ MMeb-jiBQ) mailto:sage [2017/06/09(金) 22:47:35.09 ID:ltTPD1ZbM.net]
受け入れる側が許可してないと何やっても繋がらんよ
ftpdのプロセスが立ち上がってて、かつ必要なポート番号が開いてる必要がある
アクティブモードかパッシブモードかによって色々変わる
さくらのサーバ側がどうなってるか確認すれば良い

繋げる側は通信が外に出ていければだいたい大丈夫
もちろんftpプロトコルで通信できる環境は必要だが

340 名前:デフォルトの名無しさん (オッペケ Sr71-i0+1) mailto:sage [2017/06/10(土) 00:10:31.61 ID:0tXhVGnur.net]
>>331
つまりftpソフトで繋がるサーバーならphpのftp関数とは関係なく大丈夫ってことですかね

繋げる側はエックスサーバーでやってみて大丈夫でした!



341 名前:デフォルトの名無しさん (ワッチョイ 4500-jiBQ) mailto:sage [2017/06/10(土) 01:01:48.16 ID:nnTfCPYs0.net]
>>332
繋ごうとする側にFTPクライアントかFTP関数的なものが必要ということだよ
何のファイルを送受信するか分からんけど、
素のFTPだと暗号化されてないから注意せよ
今の時代ならSFTPとかSCPとか使う方が安全

342 名前:デフォルトの名無しさん (オッペケ Sr71-i0+1) mailto:sage [2017/06/10(土) 06:16:39.22 ID:0tXhVGnur.net]
>>333
ああ、そうなんですね。
だとすると繋ごうとする先のレンタルサーバーを確認しないとダメですね。
うーん、仕様を確認してわかるものなのか…。

ちなみに送受信するのはhtmlやcssファイルです。
自分のサーバー(ftp関数を実行して繋ぐ側)はエックスサーバーで決まりなんですが、
ftp関数で繋ぐ先のサーバーはいろんなホスティング会社のサーバーです。
ロリポやさくらなどのレンタルサーバー会社。

ftpソフトで繋げられるからといってphpのftp関数でも繋げられるとは限らないということですね。

343 名前:デフォルトの名無しさん (ワッチョイ 4500-jiBQ) mailto:sage [2017/06/10(土) 11:06:58.62 ID:nnTfCPYs0.net]
>>334
XServerはPHPがほぼ最新だし、
ftp_connect系の関数も基本は標準で入ってるはず
FTPプロトコルは接続時のお作法がサーバの設定によって色々変わるから大変だと思うが頑張って

344 名前:デフォルトの名無しさん (オッペケ Sr71-i0+1) mailto:sage [2017/06/10(土) 12:10:45.46 ID:0tXhVGnur.net]
>>335
ありがとうございます!
ちょっと他のサーバーを仮契約して試してみます!

345 名前:デフォルトの名無しさん (ワッチョイ 1532-Ell8) mailto:sage [2017/06/12(月) 02:02:20.17 ID:9HEIoQd30.net]
>>336
> ftpソフトで繋げられるからといってphpのftp関数でも繋げられるとは限らない
普通につながるから安心していいよ

つなぐ先のサーバのphpにftp関数があるかどうかは関係ない

346 名前:デフォルトの名無しさん (オッペケ Sr71-i0+1) mailto:sage [2017/06/12(月) 11:13:25.44 ID:9bwuxRECr.net]
>>337
そうなんだ!
昨日からいくつかサーバー確認しはじめたけど、それがわかるならテストしなくていいから助かります!

347 名前:デフォルトの名無しさん (オイコラミネオ MMeb-jiBQ) mailto:sage [2017/06/12(月) 21:29:01.90 ID:HwT26Y2zM.net]
いや、テストはした方がいいよ
そりゃ、たいていは繋がると思うが
ポート番号とかモードの設定とかサーバ側の設定次第で色々調整が必要になることはある

348 名前:デフォルトの名無しさん (ワッチョイ 1532-Ell8) mailto:sage [2017/06/13(火) 00:13:35.53 ID:MT1aMd9/0.net]
ちなみにだけど不正アクセスには使ったらあかんよ

349 名前:デフォルトの名無しさん (オッペケ Sr71-i0+1) mailto:sage [2017/06/13(火) 09:25:25.23 ID:onzjies9r.net]
>>339
ポート番号とかモードはユーザーが設定できるようにしてるので大丈夫かな

>>340
そういう目的じゃないので…
逆に不正アクセスできないように配慮はしてるつもり

350 名前:デフォルトの名無しさん (ワッチョイ 15db-55DC) [2017/06/13(火) 11:59:39.85 ID:y4mccwa90.net]
画像ファイルをアップロードして一覧表示するプログラムを作成していて、
iOS端末だけ保存ファイル名が取れないのですが原因わかりますでしょうか。

formから以下の記述で取得してもすべてimage.jpgにリネームされて
複数アップロードしてもぜんぶ同じ画像になってしまいます。

index.html
<form name=“upform" method="post" action=“test.php" enctype="multipart/form-data">
<input type="file" name="uploadfile[]" multiple>


test.php
$_FILES["uploadfile"]["name"]

よろしくお願いします。



351 名前:デフォルトの名無しさん (ワッチョイ e511-Z3xB) [2017/06/13(火) 16:22:16.49 ID:e75WWAwz0.net]
APIを作りたいんですが
codeigniterとかフレームワークを使うのってへんですか?

352 名前:デフォルトの名無しさん (JP 0H6b-yTT2) mailto:sage [2017/06/13(火) 17:07:34.26 ID:3KAtKhUpH.net]
>>343
・そこそこの数のAPIを作る
・認証が必要
・自前でCSRFとかの対策だるい
・自前でルーティングするのだるい
とかなら、フレームワークおすすめ。

ただ、フルスタックのでかいフレームワークじゃなくて、マイクロフレームワークと呼ばれる
のを調べてみるといいよ。
LumenとかSlimとかSilexとか。

353 名前:デフォルトの名無しさん (ワッチョイ 23cd-D9zB) mailto:sage [2017/06/13(火) 20:13:16.36 ID:If/p8sdd0.net]
>>343
変じゃない。
>>344が書いてるようにフレームワーク使った方が楽。
LumenやSlimもいいんだけど、マイナーだからなにか問題起こると
ググっただけでは答えが見つからないこともある。
初心者だったらメジャーなフレームワーク選ぶといいよ。
最近シェア落としてるけどcakeでいいと思う。
エラーメッセージそのままコピペしてググれば、ほぼ答えが出てくる。

354 名前:デフォルトの名無しさん (ササクッテロル Sp71-DEJT) mailto:sage [2017/06/14(水) 01:10:32.29 ID:7F7xS9xRp.net]
ありがとうございます!

355 名前:デフォルトの名無しさん (ワッチョイ ddc2-OlK+) mailto:sage [2017/06/14(水) 14:12:06.77 ID:gEXW+PhK0.net]
かなりひさしぶりにPHP触るんだけど今ってテンプレートエンジンは何が熱い?
昔は、smartyが遅いからsmarty記述法と互換性がある自作エンジンを作ってやってたんだけど
最近熱いエンジンのソースコードが見たくなった

356 名前:デフォルトの名無しさん (ワッチョイ ddc2-OlK+) mailto:sage [2017/06/14(水) 14:13:39.40 ID:gEXW+PhK0.net]
「自作エンジンを作って」ってなんか頭痛が痛いみたいだ
気にしないでw

357 名前:デフォルトの名無しさん (JP 0H6b-yTT2) mailto:sage [2017/06/14(水) 14:20:31.94 ID:/XZF9UoWH.net]
その自作エンジンでええやん

358 名前:デフォルトの名無しさん (ワッチョイ 7d6c-Fz1p) mailto:sage [2017/06/14(水) 14:44:27.06 ID:M56szTyh0.net]
質問失礼します。
php7でサーバプログラムを作成中です。

HttpsRequestでデータを受けとってレスポンス、そのデータをWebSocketで別クライアントに返すという機能を実装したいのですが、
両方のポートで待ち受けるようなプログラムって実装可能なんでしょうか?
(1つのポートでも構いませんが、、、)

php7 + Apache で色々試したり、フレームワークのSilexを入れて試したりしましたが、
これってつまりプロセス間通信だったり、なにかしらのストレージに入れないと無理ですよね?

359 名前:デフォルトの名無しさん (JP 0H6b-yTT2) mailto:sage [2017/06/14(水) 15:38:38.63 ID:/XZF9UoWH.net]
>>350
HTTPリクエストを受け取って処理する部分は、待ち受けする必要ないでしょ
リクエストを受け取って、何か処理して、WebSocketサーバにデータを送信する
WebSocketのサーバもPHPで書きたいなら、そこでは当然接続を待ち受ける必要がある

360 名前:350 (ワッチョイ 7d6c-Fz1p) mailto:sage [2017/06/14(水) 15:57:19.95 ID:M56szTyh0.net]
>>351
WebSocketは待ち受けて、HttpRequestは待ち受けない(Apatchまかせ)のであれば、データをWebSocketでクライアントに送信する際、確実にストレージなりを利用する事になります。
今回それをやりたく無いので、両方同じクラス内で待ち受けて処理できれば、クラス内の一時メモリを使いまわせるのになぁ。
と思った次第です。Silexで試した理由はそれです。



361 名前:デフォルトの名無しさん (JP 0H6b-m0Mh) mailto:sage [2017/06/14(水) 16:03:38.60 ID:/XZF9UoWH.net]
>>352
> データをWebSocketでクライアントに送信する際、確実にストレージなりを利用する事になります。
え?なんで?
a.phpがHTTPリクエストを処理したなら、a.phpからWebSocketサーバはsocket通信だよ?

362 名前:デフォルトの名無しさん (JP 0H6b-m0Mh) mailto:sage [2017/06/14(水) 16:10:17.81 ID:/XZF9UoWH.net]
>>352
読み間違えてた
a.php: Apacheから呼び出される何かのリクエストを処理するコード
WebSocketサーバ:あるポートで待ち受ける、WebSocketプロトコルをしゃべるサーバ

のとき、a.phpはWebSocketクライアントだよ?

363 名前:350 (ワッチョイ 7d6c-Fz1p) mailto:sage [2017/06/14(水) 16:11:37.43 ID:M56szTyh0.net]
>>353
という事は、a.phpが呼ばれたらlocalhostに接続して送信切断という流れなんですね。
確かにそれでも可能です。
後から要件追加して申し訳ないですが、a.phpが短時間に大量に実行されるので、できれば接続と切断は繰り返したくないのがあります。

364 名前:350 (ワッチョイ 7d6c-Fz1p) mailto:sage [2017/06/14(水) 16:16:39.58 ID:M56szTyh0.net]
今試したら、WebSocketのsocket_acceptでHttpRequestを受け取れました。
httpもsocketも同じtcpだからacceptするんですね。目から鱗でした。
接続と切断を繰り返してしまいますが、これしかないですかねぇ。。。

365 名前:デフォルトの名無しさん (JP 0H6b-m0Mh) mailto:sage [2017/06/14(水) 16:18:14.83 ID:/XZF9UoWH.net]
>>355
ちょっとまってくれよ
HTTPリクエストを捌くのはmustなの?そうじゃないの?
短時間に大量のリクエストってどれくらい?100req/sec?10000req/sec?

366 名前:デフォルトの名無しさん (JP 0H6b-m0Mh) mailto:sage [2017/06/14(水) 16:19:03.30 ID:/XZF9UoWH.net]
>>356
つか、WebSocketが何者だか理解してるか?

367 名前:デフォルトの名無しさん (ワッチョイ 1532-Ell8) mailto:sage [2017/06/14(水) 16:19:16.79 ID:3zsLXGHk0.net]
まるで同一サーバで別プロセスが同一ポートでLISTENしているかのような書き方だけど、どこかに隠し情報があるんだろうなぁ

368 名前:デフォルトの名無しさん (ワッチョイ ddc2-OlK+) mailto:sage [2017/06/14(水) 16:21:41.56 ID:gEXW+PhK0.net]
>>349
他言語ばっかやっててPHP書くのなんて久しぶりだから
最近の流行りもののソースコードを何となく見てみたくなるんだよw
そこで自分が全く知らない新しい事を見つけたら嬉しくならない?

369 名前:デフォルトの名無しさん (ワッチョイ 0be3-ceo9) mailto:sage [2017/06/14(水) 16:24:58.32 ID:mnieIMJY0.net]
海外レンタルサーバーを借りたのですが
○○○.com/ にアクセスると
○○○.com/?i=1
というように、すべてのurlに ?i=1がくっついてくるのですが、これを取り払うには htaccessに何と書けば良いのでしょうか?
それとも他に方法がありますでしょうか?

370 名前:デフォルトの名無しさん (ワッチョイ 1532-Ell8) mailto:sage [2017/06/14(水) 16:29:06.69 ID:3zsLXGHk0.net]
>>360
どのくらい久しぶりなのかによるけど、改めてsmarty使ってみたら?
「smarty遅い」といってもいろんな理由があるので、使う側の問題で遅いということもある。

他のエンジンがいいならbladeとかtwigとか。
もっとも、やっぱり自作最高やってなりそうな人にも見えるので、やるだけ損かもしれない。



371 名前:350 (ワッチョイ 7d6c-Fz1p) mailto:sage [2017/06/14(水) 16:30:12.68 ID:M56szTyh0.net]
>>357
同時接続2000人が想定のチャットサーバ書いてます。

WebSocketの処理でhttpのパケットを解析しようかとも考えたのですが、a.phpを叩いてもらって、
そこから接続切断する方が楽そうですね。。。

ブラウザからのhttp requestをWebSocketで受けたらデータが汚すぎて萎えました。
(接続と切断を2〜3回繰り返す。。。)

372 名前:デフォルトの名無しさん (JP 0H6b-yTT2) mailto:sage [2017/06/14(水) 16:33:39.90 ID:/XZF9UoWH.net]
>>360
> 最近の流行りもののソースコードを何となく見てみたくなるんだよw
見たいんならさっさと見ろ

373 名前:デフォルトの名無しさん (JP 0H6b-m0Mh) mailto:sage [2017/06/14(水) 16:35:46.52 ID:/XZF9UoWH.net]
>>363
だーかーらー、そのチャット中にHTTPリクエストを捌くのは必要なの?不要なの?
いらないんじゃないの?

374 名前:デフォルトの名無しさん (ワッチョイ 23cd-D9zB) mailto:sage [2017/06/14(水) 16:40:37.12 ID:2WK2RY/D0.net]
>>364
>>360みたいな人には何言っても無駄だよ。
「〜したい」「〜やりたい」と言うだけで実際には何もしないし出来ない。
そういう奴は相手しないこったね。

375 名前:デフォルトの名無しさん (ワッチョイ 7d6c-Fz1p) mailto:sage [2017/06/14(水) 16:40:41.43 ID:M56szTyh0.net]
>>365
http request内のデータが取得できるのであれば、なんだって大丈夫です。
なのでmustではないという事になりますかね。

376 名前:デフォルトの名無しさん (JP 0H6b-m0Mh) mailto:sage [2017/06/14(水) 16:40:42.09 ID:/XZF9UoWH.net]
WebSocketでチャットとかありがちで、ググればサンプルも死ぬほどあるだろうけど、
たとえは、これ qiita.com/hosomichi/items/66b309a6c3c20d910218
チャットそのものは、JavascriptとWebSocketサーバがやりとりする
WebSocketサーバは、別に何で実装してもいい
もちろん、最初のページはHTTPリクエストで取得する

このラインでいいの?駄目なの?
駄目だとしたら、何が必要なの?

377 名前:350 (ワッチョイ 7d6c-Fz1p) mailto:sage [2017/06/14(水) 16:48:14.61 ID:M56szTyh0.net]
>>368
少し祖語があるみたいです。
http request発行者はクライアントではなく中核サーバーになります。
(上でブラウザで試したというのはクライアントを模してやったわけではなく、単なるテストとしてやりました)
今書いているコードはクライアントと中核サーバーとの中継サーバーのものです。
中核サーバーのコードは修正できません。
そこからhttp requestでメッセージが飛んでくるんです。
そういう意味ではhttp requestを捌くのはmustですね。。。

378 名前:デフォルトの名無しさん (JP 0H6b-m0Mh) mailto:sage [2017/06/14(水) 16:58:29.14 ID:/XZF9UoWH.net]
>>369
やっと、どんなものか輪郭が見えたよ

> そういう意味ではhttp requestを捌くのはmustですね。。。
だったら、多数回の接続・切断は必要だということじゃないかな

まぁ、これ以上、俺からは何も言えないけど、ひとつだけ言えるとしたら、
最初に戻って、複数のポートで待ち受けできるかどうかだけど、できるよ
php.net/manual/ja/function.socket-select.php

379 名前:350 (ワッチョイ 7d6c-Fz1p) mailto:sage [2017/06/14(水) 17:02:24.05 ID:M56szTyh0.net]
>>370
おお!
パッと見どうやって使うのか、まだよく理解できていませんが、貴重な情報ありがとうございます!
言葉足らずですいませんでした。

380 名前:デフォルトの名無しさん (JP 0H6b-m0Mh) mailto:sage [2017/06/14(水) 17:06:01.29 ID:/XZF9UoWH.net]
>>371
実際PHPで使ったことないから、ほんとにできるかどうかは不明
できなかったらごめんね

PHPのサンプルは見つからなかったけど、select()はこんな感じで使える
totofuga.hateblo.jp/entry/2014/09/05/174554



381 名前:デフォルトの名無しさん (ワッチョイ 23cd-D9zB) mailto:sage [2017/06/14(水) 17:08:42.57 ID:2WK2RY/D0.net]
同時接続2000人ってかなりデカいサービスなので数限られる。
動画配信が一番可能性高いけど、そういう仕事やってるとこは・・・。
まさか会社から2chに繋げてないよね?
知り合いの会社の社員のような気がしてきたw
2chに書き込むとインフラとセキュリティにメールが飛ぶとこもあるぞ。
気をつけなされ。

382 名前:デフォルトの名無しさん (ワッチョイ 1532-Ell8) mailto:sage [2017/06/14(水) 17:10:02.55 ID:3zsLXGHk0.net]
>>372
> 実際PHPで使ったことないから、ほんとにできるかどうかは不明
> できなかったらごめんね

普通のソケットプログラミングとほぼ同じだよ

383 名前:デフォルトの名無しさん (ワッチョイ ddc2-OlK+) mailto:sage [2017/06/14(水) 19:32:47.41 ID:gEXW+PhK0.net]
>>362
bladeとtwigありがと

smartyはこういうところが変わった
bladeはここがいい
今一番伸びてるのはtwigだ
そういうレスを期待してたんだけどね

なんかグダグダ余計な事言ってるアホが居るから消えるわ

>>366
なんだその決め付けはw
2ch脳も大概にしてくれや
面倒くせぇやつだな

384 名前:デフォルトの名無しさん (ワッチョイ 9a88-y0cV) [2017/06/15(木) 00:40:42.03 ID:yD3vPxkF0.net]
アフィリエイトのリンクはクリックしたら広告先のURLに移動しますが、
PHPでアフィリエイトリンクからクリック先のURLを取得する方法はないでしょうか?
(つまり、クリックせずに正規のURLが取得したい)
get_headers($url)は無理でした

385 名前:デフォルトの名無しさん (ワッチョイ aee3-yC+1) mailto:sage [2017/06/15(木) 00:52:33.37 ID:orz99gKc0.net]
>>376
通常はクリックするアクションでGetやPostを要求し、
サーバー側の処理により移動先サイトのURLを受けとることになる

だから、クリックしないと無理じゃないかな

386 名前:デフォルトの名無しさん (ワッチョイ aee3-yC+1) mailto:sage [2017/06/15(木) 01:04:52.89 ID:orz99gKc0.net]
もしもHTMLソースに埋め込む様な形でリンクが張ってあるなら
ソースを読んで該当箇所を探し、取得する事は出来るかも知れない

387 名前:デフォルトの名無しさん (オッペケ Srab-kfIt) mailto:sage [2017/06/15(木) 05:45:49.72 ID:teBxPoyNr.net]
アフィリリンクはたいていリダイレクトしてるから無理じゃないかな

388 名前:デフォルトの名無しさん (ワッチョイ c791-FeJb) mailto:sage [2017/06/15(木) 08:48:34.30 ID:3zpPLTtW0.net]
head要求とか?

389 名前:デフォルトの名無しさん (ワッチョイ 3aed-g/RG) [2017/06/19(月) 14:11:01.90 ID:JoeiF6VU0.net]
【OS名】Win10
【PHPのバージョン】 5.6.30
【連携ソフトウェア】MySQL XAMPP
PHP5技術者認定初級の公式教本(2014年9月20日発行)を読みながら勉強をしてる全くの初心者です。
データベースを作成、接続する部分でつまづいてしまいました。データベース、ユーザーの作成を行い

<meta charset = "UTF-8">
<?php
require 'MDB2.php';
$db = MDB2::connect('mysql://user名:passlocalhost/データベース名');
if(PEAR::isError($db)){
die ("接続失敗:" . $db->getMessage());
}else{
echo "接続できました。";
}

を実行、「接続失敗:MDB2 Error: connect failed」と返ってきます。
PHP5.3以降でMDB2_1.4以降を利用するためにはエラー制御、またはMDB2ドライバのbeta版インストールが必要とのことなのでbeta版のインストールをしました。
この手順に失敗があったのか確認する方法がわからず、とりあえずpaer listで確認したところ、
INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:
=========================================
PACKAGE VERSION STATE
Archive_Tar 1.4.3 stable
Console_Getopt 1.4.1 stable
MDB2 2.5.0b5 beta
MDB2_Driver_mysql 1.5.0b4 beta
PEAR 1.10.4 stable
Structures_Graph 1.1.1 stable
XML_Util 1.4.2 stable
と表示されました。
データベース接続のため、アドバイスをいただきたいと思います。
足りない情報などもあると思いますが、宜しくお願いいたします。

390 名前:デフォルトの名無しさん (ワッチョイ 5383-VgqF) mailto:sage [2017/06/19(月) 14:28:03.46 ID:4/2FI0cI0.net]
・'mysql://user名:passlocalhost/データベース名' の内容が間違ってる
・MySQLが起動してない

あたりのオチでは?
そもそも今MDB2を使うメリットって皆無だと思うからPDOを勉強した方が良いと思うけど



391 名前:デフォルトの名無しさん (JP 0Ha6-yC+1) mailto:sage [2017/06/19(月) 14:29:02.12 ID:Ce38C9l/H.net]
>>381
最初のアドバイスとしては、MDB2はもう未来がないからPDOにしとけってこと

392 名前:デフォルトの名無しさん (JP 0Ha6-yC+1) mailto:sage [2017/06/19(月) 14:29:28.56 ID:Ce38C9l/H.net]
かぶったw

393 名前:デフォルトの名無しさん (ワッチョイ 3acd-2WTa) mailto:sage [2017/06/19(月) 16:11:35.81 ID:6320K+Ej0.net]
10年前に終ってるものを今さら引き合いに出すなってw

394 名前:デフォルトの名無しさん (ワッチョイ 5383-VgqF) mailto:sage [2017/06/19(月) 16:46:26.99 ID:4/2FI0cI0.net]
2014年発行の本でMDB2をとりあげた理由ってなんだろう

PHP5.3系の古いバージョンのPDOだと
文字コードの指定ができないという致命的な欠点があったけどその関係だろうか?
そこまで踏み込んで解説されてるのであれば別に良いけどね

恥ずかしながら
「一般社団法人 PHP技術者認定機構」なんてものがある事を初めて知ったw
実務でどれくらい役に立つんだろうねこれ

395 名前:デフォルトの名無しさん (ワッチョイ 4fe3-yC+1) mailto:sage [2017/06/19(月) 17:27:56.89 ID:7bEKAPau0.net]
>>381
PHP5技術者認定初級の公式教本って
オライリージャパンの「初めてのPHP5 増補改訂版」かな?
原書の方は Final Release Date: June 2004ってある。
日本語翻訳で追補しているかも
7章の13辺りからPDOでの操作が載っているようだから、
その辺と読み替えてみたらどうだろう

396 名前:デフォルトの名無しさん (ワッチョイ 876c-BQIS) mailto:sage [2017/06/19(月) 20:39:06.96 ID:2foBmcl+0.net]
2014年でMDB2なんて使う必要性ゼロだったと思う
当時でもPDOもしくはmysqliのどっちかしか推奨されてなかった気がする
その本はすぐに捨てて2015年以降に発刊された本を買い直した方がいい
できればPHP7に対応してるやつ

397 名前:デフォルトの名無しさん (ワッチョイ 4fe3-yC+1) mailto:sage [2017/06/19(月) 21:49:59.12 ID:7bEKAPau0.net]
この本から出題されるらしいから、それは無理だと思う

398 名前:デフォルトの名無しさん (ワッチョイ 87cd-hHqA) [2017/06/19(月) 21:50:08.46 ID:LhGzpkui0.net]
つか、phpなんてググるだけでいいだろ
教本なんていらんのや!

399 名前:デフォルトの名無しさん (ワッチョイ 4fe3-yC+1) mailto:sage [2017/06/19(月) 21:58:44.96 ID:7bEKAPau0.net]
真面目な修行僧に失礼な!

400 名前:デフォルトの名無しさん (ワッチョイ eb00-BQIS) mailto:sage [2017/06/20(火) 02:19:52.47 ID:iK2sGPi10.net]
目的はPHPの試験に受かりたいってこと?
なら動かさなくてもいいじゃん、暗記だけでいいと思うよ
正直、もうほとんど使われてないライブラリだから
実際には大して役に立たない
試験受かったら新しめの本買って学び直せ



401 名前:デフォルトの名無しさん (ワッチョイ f723-Udsw) [2017/06/28(水) 23:04:51.83 ID:7cLKB0Py0.net]
PHPや他言語で、JSのconsole.log();みたいに
オブジェクトや配列を▼ボタンで折りたたみ/展開できる
デバッグ方法ない?

402 名前:デフォルトの名無しさん (ワッチョイ 572b-LvKX) mailto:sage [2017/06/28(水) 23:07:31.32 ID:8ccEp+RW0.net]
>>393
それブラウザの機能だから

403 名前:デフォルトの名無しさん (ワッチョイ c1c2-OatX) mailto:sage [2017/06/29(木) 08:09:11.69 ID:IUqqYZb20.net]
Laravel使ってdd()

404 名前:デフォルトの名無しさん (ブーイモ MMed-p+6f) [2017/06/29(木) 17:16:58.19 ID:olsHrbVIM.net]
多次元配列どうしの結合で教えてくださいませ。
以下のようなそれぞれの配列を、
Array1
(
[0] => Array
(
[key1] => 1
[key2] => 2
)

Array2
(
[0] => Array
(
[key3] => 1
)

このように1つの配列にまとめたい場合はどのようにすればいいでしょうか。
Array
(
[0] => Array
(
[key1] => 1
[key2] => 2
[key3] => 1
)

よろしくお願いします。

405 名前:デフォルトの名無しさん (アウアウカー Sae9-2GBU) mailto:sage [2017/06/29(木) 18:00:57.13 ID:/ne8B1aHa.net]
[array_merge(Array1[0],Array2[0])]

406 名前:デフォルトの名無しさん (ブーイモ MMed-p+6f) [2017/06/29(木) 19:19:10.78 ID:olsHrbVIM.net]
>>

407 名前:397
できました、ありがとうございます!
[]
[ここ壊れてます]

408 名前:デフォルトの名無しさん (ワッチョイ c2cd-wjSU) mailto:sage [2017/06/30(金) 01:31:07.59 ID:xquLJ6q20.net]
$Array1[0] + $Array2[0] でもok

409 名前:デフォルトの名無しさん (ブーイモ MM62-p+6f) [2017/06/30(金) 14:43:54.43 ID:IOmACzTvM.net]
質問させてください。
条件分岐で結果の数が多い場合、
if文でネストする以外にいい方法はありますでしょうか。

配列の同じキーの値を、1〜5つ前まで順にたどって、
同じ値が続いていたら続いたぶんの数を新たに配列に入れたいと考えています。

よろしくお願いします。

410 名前:デフォルトの名無しさん (ワッチョイ c2cd-0bL8) [2017/06/30(金) 15:29:51.48 ID:xquLJ6q20.net]
foreachで回してカウントすればいいのでは?



411 名前:デフォルトの名無しさん (アウアウカー Sae9-2GBU) mailto:sage [2017/06/30(金) 15:57:18.21 ID:rakscAnxa.net]
>>400
同じキーの値ってどういうこと?
二次元配列?
ネストしてていいから一回コード見せてくれると助かる

412 名前:デフォルトの名無しさん (ワッチョイ bdc2-nP2k) mailto:sage [2017/06/30(金) 16:18:07.71 ID:EFdSifWf0.net]
>>400
エスパーで答えるとarray_count_values()を使えば解決する気がする

413 名前:  (ブーイモ MM62-p+6f) [2017/06/30(金) 18:59:07.63 ID:IOmACzTvM.net]
もろもろレスありがとうございます。

>>402
いまこんな感じです。
配列allDataのhogeValue値をもとに、
1件前との差分値がdiffValueに入っており、
zeroOneに下がったか上がったかのフラグ値が0or1で入ってます。

実際は5連続まで判定したいのでネスト足りてませんが、
以下のコードは配列allDataのzeroOneキーを3つ前までたどって、
0が続いた場合に連続してます値をzeroCheckキーにPushしてます。

いまは5連続までですが、最終的に7くらいまで増える可能性があります。

if($allData[$i - 1]["zeroOne"] == 0) {
if($allData[$i - 2]["zeroOne"] == 0) {
if($allData[$i - 3]["zeroOne"] == 0) {
$allData[$i]["zeroCheck"] = "4連続";
} else {
$allData[$i]["zeroCheck"] = "3連続";
}
} else {
$allData[$i]["zeroCheck"] = "2連続";
}
} else {
$hairetsu[$i]["zeroCheck"] = "1回目";
}

414 名前:  (ブーイモ MM62-p+6f) [2017/06/30(金) 19:00:51.81 ID:IOmACzTvM.net]
>>402
まとめて送信できなかったので、配列は以下の通りです

配列:$allData
Array
(
[0] => Array
(
[id] => 1
[hogeValue] => 9594
[diffValue] => 0
[zeroOne] => 0
[zeroCheck] => 0
)
[1] => Array
(
[id] => 2
[hogeValue] => 9494
[diffValue] => -100
[zeroOne] => 0
[zeroCheck] => 1回目
)


415 名前:デフォルトの名無しさん (ワッチョイ bdc2-nP2k) mailto:sage [2017/06/30(金) 19:15:45.47 ID:EFdSifWf0.net]
array_column($allData, 'zeroOne');

'zeroOne'の値だけ抜き出した配列を別に作ってそれをforeach()あたりで回してチェックすればいいだけな気がするが
何か勘違いしてたらすまない
※array_column()はPHP5.5以上でしか使えないから注意。仮に使えなくても自分で作れるよね?

416 名前:デフォルトの名無しさん (アウアウカー Sae9-2GBU) mailto:sage [2017/06/30(金) 19:29:33.71 ID:cIeri8pZa.net]
>>404
途中で1が出てきたら打ち切り?継続?
例えばzeroOneが0,0,1,0,0の順番だった場合はどうなるの?

417 名前:デフォルトの名無しさん (アウアウカー Sae9-2GBU) mailto:sage [2017/06/30(金) 19:32:52.91 ID:cIeri8pZa.net]
>>404
あとその5とか7ってのは$allDataの長さなの?
それとも要素数が100でも最初の5つだけ見るって話?
$allDataの要素数が5未満になる可能性は考えなくていい?

418 名前:デフォルトの名無しさん (ワッチョイ c183-nP2k) mailto:sage [2017/06/30(金) 19:38:09.13 ID:R3qh0H/X0.net]
いまいち何がしたいのか不明な部分が多いが

$zero = array();
foreach ($allData as $k => $v) {
 if ($v['zeroOne'] === 0) {
  $zero[] = $v['id'];
 }
}

で'zeroOne'の値が0になってる'id'だけを収めた配列$zeroを作れば分かりやすいんじゃない?

419 名前:  (ブーイモ MM62-p+6f) [2017/06/30(金) 19:41:09.28 ID:IOmACzTvM.net]
>>406
PHPのバージョンは大丈夫です。

array_columnで抜き出してforeachで回したとして、
そこで連続してるかどうかの判定は同じような条件分岐が必要ですよね?

ちなみに上記のコードは配列全件($allData)をfor文で回してる中のコードなので結局同じのような気が…$iがそのfor文の変数です。

if文の数珠つなぎ以外で書ける方法がないか知りたいんですが、
わかりにくくてすいません。

420 名前:  (ブーイモ MM62-p+6f) [2017/06/30(金) 19:54:02.55 ID:IOmACzTvM.net]
>>407
1が出ても処理は継続します。
いまのとこ1が出てきたら適当な値を入れて全件最後まで回してます。

>>408
5とか7は要素の長さとかではなく、
「同じ値が何連続まで続いているか」の判定回数です。

要素は全件見ます、いままだ100件ほどですが。
要素は今後増えるので5未満は考えてません。

>>409
ありがとうございます、検証してみます。



421 名前:デフォルトの名無しさん (ワッチョイ 2d2d-Vkm7) [2017/06/30(金) 20:48:04.60 ID:jM2/iqY60.net]
とりあえず殴り書いてみた
$zeroCount = 0;
foreach($allData as &$data){
if($data['zeroOne'] === 1 ){
$zeroCount = 0;
$data['zeroCheck'] = 'reset';
}elseif($data['zeroOne'] === 0){
++$zeroCount;
$data['zeroCheck'] = $zeroCount===1 ? '1回目' : $zeroCount.'連続';
}
}
unset($data);

422 名前:  (ブーイモ MMed-p+6f) [2017/07/03(月) 12:23:07.80 ID:B+GGE7aBM.net]
>>412
すいません、レス遅くなりました。
試してみます、ありがとうございます!

423 名前:  (ブーイモ MMed-p+6f) [2017/07/03(月) 12:35:32.09 ID:B+GGE7aBM.net]
>>412
おぉ、まさに望んでいた処理ができました!
ありがとうございます!

424 名前:デフォルトの名無しさん (ワッチョイ 6d6c-vtNh) mailto:sage [2017/07/03(月) 19:17:40.49 ID:JHZQFGt10.net]
質問失礼します。
WebSocket サーバーを php で作成したのですが、Linux のコマンドラインから実行するとフリーズします(当たり前ですが)
php hogehoge.php(エンター押したらフリーズ)
フリーズしないようにするにはどう書けば良いのでしょうか?
分かる方、よろしくお願いします。

425 名前:デフォルトの名無しさん (オイコラミネオ MMd6-OatX) mailto:sage [2017/07/03(月) 21:32:52.53 ID:gkI5GTRGM.net]
最後に&付けてバックグラウンドにするとが、
デーモン化するとかじゃないの?

426 名前:デフォルトの名無しさん (オイコラミネオ MMd6-OatX) mailto:sage [2017/07/03(月) 21:46:40.38 ID:gkI5GTRGM.net]
screenとかtmuxとか使える環境にした方がいいかもね

427 名前:デフォルトの名無しさん (ブーイモ MMb6-tH5o) mailto:sage [2017/07/04(火) 13:26:39.98 ID:7V16igb5M.net]
>>415
それフリーズちゃうw
そんなんでソケット通信やって大丈夫なの?

428 名前:デフォルトの名無しさん (ワッチョイ 6d6c-vtNh) mailto:sage [2017/07/04(火) 13:27:40.09 ID:1MjQBQYF0.net]
最後に&を付ける事で解決しました。
このやり方は知りませんでした。
ありがとうございます。

429 名前:415 (ワッチョイ 6d6c-vtNh) mailto:sage [2017/07/04(火) 13:31:25.48 ID:1MjQBQYF0.net]
>>418
なんて呼んだら良いか分からないです。
正式名称はなんて言うのですか?

430 名前:デフォルトの名無しさん (ブーイモ MMb6-tH5o) mailto:sage [2017/07/04(火) 13:37:48.03 ID:7V16igb5M.net]
>>420
実行中?w



431 名前:デフォルトの名無しさん (ワッチョイ 6d6c-OatX) mailto:sage [2017/07/04(火) 14:10:34.27 ID:Ij02Usie0.net]
処理をバックグラウンドに回してるだけだから、
最後はちゃんとフォアグラウンドに戻して終了するとか、
PIDみてkillするとかしないとダメだからな

432 名前:デフォルトの名無しさん (JP 0H16-CicO) mailto:sage [2017/07/04(火) 15:05:16.21 ID:jjyWg722H.net]
>>422
SIGHUPで自動的に終了する場合もあるけどね

433 名前:デフォルトの名無しさん (アウアウカー Sae9-HpRm) mailto:sage [2017/07/04(火) 16:29:15.13 ID:vUvZYSdca.net]
フォアグラウンドで待受してる状態をフリーズと呼んでたのか成程

434 名前:415 (ワッチョイ 6d6c-vtNh) mailto:sage [2017/07/04(火) 16:43:25.58 ID:1MjQBQYF0.net]
rcスクリプト書いて、
service hogehoged start
で起動するようにしました。

スクリプト内で
php hogehoge.php --pidfile=/var/run/hogehoge.pid &
という風に起動しています。

pidfile は hogehoge.php 内部で getmypid() を保存しています。

kill はそのrcスクリプト内で stop 命令の時にやっています。

案の定、起動直後に [ OK ] が表示されませんが、不都合は無さそうなのでとりあえずこれで良しとしています。

435 名前:デフォルトの名無しさん (ワッチョイ 6d6c-OatX) mailto:sage [2017/07/04(火) 16:55:30.44 ID:Ij02Usie0.net]
サーバーいじれる立場ならSupervisorとか使えば
PIDの管理とかいちいちしなくても簡単にできるよ

436 名前:デフォルトの名無しさん (JP 0H16-CicO) mailto:sage [2017/07/04(火) 17:01:51.07 ID:jjyWg722H.net]
>>425
そのやり方だと、ターミナル閉じたら終わっちゃう環境もあるよ

437 名前:415 (ワッチョイ 6d6c-vtNh) mailto:sage [2017/07/04(火) 17:32:02.24 ID:1MjQBQYF0.net]
>>426
ありがとうございます。
調べてみます。

>>427
マジですか。。。
ターミナル閉じて終わらないか確認しておきます。
幸いターミナルを起動するPCは1つだけなので、それで終わらなければ、、、
良い、、、ですよね、、、

438 名前:デフォルトの名無しさん (ワッチョイ 6d6c-OatX) mailto:sage [2017/07/04(火) 17:39:59.80 ID:Ij02Usie0.net]
>>428
tty 切り離し でぐくれば色々出てくるかと
落としたくないならちゃんとデーモン化しないとダメだね
Supervisorもそのためのものです
screenとか使って手抜きの方法もあるけど

439 名前:415 (ワッチョイ 6d6c-vtNh) mailto:sage [2017/07/04(火) 17:44:00.65 ID:1MjQBQYF0.net]
>>429
ありがとうございます。
Supervisorでデーモン化を頑張ってみます。
私鯖管じゃないんですけどね。
(なぜココまでやる必要があるのだろうか。。。これPHPerの仕事ですかね?)

440 名前:デフォルトの名無しさん (JP 0H16-CicO) mailto:sage [2017/07/04(火) 18:22:31.77 ID:jjyWg722H.net]
>>430
起動するコマンドラインを
nohup php hogehoge.php --pidfile=/var/run/hogehoge.pid &
とすれば大丈夫。

大抵のプロセスはHUPシグナルを受け取ると終了しちゃうんだけど、ターミナルを閉じるときに
バックグラウンドジョブにHUPシグナルを送るかどうかは、ログインシェルの設定による。
システムのデフォルトで送るか送らないかは決まってるけど、個々人で設定もできる。

詳しい話は、こことか参照。
「技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他)」
https://www.glamenv-septzen.net/view/854



441 名前:デフォルトの名無しさん (ドコグロ MMe1-rRjJ) mailto:sage [2017/07/05(水) 14:32:35.13 ID:54CdfmVIM.net]
この言語なんなん?
explodeとか命名センスが意味不明

442 名前:415 (ワッチョイ 6d6c-vtNh) mailto:sage [2017/07/05(水) 19:15:50.84 ID:3RASZjRP0.net]
>>431
ありがとうございます。
調べてみます。

443 名前:デフォルトの名無しさん (ワッチョイ ffb1-KuRC) mailto:sage [2017/07/07(金) 21:30:48.34 ID:gJwEGw/+0.net]
「implodeは配列を内部で破裂させてバラバラにする感じ」
↑わかる
「逆の処理も作ったし対義語のexplodeって名前にしたろ!」
↑アホなの?

444 名前:デフォルトの名無しさん (ワッチョイ 172b-rvkC) mailto:sage [2017/07/07(金) 22:38:42.30 ID:x02w4L3o0.net]
>>434
頭大丈夫?

445 名前:デフォルトの名無しさん (ワッチョイ 77c2-1B52) mailto:sage [2017/07/10(月) 13:42:32.90 ID:d1/L8Z5+0.net]
他言語だとsplitで正規表現も使えるのが多いわな

PHPの場合
perlの動作と同じ正規表現対応のsplit()もあったけど、5の途中から非推奨で7で削除
正規表現を使うならpreg_split()で使わないならexplode()
他言語でexplodeというのは、少なくとも俺は聞いた事がない

他言語を使う人なら、ここら辺がPHPのイケてないところというか「何か気持ち悪い」というのは分からなくもない

446 名前:デフォルトの名無しさん (アウアウカー Sa2b-L5XL) mailto:sage [2017/07/10(月) 14:08:35.69 ID:XWLrQ2QUa.net]
>>436
splitはバイナリセーフじゃないしPOSIX拡張正規表現相当じゃなかった?

447 名前:デフォルトの名無しさん (ワッチョイ 77c2-1B52) mailto:sage [2017/07/10(月) 14:57:50.74 ID:d1/L8Z5+0.net]
>>437
PHPのsplit()はそうだね(正規表現でいうとereg()系)
だから非推奨→削除となった

448 名前:デフォルトの名無しさん (スプッッ Sd3f-AoV0) [2017/07/10(月) 17:26:55.18 ID:L6zA5hfHd.net]
cakephpを入れました。
php -i grep intl ってやるとずらずら出てくるのですがこれってなんですか?
phpのバージョンは7.0です。
grep.phpを実行してるってことですか?

449 名前:デフォルトの名無しさん (スプッッ Sd3f-AoV0) [2017/07/10(月) 17:30:53.25 ID:L6zA5hfHd.net]
php -r 'phpinfo();'て書いた時とおんなじ文字が流れてきます。
intlってなんなんだ

450 名前:デフォルトの名無しさん (スプッッ Sd3f-AoV0) [2017/07/10(月) 17:32:40.21 ID:L6zA5hfHd.net]
どういうことかわかりました。
php -iでphpinfo()の中身が出るんですね。ほげー



451 名前:デフォルトの名無しさん (オイコラミネオ MM4f-cxsd) mailto:sage [2017/07/10(月) 22:06:55.26 ID:aPcSY6kVM.net]
grepは便利だから覚えとくといいよ

452 名前:デフォルトの名無しさん (ワッチョイ f72d-rE3N) mailto:sage [2017/07/10(月) 22:11:41.31 ID:eOXntHhA0.net]
g/re/p

453 名前:デフォルトの名無しさん (ワッチョイ f791-KuRC) [2017/07/11(火) 10:58:05.61 ID:9WLXDmTn0.net]
お願いします。

以前、どこかのスレで、
「xamppを使ってPHPの開発してるなんて素人だけ。プロは使わない」
というレスを見ました。

xamppの何がいけないんでしょうか?
xamppでは開発できないことってあるんですか?

454 名前:デフォルトの名無しさん (ワッチョイ f76c-cxsd) mailto:sage [2017/07/11(火) 11:43:10.26 ID:oWge628W0.net]
自分が使いやすいのを使えば良い
いちいち人の意見に流されるな

ただ、XAMPPの環境はかなり独自だから、使い方をを誤ると失敗することもある
ある程度の人数で共同開発する場合は、環境の差異をできるだけ少なくすることが大事で、
そういう意味ではXAMPPが向かないのも事実
Dockerとか使えて色々な環境に合わせられる人の方が重宝されると思う

455 名前:デフォルトの名無しさん (ワッチョイ 77c2-1B52) mailto:sage [2017/07/11(火) 11:43:40.90 ID:/I8grlwO0.net]
どこのプロかは知らないけど普通にxampp+PhpStormで開発してるし
たぶんそこらのプロよりは今まで稼いできたと思う

「何で」作るかなんかどうでもいいんだよ
大事なのは「何を」作るか
そこんところ勘違いしてる自己満が多すぎるのがこの世界

456 名前:デフォルトの名無しさん (ワッチョイ d7e3-A4lm) [2017/07/11(火) 11:53:22.03 ID:1hL73PK30.net]
素人でもプロでもXAMPPは使う価値は低いだろ。
PHP自体、単体動作するし、HTMLサーバーが必要なら実運用と同環境にすればいいし。

457 名前:デフォルトの名無しさん (ワッチョイ d7e3-A4lm) [2017/07/11(火) 12:01:38.00 ID:1hL73PK30.net]
大抵のエディタなら、編集中のPHPファイルを保存して
PHPへコマンドライン渡すのをボタン一つに割り当てられるし、
初心者がわざわざ手間のかかる、複雑なXAMPPを導入する必要はないかと。
出力をテキスト出力したければteeとかいうlinuxコマンドつかえばいい。

458 名前:デフォルトの名無しさん (JP 0H4f-rvkC) mailto:sage [2017/07/11(火) 13:25:40.02 ID:eDZ2eR9HH.net]
xamppを使ってると、いつまでたってもプロビジョニングのスキルが付かないという問題はある

459 名前:デフォルトの名無しさん (ワッチョイ 172b-rvkC) mailto:sage [2017/07/11(火) 14:14:23.17 ID:17VXZGZl0.net]
使うことを否定はしないけど, あえて使う理由は全くない, という認識だなぁ
初心者がXAMPP使うって言ったらPHPビルトインサーバじゃダメなの?って必ず聞く程度には

460 名前:デフォルトの名無しさん (ワッチョイ fc6c-Xm5V) mailto:sage [2017/07/14(金) 18:54:08.74 ID:JfSdowtd0.net]
phpにdefineを書いて、そのphpをrequireで読み込むのと、
DBからselectして読み込むのと、どちらが早いのでしょうか?
環境はphp7.0です。



461 名前:デフォルトの名無しさん (アウアウカー Sa11-keXt) mailto:sage [2017/07/14(金) 18:56:12.40 ID:jnI4lmfma.net]
後者が速い道理がないと思うが

462 名前:デフォルトの名無しさん (ワッチョイ aef3-sRAo) mailto:sage [2017/07/14(金) 19:11:27.17 ID:HO8OiFgU0.net]
ちょとしたマスターはphpで配列で記述するな。いちいちデータベースにテーブル作るのが面倒臭いし

463 名前:デフォルトの名無しさん (ワッチョイ 0f2c-oLxb) [2017/07/17(月) 14:15:03.61 ID:skPTPWAp0.net]
[NEET@]$ sudo pecl upgrade --force
pear.php.net is using a unsupported protocol - This should never happen.

PEAR Version: 1.10.1
PHP Version: 7.0.18-0ubuntu0.16.04.1
Zend Engine Version: 3.0.0


bosukete

464 名前:デフォルトの名無しさん (ワッチョイ e168-S4qQ) mailto:sage [2017/07/17(月) 22:44:40.32 ID:JiDb02xz0.net]
(*´ω`*)敗北獣クヤシタン達が使う単語は「キチガイ」
(*´ω`*)むぅは基地外基地外連呼されている未来が見えるむぅ
(*´ω`*)語彙力に乏しいチンパン達むぅ
(*´ω`*)予想できてしまうむぅ

465 名前:デフォルトの名無しさん (ワッチョイ e168-S4qQ) mailto:sage [2017/07/17(月) 22:46:08.35 ID:JiDb02xz0.net]
(*´ω`*)だだだだだだれもむぅの相手してねーし!俺は放置してたし!
(*´ω`*)これも簡単に予測できてしまうむぅ
(*´ω`*)悲しいまでにむぅの予測の範囲内の行動と言動むぅ
(*´ω`*)いつまでもむぅには勝てないむぅ

466 名前:デフォルトの名無しさん (スプッッ Sd9e-6y5b) [2017/07/18(火) 01:48:33.36 ID:C9WrI85dd.net]
>>456
tasukete

467 名前:デフォルトの名無しさん (ワッチョイ a72e-wRDQ) [2017/07/19(水) 10:50:46.59 ID:/cP3Nfpt0.net]
OPCache Control Panelで項目値を見ると、

Num Cached Scripts、Num Cached Keys、Misses
これらが全部1,000越えで同じ数値です。
これはMissesということは悪いことなんですよね?

これはどの項目を調整するのでしょうか?

468 名前:デフォルトの名無しさん (ワッチョイ a72c-sZOJ) [2017/07/20(木) 18:55:16.33.net]
Downloader.php kara error message otteru

bosukete;;

469 名前:  (ワッチョイ a7db-HOSA) [2017/07/21(金) 12:38:52.89.net]
>>459
syoboiyo, masarusan

470 名前:デフォルトの名無しさん (ワッチョイ a72c-sZOJ) [2017/07/21(金) 15:55:04.27 ID:A3+KSiPv0.net]
犯人をついに突き止めたお。やっぴょんやっぴょん



471 名前:デフォルトの名無しさん (ワッチョイ a72c-sZOJ) [2017/07/21(金) 16:58:17.71 ID:A3+KSiPv0.net]
バージョン1個違うだけで変なエラー起きるとか怖すぎる
しかもグーグルにも載って中田

472 名前:デフォルトの名無しさん (ワッチョイ 673a-QK4i) [2017/07/24(月) 09:41:11.23 ID:ec5+WQ9L0.net]
じゃ、グーグルに載せといて

473 名前:デフォルトの名無しさん (スプッッ Sddb-twOH) [2017/07/24(月) 12:15:14.49 ID:L9kPqg7Vd.net]
xmlの読み込みモジュールとchannel見比べてるとわかるお

474 名前:デフォルトの名無しさん (ワッチョイ a72c-sZOJ) [2017/07/24(月) 13:59:06.94 ID:12EOQT380.net]
まぁ困ってない奴にはどうでもいいエラーだし変にスレで騒いですまんかったお
rom

475 名前:デフォルトの名無しさん (ワッチョイ 2768-QK4i) mailto:sage [2017/07/25(火) 20:58:38.97 ID:kCK3fogD0.net]
(*´ω`*)今月からお給料が上がって幸せむぅ
(*´ω`*)>>1000なら母港拡張に書類一式を購入してを由良改二に渡して幸せにするむぅ

476 名前:  (ワッチョイ 7bdb-dA36) [2017/07/27(木) 19:35:33.46 ID:Csut7k2B0.net]
教えてください。
以下のような多次元配列で、
[result]-[name]のWIN値をカウントしたい
(もしくはこのKeyに入ってる値それぞれカウント)のですが、
いい方法ありますでしょうか。

array_count_valuesかなと思いましたが、
多次元だとKeyの指定がよくわからず詰まっています。
よろしくお願いします。

Array(
[0] => Array(
[time] => 1500819445
[num] => 148
[result] => Array(
[hoge] => PERFECT
[name] => WIN
)
)
[1] => Array(

)

477 名前:デフォルトの名無しさん (アウアウカー Safb-DM25) mailto:sage [2017/07/27(木) 20:05:23.44 ID:sZy4zkwKa.net]
>>467
いまいち何がしたいのかわからんけど、array[i]['result']['name']に'WIN'という文字列が入っている要素の個数を知りたいってこと?

478 名前:  (ワッチョイ 7bdb-dA36) [2017/07/27(木) 20:24:38.68 ID:Csut7k2B0.net]
>>468
そうですね、要は勝利(敗北)数と勝率を出したいです。

479 名前:デフォルトの名無しさん (ワッチョイ bef3-V1Wy) mailto:sage [2017/07/27(木) 21:08:37.22 ID:XkpzjwEU0.net]
https://ideone.com/9oaknU
自分ならこんな感じにするでえ

480 名前:デフォルトの名無しさん (ワッチョイ bef3-V1Wy) mailto:sage [2017/07/27(木) 21:13:57.44 ID:XkpzjwEU0.net]
ERRORになった部分は除外したけど無効試合とするのもありやな



481 名前:  (ワッチョイ 7bdb-dA36) [2017/07/28(金) 11:38:43.28 ID:QA+Om+Ws0.net]
>>470
おお、勉強になります。
自分の方でも調べましたが、
array_count_values自体は指定したキーを
再帰的になめてカウントしてくれるような機能じゃないみたいですね…勘違いしてました。

やはり配列ループの中で条件判定が良さそうですね。
ご教授のコードは汎用性が高そうなので、
検証してベースにしてみます。

ありがとうございました!

482 名前:デフォルトの名無しさん mailto:sage [2017/08/04(金) 04:22:27.98 ID:ZjmB654k0.net]
質問です
jcode.phpを使っているRSSリーダーが突然読み込まなくなりました
まさかとは思いますが、配布元のwww.spencernetwork.org/が死んでると使えないのでしょうか?

483 名前:デフォルトの名無しさん mailto:sage [2017/08/04(金) 13:33:36.78 ID:xSyituw+M.net]
ソースコード読んで怪しいところ探してみなよ

484 名前:デフォルトの名無しさん mailto:sage [2017/08/04(金) 20:43:08.37 ID:PWtrz3SN0.net]
質問です。

特定のアドレスに届いたメールを転送するさい、MLのように転送するスクリプトを書いています。

配信されるユーザのメアド: A
MLのメアド: B

実際に配信されるメールの中を

To: B

としたいのですが、テストをしてみると

To: A, B

となってしまいます。解決策はありますでしょうか?

以下、コードです。

$headers .= "To: " . $B . "\n";
$headers .= "Reply-To: " . $B . "\n";
mail($A, $subject, $body, $headers);

485 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 20:55:24.38 ID:pAntvA3G0.net]
>>475
初心者の俺にソースコード全部見せてみな

486 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 00:02:22.23 ID:VfqLhNcf0.net]
SMTPレイヤでRCPT TOヘッダで宛先指定すればよい
が, そもそもmail関数, というかバックエンドのsendmailコマンドでSMTPレイヤの操作って出来るのか?
リレーが設定されてなければ単にメールヘッダのToをSMTPのRCPT TOヘッダにコピーしているだけじゃなかろうか

まぁfsocketとかでSMTPサーバと会話すればいけるんじゃなかろうか

487 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 00:30:25.23 ID:ukk4ErN50.net]
>>475
$header に "To〜"を入れずに、
mail($B,〜ってやってみたら?

488 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 19:53:21.78 ID:LQiYfoLSp.net]
教えてください

入力フォーム→確認画面→完了画面、という流れがあったとき、
それぞれの画面をそれぞれ1ファイルで作るのは普通なんでしょうか。

たとえば、
input.php、chech.php、kanryo.php みたいな。
間に、修正画面 edit.phpが入ったりします。

自分のイメージだと、同一ファイル内(たとえばform.php)でPOSTとかsubmitされてきたフラグか何かで画面切り替えるように作るのがいいと思っているのですが、
ファイルを分ける方が一般的なのでしょうか。

489 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 20:01:27.03 ID:VfqLhNcf0.net]
フレームワーク使ってるならリクエストの振り分けはrouterの仕事
PHP側をREST APIとかにしてしまうならUI側はJavaScriptの管轄
全部スクラッチからやるなら好きにすればよい

490 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 20:38:23.52 ID:LT6YffV+0.net]
何が普通かは色々だが、
一つのソースで全部こなしたいなら
フォームにhiddenで現在のステップを埋め込み
その値をみてphp側の表示や処理を切り替えれば



491 名前:デフォルトの名無しさん [2017/08/11(金) 16:26:25.43 ID:cXbjkXwe0.net]
>>480-481
どっちも質問の答えになってないw
質問に答えず、自分のいいたいことばっか言ってる。
こういうのがマの悪いとこだね。

492 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 18:05:30.47 ID:IvoVUaP30.net]
まずは好きに作ってみろ
答えなどないのだから
余裕ができたら他人のプログラム見ると

493 名前:かしてみればいい []
[ここ壊れてます]

494 名前:デフォルトの名無しさん [2017/08/11(金) 18:22:23.78 ID:cXbjkXwe0.net]
>>483
だからそれは質問の答えじゃない。
てか、なんでそんなに上から目線なの?

495 名前:デフォルトの名無しさん mailto:sage [2017/08/11(金) 18:46:14.61 ID:KjR7l4H4M.net]
>>483
じゃ、お前が答えろよ
一番偉そうにしてるのもお前だし
お前みたいな口だけ番長が一番たちが悪い

496 名前:デフォルトの名無しさん [2017/08/11(金) 19:57:59.57 ID:cXbjkXwe0.net]
ネット弁慶多すぎw
なんですぐ「〜しろ」と偉そうな口調になるんだろう。
もういいや、俺が答えちゃおう。

はっきり言うと、どちらが一般的かはわからない。
すべての開発者にアンケート取って聞いたわけでもないし、
世界中に転がってる入力フォームのソース調べて集計とったわけでもないから。
でも、どちらがより合理的かといえば、1ファイルで完結させる方。
たぶん質問者はフレームワークを使わずオブジェクト指向で書いてもいないみたいなので、
1ファイル完結の方が手間は少ないはず。
画面部分にしてもロジック部分にしても同じようなこと何度もやることになる。
だから、単純なphpで書く場合、ファイルわけちゃうと面倒なんだよね。
でもまあ、こんなこと考えるくらいならフレームワーク使った方が早いよ。
無駄なこと考えなくてよくなる。

497 名前:デフォルトの名無しさん mailto:sage [2017/08/12(土) 11:35:16.93 ID:A4v2+zpKH.net]
>>486
フレームワーク使う/使わないと、1ページで完結させる/させないは別問題

498 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 11:49:31.99 ID:7mRWDzm30.net]
>>487
別問題だからこそ、余分なこと考えなくてよくなるんだよ。

499 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 12:42:20.05 ID:8bOINrWDH.net]
>>488
> 別問題だからこそ、余分なこと考えなくてよくなるんだよ。
別問題だから、フレームワークを使う場合でも使わない場合でも、1ページで完結させるかどうかは
考えないといけないということ

500 名前:デフォルトの名無しさん [2017/08/13(日) 13:24:12.29 ID:7mRWDzm30.net]
>>489
ちゃうちゃうw
そもそもなぜこんな質問が出たのかといえば、controllerとviewが分離できていないからでしょ。
さらにいえば、controllerとbusiness logicが分離できていないから。
そのへんがちゃんと出来ていれば、1ページ(1controller、1class、1function・・・)完結でも
そうでなくてもたいした問題じゃなくてなる。
そういう分離はフレームワークの基本設計の範囲に含まれるから、
何も考えなくても自然とできるようになるよ。

てかさ、元々の質問は「一般的かどうか」でしょ。
なぜ俺以外答えてやらないんだよ。
わからないならわからないでもいいじゃん。
それなのに偉そうに講釈たれるのはホントみっともない。
社会的にプログラマーの地位が低いのはそういうとこに原因がある。



501 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 13:32:39.79 ID:8bOINrWDH.net]
>>490
> そもそもなぜこんな質問が出たのかといえば、controllerとviewが分離できていないからでしょ。
controllerとviewが分離できているかどうかと、1ページで完結させるかどうかは別問題

> それなのに偉そうに講釈たれるのはホントみっともない。
関係ないこと垂れ流してるという自覚はないんですかね

502 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 13:39:51.33 ID:8bOINrWDH.net]
まあどうしても一般的かどうかを知りたいということであれば、

> 入力フォーム→確認画面→完了画面、という流れがあったとき、
> それぞれの画面をそれぞれ1ファイルで作るのは普通なんでしょうか。
は、もはや一般的ではないでしょうね。

さらに言えば、確認画面を挟むというやり方も古いと思うよ。
ユーザーは確認画面で確認なんかめったにしない。邪魔に思う人が大半。

503 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 13:46:06.21 ID:8bOINrWDH.net]
こんな感じでやればいいと思うよ。

・GET form.phpで入力ページ表示
・form.phpのsubmit先は自分自身
・入力内容をチェックしてエラーがあるなら、それも含めてまたform.phpを表示
・エラーがないなら、確認画面や完了画面にリダイレクト

504 名前:デフォルトの名無しさん [2017/08/13(日) 14:22:04.36 ID:7mRWDzm30.net]
こういう過剰反応もアレだよなw
こんなんじゃ実際の仕事でも苦労しそうだね。

505 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 14:40:52.47 ID:8bOINrWDH.net]
>>480-481で十分なのに、自分の承認欲求を抑えられないお子様よりはましだと思うよ

506 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 17:10:21.18 ID:YepLcy2FM.net]
479

507 名前:の質問
1ファイルで作るのは一般的か?

どう作ればいいか聞いてない
読解力の問題ですね
[]
[ここ壊れてます]

508 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 17:20:01.06 ID:dm/KZ1el0.net]
A. ケースバイケースです
とか
A. 設計に依ります
とか, そんな回答求められてないと思うんだけど, 最終的には質問者が判断することでしょ
内容に明らかな誤りがあるとかなら分かるけどわざわざ突っかかる必要あったかね

509 名前:デフォルトの名無しさん mailto:sage [2017/08/13(日) 17:20:34.33 ID:8bOINrWDH.net]
>>483が正しいかな

最近あちこちのスレで上から目線がどうのとか言ってる奴見かけるけど、同一人物か?

510 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 13:36:52.44 ID:Eyk6c/J70.net]
echoそのものにhtmlspecialcharsを仕込むことって可能ですか?
HTML側の出力を常に<?=$hoge?>にしたいです
今はエイリアスのh関数を作って<?=h($hoge)?>で出力しています



511 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 13:41:30.93 ID:KruMS+wFH.net]
>>499
> echoそのものにhtmlspecialcharsを仕込むことって可能ですか?
できません

512 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 13:49:34.80 ID:e6Asz/TwM.net]
>>500
了解す
あざした

513 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 21:05:28.15 ID:qHWC5mXrM.net]
フレームワークとかテンプレートエンジンとか使わんのは理由あるのかな?

514 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 09:05:09.59 ID:FeXVI5vr0.net]
PHP7.1を使っています。

$_SERVER['REQUEST_TIME_FLOAT']をvar_dumpしてみたところ
float(1503359895.526)
のように表示されました。
PHPマニュアルにはマイクロ秒単位でタイムスタンプを取得できるように
書いてありますが、これってミリ秒単位ですよね?
どういうことでしょうか。

515 名前:503 mailto:sage [2017/08/22(火) 10:27:34.58 ID:FeXVI5vr0.net]
なんとなく自己解釈すると、マイクロ秒単位まで出せる可能性があるけど
環境によっては精度が落ちるってことなんですかね…。
そう納得することにしました。

516 名前:503 mailto:sage [2017/08/22(火) 10:37:25.65 ID:FeXVI5vr0.net]
いや、まてよ、float型の有効桁数の問題かな?

517 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 10:38:14.89 ID:+Na4Vgs50.net]
>>504
自分も初心者なのでさっぱりんこだけど、paiza.ioとかcodechefのようなオンライン実行環境だと100マイクロ秒(小数点4位)までは出力されてるから、そういう事なんかなと

518 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 11:04:05.27 ID:FeXVI5vr0.net]
>>506
貴重な情報ありがとうございます。

microtime関数の場合だと、
microtime(false)で実行すると
"0.31535500 1503365783"のように小数部と整数部を分離した文字列が返るので
マイクロ秒の精度が得られますが
microtime(true)でfloat型の返り値を得ると
1503365783.3154のように精度が落ちますね

有効桁数の問題なんでしょうかね。このへんあやふやなんですが…。

519 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 12:24:32.06 ID:JvbUbNw40.net]
floatというか倍精度での有効桁数は十進数で16桁未満ですしおすし

520 名前:503 mailto:sage [2017/08/22(火) 12:36:42.11 ID:FeXVI5vr0.net]
Unixタイムスタンプによる表現だと、整数部がでかくなればなるほど
つまり時代が進めば進むほど、小数部の精度が悪くなるってことですかね。
昔は精度高かったのかな。



521 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 13:19:56.03 ID:BcNwm5wtH.net]
そもそも100nsの桁ですら、正しいかどうかあやしいんでないの?

522 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 13:21:31.58 ID:BcNwm5wtH.net]
というか、1us以上の部分も正しいかどうか怪しいかもね

523 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 13:23:20.25 ID:JvbUbNw40.net]
浮動小数を使うのがそもそもまともではない

で, 日本語版の訳が誤りであるというのが妥当で, 英語版では,

> If get_as_float is set to TRUE, then microtime() returns a float, which represents the current time in seconds since the Unix epoch accurate to the nearest microsecond.

とあるから, マイクロ秒単位で精度が出るとは書いてない, floatの精度内で現在のマイクロ秒時刻に最も近い値を返すと読める

524 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 19:47:15.02 ID:j9x479W/a.net]
ファイルアップロード時の上限チェックについて質問させてください

ページAでファイルをアップロードして、「次へ進む」ボタンでページBに遷移させています
このとき、アップロードしたファイルのサイズが5MB以上ならエラーメッセージを表示させ、ページBに進めないようにしたいです
今はページBに進んでから$_FILESを使い上限チェックし、超過していたらメッセージを表示しています
何かいい方法はありますか?

525 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 20:01:31.47 ID:DD2Z1rs5a.net]
>>513
クライアントサイドでやればよい
勿論B側のチェック処理は省略出来ない

526 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 14:06:56.01 ID:uLyJ+EYn0.net]
指定したサイトのサイトマップを取得したいのだが
何かいい方法はないだろうか?

単純にトップページURLの後に「/sitemap.xml」や「/sitemaps.xml」と付けるだけでは
拾えないサイトが多い

527 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 15:19:10.69 ID:iFIz/3ujM.net]
任意のサイトってこと?
だったら、サイトマップに厳格なルールなんかないし無理だろ

528 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 16:12:18.84 ID:uLyJ+EYn0.net]
やっぱり無理か…

あと思いつくのは
リンク辿ってサイトマップをつくるかくらいか

529 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 17:12:28.30 ID:ZFc7oTWj0.net]
>>517
まぁ
sitemap.xml
robots.txt
辺りは見てそこでサイトマップに関する記述があればそれを拾うというのは
「まず最低限やるべきこと」ではあるだろうな

この質問をする人がそもそもサイトマップの定義を理解しているのかという点は甚だ疑問ではあるけど

530 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 17:33:26.33 ID:uLyJ+EYn0.net]
サイトマップの定義は全然知らない

サイトマップを取得と言うよりそこに書かれているURLが欲しかった



531 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 18:08:01.30 ID:ZFc7oTWj0.net]
> サイトマップの定義は全然知らない
だろうね
特定ドメイン以下のファイルパスを全部取得したいって事じゃない?

であれば
サイトマップを使うのももちろん手ではあるけど
例えばGoogleでsite:URLで検索した結果を使うとか
他の賢い人が作った賢い機能をありがたく流用させてもらって
自分の作りたいものを作るという考え方「も」ある

リンクを辿ってURLを拾うのも
超簡単なものならPHPだと10数行ぐらいあれば書けるけど
再帰的な処理になるからサーバー側に与える負荷とかが
分かってないなら(というか分かってなさそうなので)自分ではやらない方がいい

532 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 18:46:21.93 ID:iroQ6hXm0.net]
>超簡単なものならPHPだと10数行ぐらいあれば書ける
横入り申し訳ない
再帰というのを丁度勉強してるところなのでどんな風に書けるのか教えてもらえないだろうか

533 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 18:57:26.81 ID:ZFc7oTWj0.net]
function fetchUrlList($url)
{
  static $urlList = array();

  if (isset($urlList[$url])) { return $urlList; }
  $html = file_get_contents($url);
  $urlList[$url] = '';

  if (preg_match_all('/=\s*[\'\"]\s*(https?\:\/\/' . parse_url($url, PHP_URL_HOST) . '[\w\-\.\!~\*\'\(\);\/\?\:@&\=\+\$,%]+\.html?)\s*[\'\"]/i', $html, $matchs)) {
    foreach ($matchs[1] as $match) {
      if (!isset($urlList[$match])) {
        fetchUrlList($match);
      }
    }
  }

  return $urlList;
}

5分程で超適当に書いてほとんど検証してない糞ソースでも良ければ
再帰は12行目のところね

2chの仕様上仕方なくインデントを全角空白にしてるから注意(他へソースを載せるのすら面倒w)
一度取得したURLを再取得しない程度で負荷には全く配慮してないので自己責任で
処理の流れさえ分かれば良いと思ったから、正規表現(超適当だからこれも直してw)の部分見れば分かる通り
相対パスは無視して末尾.htmか.htmlしか取ってない
相対パスまで処理する時は正規表現書き換えて相対パスをURLに変換する処理を自分で書いて

ソースより↑の説明書く方が時間かかったかもw

534 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 19:04:23.13 ID:iroQ6hXm0.net]
ありがとうございます
ほえーこの短時間ですごい
10数行ぐらいって言って本当に18行で書けてるのってもうレスを書きながら頭の中でソースができてるのかな。。。
正規表現をまだ勉強してないのでそこも勉強します

535 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 19:23:50.69 ID:ZFc7oTWj0.net]
>>523
> 10数行ぐらいって言って本当に18行で書けてるのってもうレスを書きながら頭の中でソースができてるのかな。。。
この程度の「流れだけ」なら脳内で一瞬でできるけど行数は感覚で超適当に書いただけ
実際、最初書いたソースは20行超えたのでちょっと無理やり18行にしただけw
自転車に乗るのと同じで慣れよ慣れ
たくさん書いてたら自然とできるようになる

繰り返すけど流れ「だけ」が分かればと適当に書いたものだから
悪しからず

536 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 19:24:12.20 ID:JR0zQXPDa.net]
ふむふむ、$urlListは引数で渡すよりstaticの方がいいのかな?
連想配列にしてるのはin_arrayよりissetの方がハッシュで早く判定出来るから?

537 名前:デフォルトの名無しさん mailto:sage [2017/08/23(水) 19:47:50.10 ID:ZFc7oTWj0.net]
再帰はstatic使うと楽と他言語の経験で脳死判断しただけで深くは考えてない
連想配列でisset()にしてるのはただそう書く方がタイプ数が少なくて楽だと思っただけ
すまん
ほんと何も深いことは考えてない
もう今日はたぶんこのスレみないのでおかしなところがあったら自由になおしておいて

538 名前:デフォルトの名無しさん [2017/08/24(木) 17:55:55.75 ID:j3LgFviI0.net]
cron使えない、サーバーに実行時間制限がある、アクセス毎の処理じゃダメって前提で定時処理する方法教えてくらはい
この三つを使えるなら余裕なんだけど…

539 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 18:29:02.16 ID:CR+/HOHSH.net]
>>527
cron使えるサーバからキックすればいいじゃん

540 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 19:01:00.75 ID:KQlNvtYs0.net]
webなら<img>や<iframe>で埋め込んでおいて
クライアントからの呼び出し時に
前回の実行から一定時間が空いてる時だけ実行とか
指定時間内に1回だけ実行みたいなやり方
(アクセスが無いならそもそも処理しなくていいだろうという考え方)
で擬似的にcronっぽい事はできなくもないが…

そう単純な話でもなさそうかな
>>528が普通だと思うよ



541 名前:デフォルトの名無しさん [2017/08/24(木) 19:23:49.66 ID:j3LgFviI0.net]
>>528
なるほど、じゃあ1サーバーでってのも条件になっちゃうな…無理か…仕様変えてもらうかサーバー変えるしかないか

>>529
その方式は簡単だし言ってることも尤もなんだけど一度の処理に5分は掛かるからアクセスより先に処理しておきたくて

もう少し考えてみる、ありがとう!

542 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 20:07:11.66 ID:BbHHCYzKa.net]
久しぶりにこの板来たけど
haskellのスレがpart30なのに、php質問スレがまだ8って
php勢いなさすぎ・・?

543 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 21:56:12.99 ID:/TMksNVg0.net]
自分もPHPの質疑応答など、PHPの議論が活発な掲示板を
探してはいるけど見つからないね
2chでこれだもんなぁ
ペチパーは多いはずなんだけど…
もっともみんな顔だそうよ

544 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 22:30:51.11 ID:kOThvMF20.net]
PHPスレの歴史

* 2004/11/02 WebProg板に 【PHP】くだらねぇ質問はここに書き込みやがれ が立つ
* 2008/09/20 73スレ目でID表示派/非表示派で分裂
* 【PHP】下らねぇ質問はID出して書き込みやがれ 74 と 【PHP】ID出さなくても質問OKなスレ【初心者歓迎】 に分かれる
* 2009/01/29 ID無し質問スレが1スレで終了, くだすれPHP(超初心者用) 5 に合流する
* 2014/10/28 ID表示質問スレは138スレまで継続する
* 2014/12/22 強制ID表示を求めム板に移動
* この際スレタイとスレ番がリセットされ 【PHP】下らねぇ質問はここに書き込みやがれ になる
* 2016/04/22 ム板の 【PHP】下らねぇ質問はここに書き込みやがれ 4 から分岐し, WebProg板に PHP質問・雑談スレ4【初心者お断り(ROM歓迎)】 が立つ
* 2016/05/11 5スレ目が重複し後に立てられた方でワッチョイが導入される
* 2016/08/02 6スレ目が終了し上記の重複した5スレ目が再利用される
* 2016/11/09 7スレ目から現在に至るまでワッチョイが慣例化

545 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 23:13:17.10 ID:iioA6atj0.net]
俺毎日来てるで

546 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 00:52:13.63 ID:6HHnDZTR0.net]
WebProg板には無いここの良さって気楽なところ?

547 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 02:34:54.73 ID:ioV3o5pi0.net]
質問がないからみんなダンマリしてるだけよ

548 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 07:22:00.66 ID:/FbaV4v20.net]
なんどarray_filterとarray_mapで引数の順番逆なのん?

549 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 13:51:54.08 ID:9UHaUDqjM.net]
そんなんゴロゴロあるだろ、PHPは

550 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 14:23:12.64 ID:wjqW6pO20.net]
>>532
「議論」ではないが「質疑応答」なら
アホー知恵遅れの方が2chなんかより余程活発
かなり前からね

>>533が詳しく書いてくれてるが
このスレには色々と過去があって
人の揚げ足取りたいだけの暇人も多いからなぁ

俺がもし初心者だったら知恵遅れの方で聞くわw



551 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 14:28:31.37 ID:wjqW6pO20.net]
>>537
implode()みたいに
引数の順番はどっちでも良いよ
なんてものまであるw

PHPの組み込み関数の命名規則や引数の順番の統一性の無さは
PHPがダメだと言われる理由の1つだろうね
そんなもんだと諦めてくださいw

552 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 21:25:05.81 ID:6HHnDZTR0.net]
今はIDEの保管機能とかカンニング機能が進化してるからあんまり気にならないけどなぁ

553 名前:デフォルトの名無しさん mailto:sage [2017/08/25(金) 22:50:28.06 ID:WV+v2bcZ0.net]
>>540
流石にimplodeみたいなのはアレひとつきりじゃなかったっけ・・・?

まぁ関数の命名についてはいろいろな言語から引っ張ってきてるからな・・・
それがnullバイト攻撃みたいなのを引き起こしたりもしたわけだが

554 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 06:57:56.90 ID:HVjmWJTza.net]
そろそろ無名関数にラムダ記法を使わせてくださいお願いします
毎回functionとreturn書くのしんどいです

555 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 07:17:36.69 ID:pf1RytR80.net]
>>532
ペチパーって何?

556 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 09:21:36.48 ID:vbvtGdDa0.net]
>>543
記法がちょっと違ってて違和感半端ない方はrejectされてたなー
ttps://wiki.php.net/rfc/short_closures

ES6に合わせた記法の方はとりあえず複数行不可なものが提案されてはいる
ttps://wiki.php.net/rfc/arrow_functions

しかしPHPは => を別のsyntaxで採用してるからこれもrejectされそうな気がする

557 名前:デフォルトの名無しさん mailto:sage [2017/08/26(土) 20:13:37.28 ID:+C0w0kbf0.net]
>>544
phpマニュアルにさコアハッカーの手引きってあるじゃん?
今C言語勉強しながらそこ読んでるんだけど実務で役にたつかな?

558 名前:デフォルトの名無しさん mailto:sage [2017/08/27(日) 17:46:19.84 ID:Fxw5J8WBM.net]
>>546
だからペチパーってなんだよ?w

559 名前:デフォルトの名無しさん mailto:sage [2017/08/30(水) 11:04:02.45 ID:ewso/TS40.net]
ローカルで作業してるのだけど
外付けのHDDに保存してある画像を表示させることってできないだろうか?
直接表示させる事はできなくてもfile_get_contentsで読み込んでならできるような気がするが
これ以上はよく分からない
できるなら教えてください

560 名前:デフォルトの名無しさん mailto:sage [2017/08/30(水) 11:18:06.40 ID:KBT3c7j30.net]
表示ってのはいったいどういう意味で言ってるの?



561 名前:デフォルトの名無しさん mailto:sage [2017/08/30(水) 11:26:52.94 ID:ewso/TS40.net]
ブラウザに画像として表示させたいと思っている
file_get_contentsで文字化けした文字列みたいになるから
これを画像に戻せないかなと思った

562 名前:デフォルトの名無しさん mailto:sage [2017/08/30(水) 11:32:30.44 ID:KBT3c7j30.net]
> file_get_contentsで文字化けした文字列みたいになるから
の部分の意味が分からない(大抵の画像ファイルの中身とってきたらバイナリに決まってるだろ)が,

1. Base64エンコードしてHTML中に埋め込む
2. Content-typeヘッダを適切にセットしてfile_get_contentsでとってきたデータを単に出力

563 名前:デフォルトの名無しさん mailto:sage [2017/08/30(水) 11:36:19.64 ID:ViOUv0iA0.net]
ローカルでやっているなら、シェル経由でブラウザ起動できるんじゃない?

564 名前:デフォルトの名無しさん mailto:sage [2017/08/30(水) 11:41:49.52 ID:ewso/TS40.net]
>>551
ありがとうございます。
やってみます。

565 名前:デフォルトの名無しさん mailto:sage [2017/08/30(水) 12:10:57.76 ID:eIYoYTDf0.net]
>>550
header('Content-type: image/jpeg');
readfile('D:/hoge/fuge/hage.jpg');

readfile()は
echo file_get_contents()としても別にいい

ブラウザに画像を表示させたいだけなら
そもそもPHPを使う必要すらないわけで
HTMLファイルに
<img src="D:/hoge/fuge/hage.jpg">
じゃダメなのか?とも思ったり

566 名前:デフォルトの名無しさん mailto:sage [2017/08/30(水) 12:13:03.53 ID:eIYoYTDf0.net]
>>554訂正

×<img src="D:/hoge/fuge/hage.jpg">
○<img src="file:///D:/hoge/fuge/hage.jpg">

スレ汚しスマン

567 名前:デフォルトの名無しさん mailto:sage [2017/08/30(水) 12:25:02.08 ID:ewso/TS40.net]
できました。
ありがとうございます。

<?php
$img = base64_encode(file_get_contents('H:/picture/001.jpg'));
?>

<img src="data:image/jpeg;base64,<?php echo $img; ?>">

568 名前:デフォルトの名無しさん mailto:sage [2017/08/31(木) 07:23:43.15 ID:FdPQNQVJ0.net]
なんでスキームがfileのときってfile:///みたいにスラッシュ3つなんだっけ?

569 名前:デフォルトの名無しさん mailto:sage [2017/08/31(木) 09:39:47.81 ID:tLO8kr/O0.net]
自ホスト名は省略できるから

570 名前:557 mailto:sage [2017/08/31(木) 11:23:33.84 ID:FdPQNQVJ0.net]
なるほど、どうも



571 名前:デフォルトの名無しさん [2017/09/01(金) 03:36:29.30 ID:JBM8M4Dg0.net]
ログってどうやって吐くのがベター?

572 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 04:33:59.30 ID:l+TKOuiZ0.net]
テキストかDBかって話?

573 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 10:29:11.06 ID:oR+JyZza0.net]
>>560
そういう質問をする人は
素直に既存フレームワークを使うことをおすすめしとく

574 名前:デフォルトの名無しさん [2017/09/01(金) 14:05:00.30 ID:JBM8M4Dg0.net]
>>561
>>562
error_log関数がベターってこと?

575 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 14:12:47.10 ID:RTadbuNn0.net]
自分でフレームワークを作るな。
車輪の再発明はダメ

自分で作ると、テストなどで時間も掛かるし、品質も最悪となる。
セキュリティ修正も出来ない

フレームワークを使うべし

576 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 14:41:35.55 ID:oR+JyZza0.net]
ログといっても色々あるわけで
エラーログ、ログインログその他諸々etc
そのログのフォーマットにしたってテキスト or DBのどちらにするのかという根本的なところから
テキストならテキストでcsv、tsvその他諸々etc

目的も何も分からないのに
>>560の質問にまともに応えられる人なんていないから
>>562のような解答になる

真面目な解答がほしいなら相応の情報は出すこと

577 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 14:48:55.35 ID:74EhTRr60.net]
新人の教育係もやってるけど
慣れてくると質問の仕方だけでこの先やっていけるかどうか分かってくるね
だめな子は超能力者じゃないと答えられない聞き方をしてくる
できる子は下調べして自分はこう思うがどうですか?という聞き方をしてくる
逆の立場から物事を考えられないタイプは何やらしてもだめだなと思う今日この頃

578 名前:デフォルトの名無しさん mailto:sage [2017/09/01(金) 14:56:35.72 ID:oR+JyZza0.net]
>>566
その通りだとは思うけどここは「下らない質問」スレだし
別に質問は好きにすりゃいいよ

ただ、質問の仕方のレベルが低ければ
解答もそれ相応のものにしかならないよ
って事は分かって欲しい

答える方はそれこそ超能力者じゃないので
質問の仕方から手取り足取り教えてもらいたいなら
Yahoo知恵袋でもオススメしときますw

579 名前:デフォルトの名無しさん [2017/09/02(土) 12:31:23.10 ID:qzG0zbyB0.net]
初心者なんですが、仮想サーバーをたてるのにlocalhostを使いたいのですが表示されません。どなたか詳しくおしえてもらえないでしょうか?

580 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 12:47:34.54 ID:gvEt05T80.net]
仮想サーバのIPを調べてhostsで対応させればいいのでは



581 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 12:50:45.57 ID:C4sYfteN0.net]
意味が分からんなぁ…
>>567を読んでの質問だろうか?

あえて超能力で回答してみるけど、
仮想化したサーバーが立ってるとして、それはlocalhostじゃないんじゃないか?
仮想化ソフトのネットワーク設定次第だが、別のIPアドレス割り当てられてないか?
どうしてもlocalhostでアクセスしたいならポートフォワードの設定を入れろ

582 名前:デフォルトの名無しさん [2017/09/02(土) 13:25:01.99 ID:qzG0zbyB0.net]
>>570
返信ありがとうございます、どこをどう言えば伝わるのかよく分かってなくて、本を買って勉強してるのですが、XamppをDLして、apacheを起動させて、localhostを検索したら表示されるって書いてあったんです

583 名前:デフォルトの名無しさん [2017/09/02(土) 13:26:39.50 ID:qzG0zbyB0.net]
一応、プログラミングを教えてくれる先生に質問したのですが、ポートは関係ないんじゃといわれたのですが、見ないことにはどうにもと言われてしまいました

584 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 13:45:55.41 ID:5VeVx4oe0.net]
>>571
localhost/ にアクセスしてみたとかそういう話?
だとしたら完全に板違いなんだけど?

585 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 14:12:08.38 ID:qClwfsEs0.net]
自分のPCでapache動かしているなら、それは仮想サーバーではないと思うが

586 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 14:45:44.11 ID:cKo1r/zaM.net]
>>571
まず、XAMPPのことを仮想サーバーと書かれると質問がまったく意味をなさないことになる
最初からXAMPPと書いてほしい

で、XAMPPでApache立ち上げたら基本はlocalhostでアクセスできるはず
まずはXAMPPのコントロールパネルできちんとApacheが立ち上ってるか?
たしか緑色のランプみたいのがついてる状態になるばず
立ち上がってるなら、ポートの指定がどうなってるか?
80番なら localhost でアクセスできるが、
80番以外ならなら localhost:12345 みたいにアクセスしないとダメ

587 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 14:49:25.19 ID:cKo1r/zaM.net]
あとは localhost を 127.0.0.1 に変えてみるとか
これでアクセスできるなら hosts の設定を確認して、書き換えれば localhost でもアクセスできるようになる
書き換え方はぐぐれ

588 名前:デフォルトの名無しさん [2017/09/02(土) 15:07:27.71 ID:1ZUpnTUIM.net]
>>573〜576返信ありがとうございます、いわれた通りやってみたいと思います。板違いとの指摘もあり、ご迷惑おかけしました。

589 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 16:02:02.80 ID:qClwfsEs0.net]
XAMPPのスレってある事はあるが、
3年くらい誰も書いて無かったりだから
誘導も出来ないな

590 名前:デフォルトの名無しさん [2017/09/02(土) 20:20:44.62 ID:qzG0zbyB0.net]
>>575
無事にできました。ありがとうございました。



591 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 23:28:00.60 ID:DPBo5x/i0.net]
XAMPPのMってひっそりMySQLからMariaDBになってるんだな

今後MariaDBが頭角を現すなんてことあるのかな
Googleもオラクルと喧嘩してMySQL切り捨ててMariaDB採用してるしな

592 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 23:38:36.49 ID:5VeVx4oe0.net]
そもそもRHELが大分前にMySQLからMariaDBに切り替えてるしOracleはほんまもう

593 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 00:08:04.41 ID:r6C/vDVJ0.net]
そもそもMySQLの創始者はなんでMySQLをオラクルに渡しちまったんだ?

594 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 00:19:22.76 ID:V7jBjx0H0.net]
もともと、他の多くのオープンソースプロジェクトと異なり、スウェーデンの単一の営利企業である
「MySQL AB」によって維持されていた。2008年2月26日に MySQL AB がサン・マイクロシステムズ
に買収されたことをもって、サン・マイクロシステムズの所有となった。
その後、2010年1月27日、サン・マイクロシステムズがオラクルに買収されたことにより、商標権
ならびに著作権もオラクルに移管された。

https://ja.wikipedia.org/wiki/MySQL

595 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 00:30:54.83 ID:r6C/vDVJ0.net]
食物連鎖みてぇだな

596 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 04:03:33.47 ID:/AYrWRAX0.net]
IP192.168.1.1/24を192.168.1.1-192.168.255.255?に直したいのです

597 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 08:01:05.65 ID:dNCjYifFM.net]
正規表現とNet_IPv4を組み合わせて書けばできると思う

598 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 11:18:38.46 ID:/M6wkDL00.net]
>>585
PHPには long2ip() と ip2long() という便利な組み込み関数があるので
それとビット演算子を使えば比較的簡単にできると思う

$cidr = '192.168.1.1/24';
list($ip, $prefix) = explode('/', $cidr);
var_dump($ip . '/' . long2ip(0xFFFFFFFF << (32 - $prefix)));

// 俺にはこの程度の処理にPEARを使う理由と正規表現をどこで使うかがよく分からない

599 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 11:24:02.99 ID:/M6wkDL00.net]
>>580
というかそれまでMySQLでやってたような簡単な案件は
もう何年か前からとっくにMarinaに移行しちゃったけどなぁ
Oracleに買収された時点でこうなる事は予想してた人も多いと思う

PHPならPDO使ってれば何も修正するところなんて無いし

600 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 13:14:48.52 ID:/AYrWRAX0.net]
>>587
ありがとうございました



601 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 16:11:20.28 ID:/M6wkDL00.net]
>>589
>>585の内容を
192.168.1.0/24 ⇒ 192.168.1.0/255.255.255.0
という話と読み間違えてしまい
>>587のコードを書いたのだけどこれで良かった?

192.168.1.0/24 ⇒ 192.168.1.0 - 192.168.1.255
とするなら

$cidr = '192.168.1.0/24';

list($ip, $prefix) = explode('/', $cidr);
$ipLongStart = ip2long($ip);
$ipLongEnd = $ipLongStart + pow(2, 32 - $prefix) - 1;

var_dump($ip . ' - ' . long2ip($ipLongEnd));

流れはこんな感じ
よく読んでなくて申し訳ない

602 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 15:02:47.71 ID:tcGc4Q6l0.net]
// ディレクトリ階層以下のコピー
// 引数: コピー元ディレクトリ、コピー先ディレクトリ
// 戻り値: 結果

function dir_copy($dir_name, $new_dir)
{
if (!is_dir($new_dir)) {
mkdir($new_dir);
}
if (is_dir($dir_name)) {
if ($dh = opendir($dir_name)) {
while (($file = readdir($dh)) !== false) {
if ($file == "." || $file == "..") {
continue;
}
if (is_dir($dir_name . "/" . $file)) {
dir_copy($dir_name

603 名前: . "/" . $file, $new_dir . "/" . $file);}
else {
copy($dir_name . "/" . $file, $new_dir . "/" . $file);}
}
closedir($dh);
}
}
return true;
}
このコードの引数はどう指定したら動くのでしょうか?
$dir_name = '../x';
$new_dir = '../y';
↑こう指定したりFTPのフルパスを指定したりしましたが全く動く気配がありません、、
よろしくお願いいたします。
[]
[ここ壊れてます]

604 名前:デフォルトの名無しさん [2017/09/10(日) 17:07:03.98 ID:DbuZOcLu0.net]
文字と数値を相互変換すれば、元に戻るはずなんですが、
これは一方がtrueにならないですが、原因わかりますか?
packの"v"は、16bit-Little-Endianの指示ですが、
元に戻るかはソースコードのエンコードも関係しますか? しないはずだとおもってます。


$moji = "亜";
$su = unpack("v", "亜"); $su = $su[1];
$moji2 = pack("v", $su);
$su2 = unpack("v", $moji2); $su2 = $su2[1];

echo "su==su2? "; var_dump($su==$su2);
echo "moji==moji2? "; var_dump($moji==$moji2);

605 名前:デフォルトの名無しさん [2017/09/10(日) 17:08:32.93 ID:DbuZOcLu0.net]
上の修正しました


$moji = "亜";
$su = unpack("v",$moji); $su = $su[1];
$moji2 = pack("v", $su);
$su2 = unpack("v", $moji2); $su2 = $su2[1];

echo "su==su2? "; var_dump($su==$su2);
echo "moji==moji2? "; var_dump($moji==$moji2);

606 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 18:02:41.43 ID:hHLCpQAf0.net]
>>592
UTF-8なら日本語は3byteで符号化される
亜は\xE4\xBA\x9Cだからリトルエンディアンのunsigned shortでunpackすると先頭2byte分の0xBAE4 = 47844だけとれる(残りは1byteしかないからunsigned shortでない=>無視)
これをリトルエンディアンのunsigne shortとしてpackしようとすると0xBAE4しかないから\xE4\xBAになる

したがって符号化が偶数bytesなら戻ることが期待されるがそもそもunpackの用途が間違ってる

607 名前:デフォルトの名無しさん mailto:sage [2017/09/10(日) 18:18:05.52 ID:DbuZOcLu0.net]
>>594
サンクス。理解しました。くわしくありがとうございます。

608 名前:デフォルトの名無しさん [2017/09/13(水) 04:50:40.83 ID:xiEJvESo0.net]
Seesaaブログでは、blogger,metaWeblog,mt 互換のXML-RPC APIをサポートしております。
faq.seesaa.net/article/376863567.html

とあるんだけど、いいライブラリない?
packagistで調べてもどれがいいのかさっぱりわからん。

609 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 03:12:57.17 ID:MBf3v3660.net]
phpのrename関数ではなく、
system関数でwindowsのrenを使いたいのですがどう書けばよいのでしょうか?

610 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 05:06:59.87 ID:NGMuhuel0.net]
自分で言うてもうてるやん



611 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 05:30:54.15 ID:uxx4ir4xa.net]
phpをwindowsで自動化処理するのに使っていたんだが(使い慣れてるから)
node.jsでも出来るんじゃね?と思って書いてみたら出来た
イベント駆動型の設計思想が染み渡っているから書き心地がモダンで気持ちいい
phpもそろそろ寿命だよね?

612 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 07:01:36.97 ID:wgVu7EJP0.net]
自動化処理とかなんでもいいだろ
書き心地の問題じゃねえな
そのプラットフォームで最初から使えるかどうかの問題だ
windowsの場合どちらもあてはまらないわけで実にどうでもいい

613 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 08:45:24.51 ID:hP30PlfN0.net]
自動化処理って例えばどんな処理?

614 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 10:18:28.79 ID:uxx4ir4xa.net]
JavaScriptはPHPにあるような気軽さもあるし
それでいて育ちの良さもある
気取ったところのない、優秀ないい子って感じ
PHPも頑張ってたけど、もともとが魔改造されたPerlだからねぇ
MySQLの時代の言語だったのだ

615 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 16:01:01.72 ID:UsXhYfbU0.net]
>phpもそろそろ寿命だよね?

WordPressが存在する限り、PHPが無くなるわけない。

616 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:21:07.42 ID:iy+cXLwo0.net]
質問です。
PHP5.3でpostgresql9.4のクエリを書いたのですが、
テーブル名, 列名が日本語なのですが、
pgAdminIII上では日本語部分を""で囲めば動作するのですが、
PHP上だとrelation "テーブル名" does not exist となってしまいます。

$sql = "SELECT * FROM テーブル名"; //ダメ
$sql =

617 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:22:28.53 ID:iy+cXLwo0.net]
書き掛けで送信してしまったので再送

質問です。
PHP5.3でpostgresql9.4のクエリを書いたのですが、
テーブル名, 列名が日本語なのですが、
pgAdminIII上では日本語部分を""で囲めば動作するのですが、
PHP上だとrelation "テーブル名" does not exist となってしまいます。

$sql = "SELECT * FROM テーブル名"; //ダメ
$sql = "SELECT * FROM \"テーブル名\""; //ダブルクォートで囲ってエスケープしてもダメ

どのように書けばいいのでしょうか?
よろしくお願いします。

618 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:40:43.67 ID:sgJ5KlC6a.net]
文字列をシングルクォートで囲んでテーブル名をダブルクォートで囲んでもダメ?

619 名前:デフォルトの名無しさん mailto:sage [2017/09/20(水) 18:42:00.70 ID:7KzHzKme0.net]
pgAdminIIIじゃ、win環境からだよね。
文字コードが postgresqlコンパイル時や設定と一致してないんじゃ無いの?

620 名前:605 mailto:sage [2017/09/20(水) 19:00:12.39 ID:iy+cXLwo0.net]
すいません。自己解決しました。
データベースのEncodingがSQL_ASCII になっていたからでした。
EncodingをUTF-8にして作り直したら
クォーテーションで囲まなくても動作しました。
ありがとうございました。



621 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 09:40:04.80 ID:lfGfuJSn0.net]
PHPは寿命どころか7で速くなったしセキュリティも改善されてきてるし
いい感じでないの

622 名前:デフォルトの名無しさん mailto:sage [2017/09/21(木) 10:25:01.79 ID:huYSseyKa.net]
まぁJavaScript界隈と較べれば流れが遅い感はあるがどちらかといえば向こうが速過ぎる
フロントエンドとバックエンドで両方使うことが多いから比較してしまうのは分かるが

623 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 10:23:03.44 ID:K87ZdYGi0.net]
$obj = new stdClass;
$obj->hello = function() {
&nbsp;&nbsp;return "Hello World\n";
};
echo $obj->hello();

こういう書き方出来ないですか?

624 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 10:54:33.00 ID:eYrz81G90.net]
https://qiita.com/shin1x1/items/b11cd22210fbb3305255

625 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 11:07:31.38 ID:K87ZdYGi0.net]
>>612
ありがとうございます
stdClassじゃなくて無名クラス使うんですね
7はまだ導入できないので別の方法にしようと思います

626 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 11:07:33.25 ID:CVbArZcy0.net]
>>611
javascriptかよ
できないだろ普通

627 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 12:21:32.68 ID:7ekNuEcJa.net]
すごい感性だな

628 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 12:39:55.15 ID:+Iwgt1nH0.net]
>>611
ttps://ideone.com/lIywxs

629 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 17:48:18.32 ID:oX3foi7H0.net]
$obj = new stdClass;
$obj->hello = function() { return "Hello World\n"; };
echo ($obj->hello)();

これは知らなかったな

630 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 19:19:16.21 ID:X+9EjmZ60.net]
なに、結局できるわけ?



631 名前:デフォルトの名無しさん mailto:sage [2017/09/23(土) 20:39:16.95 ID:+Iwgt1nH0.net]
ttps://ideone.com/TlenVi

こうしてやると見かけがJavaScriptっぽくなるな

632 名前:デフォルトの名無しさん [2017/09/24(日) 00:58:26.35 ID:tB2K64wQ0.net]
スレ違いでしたら申し訳ありません
現在ワードプレスでサイトを作っていて
カスタム投稿に対して
サーバーから日付を取得して、今月だったらこの記事、来月の日付だったらこの記事というように条件分岐させた表示をさせたいです
別の箇所にはループ処理でカスタム投稿自体を表示させています
カスタム投稿投稿のうち、Aというタクソノミーを持つ投稿のみを対象にして
サーバーから取得した月と投稿月が同じものをモジュールクリックで表示、そうでないものはまとめてループ処理で取得させたいです
またカスタム投稿自体もタクソノミーで分けています

モジュールをクリックをする
→もしAというタクソノミーを持つ記事があったら
→サーバーから日付を取得
→取得した月(今なら9月)に投稿されているタクソノミーAの記事を取得

という形にしたいのですが書き方が全く思い浮かびません
お知恵をお貸しください

633 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 14:47:00.16 ID:VatsPnR2a.net]
WPで聞けよ

634 名前:デフォルトの名無しさん [2017/09/24(日) 15:19:53.61 ID:HTSoBxcb0.net]
WP用のスレがあったんですね、失礼いたしました

635 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 21:57:03.16 ID:u8f/hRUs0.net]
Mysqlのカラムyearのレコードに $yearと入力しておきます

そして、PHP側で$year = xxxx;としておきます

これをPDOで値を呼び出した時に、レコードを変数に転換させる方法はないでしょうか?

普通に呼び出すと、ただの文字列としか認識してくれません。

なぜ、そんなことをしたいかというと、CSV出力の際のヘッダ部分をレコードとして
登録しておいたのですが、年数が可変なので、どうにかしたかったわけです。

無論、他の方法も考えてはいますが、もし、やり方次第で可能なら教えて欲しいです。

なお、ググってみたのですが、そんな阿呆なこと考える奴はいないのか、答えは出てきませんでした

636 名前:デフォルトの名無しさん mailto:sage [2017/09/24(日) 22:29:04.81 ID:GR7wHhZz0.net]
php.net/manual/ja/language.variables.variable.php
コレのこと?

637 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 01:38:24.44 ID:mD+bXPPZ0.net]
確かにアホっぽい
セキュリティホールにもなりかねないし

638 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 09:43:12.67 ID:oQOcCvcr0.net]
そのアホな思いつきのままだと evalになっちまう

たんに置換かけりゃいいだろ

639 名前:デフォルトの名無しさん [2017/09/25(月) 13:41:45.15 ID:s/BxTNWl0.net]
>>623
ちょっと何言ってるかわかんない
insertする前に年数を整形すりゃいいだけっしょ
なんでそんな意味不明で面倒なことするかな

640 名前:デフォルトの名無しさん mailto:sage [2017/09/25(月) 21:03:17.46 ID:H7OZHsHG0.net]
>>626
実際、そうしました

>>627
出力が必要な帳票のヘッダが不定数だったからです



641 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 02:06:10.20 ID:iIk2lbGJ0.net]
Winサーバに.NETのアプリ置いて、それを外部の端末からブラウザ経由で操作したいんだけど出来るかな?
或いはPHPからAjaxとか使ってる動的ページもそのままブラウザでアクセスしたみたいにエミュレートしたい。
PhantomJSとかあるけど安価なレンタルサーバにインストールできない可能性もあるので前者を考えてるんだけど。

642 名前:デフォルトの名無しさん [2017/09/26(火) 02:06:29.86 ID:iIk2lbGJ0.net]
age

643 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 02:19:28.45 ID:hdyDplTp0.net]
何言ってるのか全然分からねぇ
その文脈で何でPhantomJS出てくるんだ?

644 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 02:47:00.78 ID:iIk2lbGJ0.net]
>>631
.net使えばブラウザコントロールとかあるので簡単にAjaxとか使ってるページでも動作させれるので
間接的に動かせないかなと思ってて。
それが無理なら直接PHPでJavaScript動かさないといけないからPhantomJSとかになるのかなと。

645 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 03:18:37.30 ID:hdyDplTp0.net]
こういうこと

* クライアント(ブラウザ) -[ネットワーク]-> サーバ(IIS etc.) -> .NETアプリケーション

をしたいと読めるわけだが, .NETからブラウザ操作する話がどうして出てくるのかとかPHPからJavaScript動かす話がどこに入るのか説明してくれ

646 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 03:32:01.32 ID:iIk2lbGJ0.net]
> クライアント(ブラウザ) -[ネットワーク]-> サーバ(IIS etc.)
だとAjax使ってるページのエミュレートが面倒なので
.net使ってAjaxページも問題なく動作するプログラムをサーバに置いて
それをクライアントがアクセスした時に上手く動かせる仕組みを作れないかなと。
直接サーバサイドのPHPでAjaxページが簡単に動作させられるならそれに越した事はないけど。

647 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 03:39:41.11 ID:hdyDplTp0.net]
もうさ, [Winサーバ], [.NETアプリ], [外部端末のブラウザ], [PHP], [Ajaxとか使ってる動的ページ]使って何がしたいのか図示してくれよ

648 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 03:50:19.75 ID:mvSUAuA/0.net]
Docker Hub で、公式イメージでも探せ

それか、VirtualBox, Vagrant, Chef など

649 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 04:20:53.63 ID:iIk2lbGJ0.net]
じゃ質問をシンプルにするよ。
PHPでアクセスしてAjax使ってる動的ページを正しく動かす方法で
一番シンプルなものってなにかな?
色々調べてPhantomJSがあるのは分かったけど
レンタルサーバによってはインストールできない可能性があるのでその問題がありそう。

650 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 06:31:31.27 ID:M58WkJeo0.net]
ちょっと調べて見たければphp製のjavascriptエンジンはないので無理ではないかなぁ



651 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 06:32:15.60 ID:M58WkJeo0.net]
ちょっと調べて見たければ→ちょっと調べてみたけれど

652 名前:デフォルトの名無しさん [2017/09/26(火) 08:09:15.81 ID:iIk2lbGJ0.net]
>>638
そうか。しょうがないので自分のPCにPhantomJSをインストールして使う事にしてみたんだけど
今度はどうやってもステータスが0で困ってる。。
file_get_contents()だと表示されるのでPhantomJSの部分で問題が起こってるんだと思うけど。

ここの通りしたんだけど。$response->getStatus()で確認すると常にゼロで。
https://pg.kdtk.net/1405

PHPは5.6、Apacheは2.4、両方64bit
PhantomJSはcomposerで2.1.1をインストール

653 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 09:50:15.42 ID:iIk2lbGJ0.net]
自己解決
落としたバイナリがぶっ壊れてた。。

654 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 13:57:41.18 ID:cwFxqDCFM.net]
Headless Chromeもあるし
どうしてもPHPでやりたいってんならv8拡張がある
この場合ブラウザ側API全部再実装が必要だが

655 名前:デフォルトの名無しさん mailto:sage [2017/09/26(火) 14:11:14.60 ID:iIk2lbGJ0.net]
>>642
PhantomJS試してるんだけどformをsubmitする処理とかだとなんか面倒そうなので
やっぱり他のでやった方がいいのかもしれない。
Headless Chrome?それも後で試してみるよ。ありがとう。

656 名前:デフォルトの名無しさん [2017/09/27(水) 05:11:15.19 ID:EHqNXxRy0.net]
>>643
casperjsはphantomjsより扱いやすいよ

657 名前:デフォルトの名無しさん mailto:sage [2017/09/28(木) 15:18:44.51 ID:fKb4VnmR0.net]
>>628
最後の1行読んだ感じでは
DBの正規化という言葉すら理解できてなさそうな臭いがするので
DBの設計から勉強し直してみてはどうだろうか?

根本的なところからおかしいので誰もまともに答えられないかと

658 名前:デフォルトの名無しさん [2017/09/30(土) 20:51:24.62 ID:CiKOls/60.net]
フレームワーク、例えばcakePHPを習得するまでに
みんなどのくらいの期間かかった?
フレームワーク初体験で

659 名前:デフォルトの名無しさん mailto:sage [2017/09/30(土) 22:47:17.93 ID:h2RlFi9m0.net]
新しい言語や技術は書籍で入門するのが当たり前という人にとっては
フレームワークはどれもたいへんだよ。

660 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 06:09:17.97 ID:Ae9q61k/0.net]
意欲の問題では
フレームワークは別になくてもいいわけで
なくてもいいものをわざわざ覚えるのかなんて思いながらやってると
なかなか身につかない
仕事でどうしても必要だとかそういう状況なら2週間で覚えるよ



661 名前:デフォルトの名無しさん [2017/10/01(日) 15:24:34.49 ID:mkxY3wW+0.net]
>>646

初めてのフレームワークでCakePHPなんか触った時点で迷宮に迷い込んで成長止まる。

662 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:10:56.14 ID:GM1LmHU+0.net]
PHPって将来あるの?5年もしたらもうオワコンじゃないの?

663 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:19:14.76 ID:Ae9q61k/0.net]
言語を意識するような時代が終わりはじめてるのでは
一定のユーザがいる状態であれば安泰だよ

664 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:24:12.95 ID:qGSPhC6b0.net]
>>650
そう思うならNode.jsでも使っとけばいいんじゃね?

665 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:43:25.47 ID:xDL2/91Y0.net]
PHPが終わるとは思わん
ただタイプヒンティング強化してるからジェネリクスが欲しい

RFCにはあるけど誰も実装書かないんだろうなー

666 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:51:44.63 ID:ycCVTNJ30.net]
世界中にある動的Webサイトの過半数がPHPで動いてるんでしょ?
WordPressも含めて

667 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 20:53:18.27 ID:qGSPhC6b0.net]
なんか知らんけど恨みがあるんじゃね?PHPに

668 名前:デフォルトの名無しさん [2017/10/01(日) 21:39:11.63 ID:eMQOw+pd0.net]
>>649
んじゃ、初めてのフレームワークでおすすめって何よ?w

669 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 22:53:55.25 ID:UOMkiKCA0.net]
>>656
CodeIgniter

670 名前:デフォルトの名無しさん mailto:sage [2017/10/01(日) 23:04:09.52 ID:UOMkiKCA0.net]
>>654
むしろWordPressだけで過半数以上
これらのユーザーがPHPを意識してるとは思えないが
世界中で稼働しているWEB言語のシェアとしてはPHPは圧倒的
逆にWordPressの代替となるアプリが流行すればPHPは一気に消え失せる可能性はある

とはいえWordPressのようなパッケージアプリを除いた純粋にPHPを開発言語として利用しているシェアも
けっこう高いはずなので急にRubyやPythonやその他の新興言語に入れ替わるもんじゃないとは思う
その他の言語がなぜ入り込んでこないかというと、Perlの頑張りがあるからじゃないかと密かに思ってる
派遣を即席で育てて現場に投入できるっていう利点もあるから少なくとも日本だと衰退しないんじゃないかな



671 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 01:21:56.57 ID:VyNVpuqG0.net]
Laravelって誰も触れんな
日本では流行ってないか?
めちゃくちゃ使いやすいと思うけど

672 名前:デフォルトの名無しさん [2017/10/02(月) 09:30:10.62 ID:yY+xy6Qa0.net]
>>658

代替となるアプリもPHPで作られるにきまってんじゃんw
PHPはフレームワークを作るための言語だよ?

なお、オレは最近は静的型付き言語ばかり書いている。とにかく、楽。

673 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 09:53:14.55 ID:T1SDxagl0.net]
おわったっていいじゃん
一生を捧げる言語を一つ選ぶような話じゃないでしょ。
今日の昼はA定食にしようかB定食にしようかって話で、B定食が今後なくなってもA定食食べればいい。

それより食堂がなくなる心配したほうがいい

674 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 21:00:14.97 ID:fIRtXeXL0.net]
ec-cubeのソースを見ていたら
require_once が書かれてなくて、useだけ書かれているファイルが沢山ありました。

なんで、エラーにならないの?

675 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 21:17:59.72 ID:T8QXjIur0.net]
>>662
composer.jsonのautoloadセクションにオートローディングの設定書いてりゃrequire_onceが必要なのはエントリポイントだけ

676 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 21:28:04.49 ID:V+ucx/B30.net]
ソース見ないとわからんけど、__autoload とか使ってるんじゃ無い?

677 名前:デフォルトの名無しさん mailto:sage [2017/10/02(月) 21:30:47.93 ID:fIRtXeXL0.net]
>>663
おー、わかった
サンクス

678 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 12:46:13.98 ID:HZkkfHm10.net]
テスト

679 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 13:00:26.21 ID:HZkkfHm10.net]
コード貼ると書き込めないようで・・・
https://ideone.com/UMVJrY

いずれも問題なく動作するのですが
mb系の関数ってどういうところで使うんでしょう?

680 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 13:48:00.22 ID:PIRKucuZ0.net]
strlenの値見てみればいいじゃん



681 名前:デフォルトの名無しさん [2017/10/07(土) 03:33:19.78 ID:E8QcxmPR0.net]
cakeのヘンなURLはみんな一々普通の書式に書き換えてるの?

/index/limit:3/page:2 ←キモい
index/?page=2    ←普通こんな感じだよね

フレームワークってたいへんだね

682 名前:デフォルトの名無しさん [2017/10/07(土) 04:28:12.75 ID:n7/qhps90.net]
動けばいいのよ

683 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 07:48:18.63 ID:gc7GFpiH0.net]
>>669
むしろ下のURLの方が汚らしいんじゃね

684 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 08:58:47.62 ID:CQDT89una.net]
>>671
あまり言ってやるな

685 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 06:58:12.38 ID:CWK8ZE8n0.net]
>>669
反吐が出そうなスタイルから一般的なスタイルにしたきゃ
paramType を querystring にすりゃいい

686 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 19:54:00.65 ID:31mgpPhM0.net]
>>673
dクス 直った。あー気持ち悪かったw

687 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 21:19:07.77 ID:Uwv5PG/i0.net]
静的Pathにするのって、Google対策だっけ?

688 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 12:03:26.40 ID:YlLc/E6M0.net]
>>659
世界ではLaravel主流になろうとしてるけど、ちょこちょこバージョン上げすぎなんじゃ
日本語翻訳された頃には次のバージョン出てたらかなわん

689 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 13:13:37.43 ID:h4S41BKFa.net]
cake3も同じだわ

690 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 17:56:47.10 ID:xdjFdlld0.net]
Symfonyはどうなの?
合計10億ダウンロードを達成したようだが

https://symfony.com/stats/downloads



691 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 03:47:35.08 ID:KMdfjBPl0.net]
Symfonyは文字数が多くなる気がして
個人的にはイマイチ子

692 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 20:01:46.42 ID:s758Uzmra.net]
phpのプレイグラウンドサイトでいいところがあれば教えて下さい
https://www.tehplayground.com
とりあえず検索して見つかったここを使ってますが
もっといいところありますか?

693 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 20:02:50.62 ID:s758Uzmra.net]
>>678
すごいスピードで増えてますね
日本の借金のようです

694 名前:デフォルトの名無しさん [2017/10/13(金) 21:02:49.56 ID:NQNcqrHf0.net]
Mac Sierra + XAMPPでCakePHP3のインストールが出来ないのだけど、
みんなどうやってインスコしてるの?
composerはインスコできたけど、intlが入らない

バージョン2はコピペで済んだから楽だったのにな〜・・・

695 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 21:28:05.09 ID:s758Uzmra.net]
>>667
ここ良さそうですね
php以外にも大量に書けますし

696 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 23:35:56.43 ID:s758Uzmra.net]
git for windowsを入れたら
gitbashの中でphpも実行できるので便利ですね?
コマンドラインと大差ないといえばないですが
gitbashは任意のフォルダから始められるところがいいです

697 名前:デフォルトの名無しさん [2017/10/14(土) 04:10:36.29 ID:TNxvk7D00.net]
sourcetreeでいいよ
どうしてもコマンド打ちたいなら別だけど

698 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 07:17:33.63 ID:sv7zl76da.net]
atlassianってtrello買収のニュースで聞いたことがありましたが
こういうものを作っていたんですね
とりあえずインストールしてみました

699 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 16:05:22.67 ID:sv7zl76da.net]
正規表現では一重引用符、二重引用符ともに
エスケープする必要がないと知りました
エスケープをしても問題が出ないので今まで気づきませんでした

preg_match('/\"/','"',$matches);

var_dump($matches);



preg_match('/"/','"',$matches);

var_dump($matches);


どちらの結果も同じになります
何故エスケープする必要のない引用符をエスケープしても
問題が出ないのでしょうか?

700 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 18:01:08.37 ID:sv7zl76da.net]
よく考えてみると、引用符をエスケープしなければいけないのは、
それが文字列と外界との境界を形成する特殊な文字だからで、
正規表現では文字列の境界をデリミタが形成するので、
引用符は普通の文字と全く変わりがない、
だから他の「普通の文字」をエスケープしても同じことではないか、
と思ってqで試してみたらやはり同じ動作になりました

preg_match('/\q/','q',$matches);

var_dump($matches);

正規表現エンジンは、
意味のないエスケープ文字
を単に無視するように出来ているのでしょうか?



701 名前:片山博文MZ mailto:sage [2017/10/14(土) 18:22:55.67 ID:WLIJLkznd.net]
エスケープされた文字列を解釈するのはPHPのエンジンであり、解釈された文字列は、PHPの文字列になる。
正規表現エンジンは、

702 名前:桝RPHPの文字列を、正規表現を表す文字列として解釈する。
最初の解釈で、無意味なエスケープはバックスラッシュが無視されるのだから、何も悪いことは起きない。
[]
[ここ壊れてます]

703 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 18:34:55.85 ID:sv7zl76da.net]
たしかにPHPの場合正規表現もまず最初に普通の文字列に入れられるので
>>688の言い方は適当ではなかったです
やはり正規表現エンジンは無意味なエスケープをただ無視するように作られているのですね
ありがとうございました

704 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 11:18:23.57 ID:CEYZTvIx0.net]
PHP初心者です。
PHPの実行モデルがイマイチ分からないのですが、
これはイベントモデルではなくただのテンプレートエンジンで、
前回の結果(または鯖上でのコンテキスト)を引き継ぐことなく、
毎回毎回ゼロから構築する必要があるって認識で合っていますか?

具体的には、Webページ全体で使われるクラスやdefine()している場合、
それらを毎回includeする必要があるのでしょうか?(今のところそう見えます)

クライアントJavaScriptの場合はページ遷移がない限り一度構築した物は使えます。
Nodeは使ったことがないですが、多分同じです。
(これらはイベントモデルだからですが)
毎回毎回全構築となると、余分な構築を省かないと実行速度が気になります。
ドメイン全体で単一アプリを提供する場合は
PHPではなくNode等の方が向いているということなのでしょうか?

例えば、dbアクセス用にクラスを作った場合、
それぞれのWebページからはその全メソッドを使うことは通常あり得ません。
だからプログラム的に美しく一つのクラスに纏めるより、
フィールドを継承し、今使うメソッドだけの子クラスに無駄に分割した方が速いのか?とも思えます。
あるいはspl_autoload_register()した場合に、
名前参照だけではなくコンパイル済み状態で格納されるから速度上の問題はない、とかありますか?

705 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 11:55:30.86 ID:s8ygMoJ80.net]
>>691
サーバサイドアプリケーションは大体そんなもんだと思うが
HTTPでセッションを跨いだクライアントの同一性保証なんて不可能だし

コードのパースとかの時間が気になるという意味ならopcacheのようなキャッシュ機構はある


とりあえずサーバサイドアプリケーションについて真面目に勉強するならLaravelとかSymfonyのチュートリアルくらいは触ってみたら
クライアントサイドとは全く違うから

706 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 13:46:10.80 ID:CEYZTvIx0.net]
>>692
了解です。ありがとうございます。
何らかの機構を備えていると勝手に信じていたので、軽く衝撃でした。
(ちなみにGoとかも同じですかね?ご存知であれば)

ただこれならPHPは各ページ毎に様々なことをするのには向いていますが、
(とはいえこれが通常のHP用途の90%以上を占めますが)
掲示板サイト等、ドメインで単一アプリを提供する際には本質的に遅いことになります。
別サイトで「こんなのどうよ?」と提案したところ、
「PHPでは無理だから止めろ、どうせNodeを使うことになるぞ」と避難轟々だったのも分かります。
この状況でフレームワークを使っていること自体が結構信じがたいです。
とはいえ今回は共用鯖等超軽量環境向けの為、NodeやGoは選択出来ず、PHPしかないのですが。
(参考) postd.cc/websocket-shootout/


別件ですが、CSRF脆弱性対策について、
これは単発のリンクを踏んだ(表示した)時用の対策であって、
ガチでのクライアントスクリプト等による攻撃向けではない、という事で合っていますか?

例えば、あるページを表示し、そ

707 名前:アのJavaScriptが実行されるなら、
ajaxでhtmlを取得し、CSRFトークンを取得して、
掲示板にその人が書き込んだように見せかけることは簡単に出来ますが。
[]
[ここ壊れてます]

708 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:31:37.78 ID:s8ygMoJ80.net]
>>693
お前さんが何をしたいのか分からんし衝撃受けるのも勝手だが, クライアントサイドの常識をサーバサイドに持ち込むな
PHPに限らずRubyだろうがPythonだろうが何も変わらん

NodeやGoや更に言えばC/C++でサーバ作るというのは考えられるがメンテコストが膨らむしデプロイも面倒
その必要が本当にあるのかよく考えろ

> CSRF
Same Origin Policy

709 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 17:17:04.22 ID:u42Q3jAo0.net]
>>694
> PHPに限らずRubyだろうがPythonだろうが何も変わらん
いや多分PHP特有ですよ。RubyやPythonは自前で鯖起動しますので。
Railsチラ見しましたがそんな感じです。
https://railsguides.jp/getting_started.html

ただ現実的にRubyやPythonは超軽量環境でも使えるのでRailsは選択肢になりますね。
とはいえPHPでもopcacheでほぼ問題ないはずですが。
まあとにかく今は味見中です。

作ろうとしているのは掲示板アプリで、GoやNodeの高性能版はOSSで既にあります。
もちろんPHP版も既にあるのですが、こちらも大体高性能化を目指しているので、
超軽量環境向けの廉価版を作ってみようかと。
AGPLv3で公開する予定ですので、興味があればどうぞ。
https://meguca.org/g/2724701

710 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 17:24:11.11 ID:L1ItWz+aa.net]
>>695
Webrickのこと言ってんのか?
テストはともかく実用環境でWebrickなんか使わねぇよ
実環境ならUnicorn, PumaとかPassengerがアプリケーションサーバだよ



711 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 22:50:14.72 ID:lMinf0FC0.net]
遅い早いって2ch読み書きするのをストレスに感じないのであれば杞憂でしょう
ボトルネックになる部分はPHPの機構なんかよりもネットワーク間の問題のほうが大きいわけで

712 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 00:01:36.25 ID:OoF3Ic3Va.net]
自分もリクエストのたびにこの巨大なフレームワークを読むのか?
とひるんだ時がありましたが
そこは実行コードをキャッシュする仕組みでカバーできるんですね
というか今の人はスタートがnode.jsとかなんだなーという驚きがあります

713 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 00:42:39.22 ID:DJrtJlQd0.net]
node.jsってレンサバで動くんか???

714 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 02:50:04.46 ID:N7MUl21Ra.net]
vpsでやろ。

715 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 08:53:25.48 ID:twPANPDV0.net]
>>699
https://qiita.com/azk0305/items/0bdb0fdab4bc8ebb5909

716 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 23:32:43.30 ID:DJrtJlQd0.net]
ふぇ〜さくらってスゴいのね

717 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 01:14:58.17 ID:HUD/bT/k0.net]
別にサクラはすごくないだろ
この手の方法はわりとどのレンサバでもできる

718 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 04:14:34.59 ID:UUhSDchZ0.net]
>>698
メモリを犠牲にして専用のアプリケーションサーバとそれ専用のフレームワークを作るのは
非常に面倒だけど別に難しいことじゃないのでPHPで作ってもいいのよ

719 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 06:07:25.14 ID:C8ORuPRh0.net]
質問です。PHPとSQLite3共に初心者です。
PHP+SQLite3でatomic counterが欲しいのですが、変更前の値が上手く取れません。
(unique保証が必要です)
散々ググって試行錯誤もしたのですが、上手くいきません。もしかして綺麗には無理ですか?

$sql = "BEGIN;";
$sql .= "SELECT count FROM counters WHERE id = 'post';";
$sql .= "UPDATE counters SET count = count+1 WHERE id = 'post';";
$sql .= "COMMIT;";
// $result = $db->exec($sql); // インクリメントされるが肝心の値が取れない
$result = $db->querySingle($sql); // なぜかNULLが入っており、インクリメントされない
// $result = $db->query($sql); // その後で fetchArray(): Unable to execute statement: cannot start a transaction within a transaction と出てインクリメントされない
var_dump($result);

なお奇特な方のためのDB設定用コードは以下です。
$db->query('CREATE TABLE counters (id TEXT PRIMARY KEY, count INTEGER)');
$db->query('INSERT INTO counters VALUES ("post", 0)');

atomic自体はUPDATEだけで保証されているのですが、変更前の値をuniqueに掴みたいのです。
用途は例えば掲示板で、自分の投稿が何番か知りたい、とかです。
BEGIN/COMMITでくくらず別々にした場合はunique保証が出来ないのでNGです。

720 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 09:57:21.02 ID:RHJUWC0z0.net]
>>705
1回のクエリで実行しようとしたらそらそうなるでしょ
あと一意性を保証したいならトランザクション分離レベルをRepeatable Read相当(SQLiteではIMMEDIATEだったっけ)にする必要がある



721 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 10:56:38.81 ID:s8lIkCI50.net]
>>695みたいなPHPのコストについての話が出る度に思うが
こういう人って今までどの程度の規模のサービスを扱った事があるんだろ?

10年ぐらい前に俺が個人の趣味の延長で開発してaspとして金取ってたサービス
800万PV前後/日程度だったが
当時のPHP4系・MySQL3系・Apach1系の組み合わせのサーバー1台(DBすら分けてない)で運用できてた

レンタル費用をケチろうと思ったんだろう
貸出先が業者にまんまUIパクったようなものを数百万で作らせたら
全然PV裁けなくなって業者に文句言ったら
捌けるようになるまでサーバーを増やせと言われたという笑い話

800万PVなんてここのプロ様に比べたらレベルが低すぎるだろうから
最低1億PV/日ぐらいは想定してるんだろうなきっと

722 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 11:13:26.21 ID:RHJUWC0z0.net]
でも実際物理で殴る方がお安く済む, でしょう?

723 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 14:02:18.91 ID:0jVjcAN80.net]
>>707
800万pvのサイト今もやってるの?

724 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 14:45:24.76 ID:s8lIkCI50.net]
>>709
UIまんまパクったものを業者に作らせてると知った時に
そっちへサービス切り替えた瞬間に全部停止する事にしたから当然今はやってない
当時は他でネタ扱いされる程に儲けてたし

ちなみに何故それを知ったかというとその業者の開発者の内の1名から
技術的な質問をされたから
当然教えるわけないというか「コイツ頭おかしいんじゃね?」と思った思い出

>>708
今はそうだろうね
当時のこの話の場合、結局パクったシステムのサーバー運用コストの方が高くなったという笑い話

725 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 21:06:15.90 ID:rwpxP9zha.net]
PHPでHTMLをパースして、
JavaScriptのquerySelectorみたいなもので要素を選択したいのですが
そういうライブラリみたいなものありますか?

726 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 21:39:14.67 ID:uXsqtlL/0.net]
phpquery

727 名前:デフォルトの名無しさん mailto:sage [2017/10/17(火) 21:50:33.21 ID:rwpxP9zha.net]
>>712
自分でしこしこ書いてたんですが、もうあったんですね
この数日の努力とはなんだったのか・・。
でもありがとうございます

728 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 00:06:15.43 ID:catz1Ji3a.net]
>>680の件ですが
phpfiddle.org/
を見つけました
関数の補完があるのが良さそうです

729 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 00:30:04.05 ID:catz1Ji3a.net]
JavaScriptのプレイグラウンドはcdnからライブラリを読み込めますが
PHPのプレイグラウンドでライブラリを読めるものはないのでしょうか?

730 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 00:45:02.72 ID:c6Rft4Lma.net]
というかプレイグラウンドなのにライブラリ読み込めないって
全然遊べないですよね・・



731 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 05:41:41.19 ID:IAqZZNli0.net]
>>706
少し紛らわしかったので補足します。
705のコードはSQLite3では意図したようには動きません。

ただしMySQL等他DBなら動くようです。(FOR UPDATEはSQLite3ではエラー)
https://dba.stackexchange.com/questions/61603/how-to-query-and-increase-a-value-counter-in-a-thread-safe-way-avoid-race-co
或いは以下の書き方も出来るようです。
$sql .= "UPDATE counters SET count = (@cur_value := count)+1 WHERE id = 'post';";
$sql .= "SELECT @cur_value;";
www.sqlines.com/mysql/how-to/select-update-single-statement-race-condition

問題はSQLite3ではこれらが出来ないことです。

ググル限り、UPDATEとINSERTの戻り値はAndroidでは取れており、
naichilab.blogspot.jp/2013/06/sqliteinsertautoincrement.html
android.roof-balcony.com/shori/strage/insert/
これらはPHPでは SQLite3::changes SQLite3::lastInsertRowID であり、
rowID===INTEGER PRIMARY KEY なので、INSERTして取る方法でとりあえず回避しました。
https://www.dbonline.jp/sqlite/table/index8.html
www.sqlite.org/autoinc.html
以下コードになります。

$sql .= "BEGIN EXCLUSIVE;";
$sql .= "INSERT INTO logs VALUES ((SELECT count FROM counters WHERE id = 'post'), date('now'), '$data');";
$sql .= "UPDATE counters SET count = count+1 WHERE id = 'post';";
$sql .= "COMMIT;";
$result = $db->exec($sql);
var_dump($db->lastInsertRowID());

カウンタに対して2回クエリしているのが無駄なんですが、何とかなりませんかね?
(とはいえこちらは我慢できる範囲ですが)
なおスレ毎にtableを分ける予定ですのでAUTOINCREMENTには出来ません。

732 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 05:42:26.75 ID:IAqZZNli0.net]
次の質問です。
PHPの出力の終了を宣言することは出来ますか?
(そこで一旦通信を終了させ、その後は(ユーザから見て)バックグラウンド的に処理する)

ob_end_clean()はバッファのオフであって終了宣言ではないように見えます。
register_shutdown_function でリクエストの一部にはならない版が欲しいのです。
具体的には、PVの話が出てきて、それもいいなと思ってRead側にもカウンタをつけたものの、
Read/Writeで100倍くらい違うのでこの処理を分けたいのです。
・マルチスレッド(pThread) ← インストール必要
・非同期 ← フレームワーク必須
のため、
・</html>送信後はユーザー側には見えなくなるのでここでやらせる
という作戦を考えましたが、見た目それようの関数がなさそうです。
詳細は後述しますが、これが出来ればユーザ側レスポンスが0.2秒ほど早くなります。
或いはReadに関してはApacheのログをcron等で処理させる方がいいのでしょうか?

ちなみに速度ですが、もう既に遅いです。
XAMPPのローカル環境ですが、純粋にReadだけなら100pv/s程度で、
PVカウンタをDBに持たせるとそこに書き込みが行われ、2pv/s程度まで落ちます。
投稿ならこの倍遅く、1pv/sec程度になります。
まだ味見程度で、全部で100行くらいしか実行してないんですけどね。DBもスカスカですし。
8Mpv/day=100pv/sというのは、ちょっと言い過ぎでは?
或いは304にするかCloudFlare等活用しないと厳しいと思われます。
8ch.netはvichan(PHP+MariaDB)で40kposts/day=0.46posts/sを処理できませんでしたし、
桁はこれで合っていると思います。
だからってGoやNodeがどれほど速いのかは知りません。
(なお上記はスループットではなくレイテンシからの算出なので、実際はこれより早いはずですが)

なお実はBBx規制されており、代行してもらってます。
あまり面倒をかけるのも悪いので、以下に来てくれれば歓迎します。
https://meguca.org/g/2746787

733 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 06:48:41.64 ID:QGH5jOmla.net]
>>718
迷惑だな

734 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 09:38:34.01 ID:ZpnTdM5ra.net]
>>713の件ですが
動作を確かめていますが、
phpquery、jqueryのセレクタが全部動いて素晴らしいですね

735 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 09:42:25.90 ID:rF9hS7IgM.net]
>>718
どんなマシン使ってるか知らんし、どれくらい書き込んでるし分からんが、いくら何でも遅すぎる
根本的になにかが間違ってると思うよ

736 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 12:36:34.56 ID:v7V1Syde0.net]
8Mpv/day=100pv/sが言い過ぎってさ…
実際に10年前に今より貧弱な環境で稼働させて
aspとして金を稼いでたサービスなんだけど(MAXで1000万/日超えた日もあった)

PHP4だったというのもあるけどさ
オブジェクト指向なんて全く理解してなかったしフレームワークも使ってない
クラス1個も使わずにfunctionとヒアドキュメントの組み合わせ
名前空間なんてものも当然なかった

DBへのアクセスが極力発生しないようにはしてたけど俺のレベルは糞低いぞ
サーバーのログはテキストでも壊れない…って事は全部テキストキャッシュにしてそれを読めばいい!と何でもテキストにしてたw
頭の悪い俺なりの発想

737 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 12:37:11.21 ID:v7V1Syde0.net]
昔こんな人と仕事をした事がある
色んな言語やデザインパターンを熟知してて
PHPも「これぞオブジェクト指向だ」と唸る程に素晴らしいコードを書ける
めちゃくちゃ頭が良いのが少し話すだけで分かるような人だった(後から知ったが東大卒だった)

でもその人が作ったサービスは激重で運用できなかった
俺は技術もないし頭が悪いからその人の何が悪いかは分からなかったけどw

お前らすごいね
実行レベル?イベントモデル?
pThreadだのGoだのNode.jsだのCloudFlareだの
俺には全然分からんわw

それでどんなサービスができるの?何人ぐらいに使ってもらってどれくらい捌けるの?
って事にしか興味がない

だってさ、使う人にとっては何の言語で書いてるとか関係ないじゃん
これだからPHPerは…って言われるんだろうけどこれでも金はそこそこ自慢できるぐらいは稼いできたからなぁ…

738 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 14:36:39.14 ID:ZpnTdM5ra.net]
PHPもwebrickやnode.jsみたいに
それ自体でサーバになればテストに便利なのに
と思って検索したら標準でビルトインウェブサーバーっていうのがあったんですね

739 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 21:26:02.74 ID:451ejlL00.net]
君は知らなかったかもしれないがそれ標準で組み込まれてもう5年半なんだ

740 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 22:56:18.69 ID:/mn5vVDsa.net]
長い間情報収集を怠っていたので
世の中想像以上に便利になっててびっくりします



741 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 04:05:45.17 ID:lZeER9v70.net]
>>721
こちらは桁が分かってないので助かります。
マシンは2007年製のポンコツで、書き込みは数文字だけですね。

レイテンシからスループットへの換算はやはり無理があるとして、
レイテンシだけにしても遅いので、問題もあるのだとは思います。(外部サイトの方が速い)
www.techempower.com/benchmarks/#section=data-r4&hw=ph&test=db


>>722-723
opcacheの無い状態だと、コードを美しく整えれば整えるほど遅くなるから、
それを最初に確認したのです。>>691

君が書いたコードは細切れのバラバラで、
結果的に使う部分だけ走行するから速かったのでしょう。
それの方がよければそうすればいいだけです。

> 全部テキストキャッシュ
結果的に静的ファイルでキャッシュが効いたということでしょう。
今も同じ問題がCloudFlareにもあります。

> って事にしか興味がない
結果指向なのは正しいと思いますよ。
プログラミングはあくまで手段であり、目的ではないので。
特にネット上だと本末転倒になっている人も散見されます。
全く考えないのも問題ですが、考えすぎて手が止まっているのも問題です。
なおPHPerは最も馬鹿にされているらしいですが、JavaScripterよりマシな気はしますよ。
そしてデザインパターン/言語コレクターは使い物にならないと個人的には思います。

742 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 04:06:52.86 ID:lZeER9v70.net]
次の質問です。
以下環境でtidewaysが動作している人は居ますか?

A. PHP7.1, Win32, x86
B. PHP7.1, Win32, x64
C. PHP7.1, Linux on VM (つかPHPerの標準環境ってこれ?)
または
D. tidewaysのWindows用ビルドに成功した人、または挑戦する気がある人

こちらはA環境で入れてはみたものの、上手く動きません。
(ライセンス無し、XHPROFの代用での使用)
反応はしており、walltimeが 0, -2,147,483,648, -4,294,967,296 なので、31bitずれています。
おそらくHPETの問題で、以下の
https://github.com/tideways/php-profiler-extension/blob/master/tideways.c#L3308-L3336
のところを修正すれば動く可能性があります。
ただこれはマシンにもよるし、ビルドは嵌る可能性が高い為、
VM等含めて動いている人が居るのであれば動くマシンを探し、駄目なら諦めかと。
誰かビルドに挑戦するのであれば協力はします。
なおビルドオプションは以下が参考になります。
https://ci.appveyor.com/project/tideways/php-profiler-extension/build/4.0.4.215/job/kmxa1he0cjomvjpr

或いは他プロファイラーでいいのがありますか?

743 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 12:16:50.62 ID:NzzKiK+50.net]
> プログラミングはあくまで手段であり、目的ではないので。
> 特にネット上だと本末転倒になっている人も散見されます。
> 全く考えないのも問題ですが、考えすぎて手が止まっているのも問題です。

自己紹介乙

744 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 12:28:28.36 ID:FE92wYZta.net]
僕はプログラミングが目的で仕事はついでです

745 名前:デフォルトの名無しさん mailto:sage [2017/10/19(木) 22:44:13.21 ID:KjwMHyuL0.net]
Windows CLIアプリで、EMAILなんかのJIS(ISO-2022-JP)文字コードのファイルを、
読み込んで変換して表示することは出来るのですが、
PHP自体をJISにして、そのPHPに書かれている日本語をechoすると、
undifined variable $Bのようなnoticeが出ます。
もちろんちゃんとコードページにあった文字コード(cp932)に変換はしているのですが、
変換以前に日本語が変数と認識されてしまうようで、うまくいきません。
PHPをJISで保存するなんてことは普通しませんが、
JISでPHPを保存した場合でも、Windows CLIでうまく動作させる方法はありますか?
ttp://tsuttayo.jpn.org/bbs/read.php?FID=2&TID=519
このような記事を見つけて、書かれてる設定を加えてみたのですが、エラーは消えませんでした。

746 名前:デフォルトの名無しさん mailto:sage [2017/10/20(金) 20:31:39.76 ID:OAuKO2/4a.net]
PHPをJISで実行しなければいけない理由は何ですか?

747 名前:デフォルトの名無しさん mailto:sage [2017/10/21(土) 08:07:53.66 ID:7N/u1SNi0.net]
>>732
もし数行で対処出来るようなら取り入れようという感じのもので、
出来ないなら出来ないで構わないのですが、
JISで上書きしなおされるというイレギュラーに対処するためです。

748 名前:デフォルトの名無しさん mailto:sage [2017/10/21(土) 10:33:40.68 ID:LXe9cSfz0.net]
PHPで作った自作のフォームに書き込みがなされると
メールで通知してくれるようにしている。

鯖の移転を考えてるんだけど(具体的にはByetという海外無料鯖)
あいにく候補の移転先はsendmailに非対応だったりする
(スパムメール対策だとか)

こういうときってどうやったらフォームへの書き込みを自分宛に
通知させることができるかな?

749 名前:デフォルトの名無しさん mailto:sage [2017/10/21(土) 13:19:00.37 ID:jXM7J8Fl0.net]
>>733
PHPCSに掛けよう
大抵のルールセットはソースがUTF-8以外で書かれていればエラー扱いにしてくれる

internal_encodingの問題じゃないかとは思うが, 不正な文字コードで保存された場合にはリポジトリにpushされる時点でエラー通知が飛ぶようにするべきだな

750 名前:デフォルトの名無しさん mailto:sage [2017/10/21(土) 13:59:33.75 ID:ZxQy+kqda.net]
PHPとGoって何が違うの?LIGが自社サービス開発にGo言語を採用したお話
https://liginc.co.jp/284306
>Go言語がPHP 7の30倍、PHP 5.6と比べるとなんと82倍にも及ぶスピード

こんな記事を見つけました
OPcacheなどを使った場合と比べてどうなのでしょうか?
自分の考えるPHPの魅力は、
Javaからパクったオブジェクト指向、
標準の関数でウェブやデータベースアクセスが色々できて面倒くさくない、
といったものがありますが、
Goのようなモダン言語ならそのあたりもクリアしてるんじゃないかと思います
どうなのでしょうか?



751 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 07:41:34.63 ID:6vhnloCO0.net]
他スレへGo!

752 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 08:49:39.36 ID:FIB6YbKNa.net]
>>734
このbyetってところいいですね
cronも使えるし

753 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 11:43:49.92 ID:hechdin40.net]
>>738
うん、いいところだな、と思ったら肝心のsendmailが動いて無くてな・・・

フォームに書き込みがあるとリアルタイムでメールで通知してくれるプログラムを
PHPで組んでいたんだが、さてどうしたものか・・・

754 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 12:04:54.94 ID:UtqkZ3+I0.net]
例えばプロバイダ等のメールサーバを使えばいいんじゃないか?
もしくはAWSのSEDとかも少量なら無料。

755 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 12:08:52.24 ID:hechdin40.net]
>>740
PHP(しかも管理人でも無い末端のユーザーに)からGmailのSMTPサーバー利用できるの?

756 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 13:05:50.25 ID:4HKeVMJe0.net]
ソケット使ってサーバーとお話し合いすれば出来そう

757 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 18:46:14.40 ID:N3puxcTpa.net]
byetでRSSの出力をしようとしていたのですが、どうもうまくいかないので
調べていたのですが
byetに置かれたファイルを他のサーバから読むと、
This site requires Javascript to work, please enable Javascript in your browser
or use a browser with Javascript support
みたいなページに変わることに気づきました
ブラウザ以外のユーザエージェントから読まれることを禁じているようですね
やはり無料のサーバは何かしらあるのですね
ブラウザからPHPも編集できて、これこそプレイグラウンドやんと思ったのですが・・

758 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2017/10/22(日) 19:45:40.22 ID:UtqkZ3+I0.net]
>>741
出来ない理由がないでしょ?
sendmailにこだわるんだったら話は別だけど

759 名前:デフォルトの名無しさん mailto:sage [2017/10/22(日) 20:10:10.98 ID:hechdin40.net]
>>744
今までmail()を使ってメールを送信していたんだけど
この関数使ってsendmail以外を選ぶことって可能?

760 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 15:31:30.11 ID:fxiC9AE30.net]
>>735
面白そうなものを紹介していただき、どうもありがとうございます。
早速導入して検証してみようと思います。



761 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 18:29:23.56 ID:n7tiHTCJ0.net]
環境で詰まったというわけでなくプログラミングを勉強してる時に気になったことがあるのでテンプレ無しですがよろしくお願いします

インターフェースがクラスの設計書っていうのは説明読んでて理解出来たんだけど、例えば問い合わせインターフェースから最終的に問い合わせA,B,C,Dのクラスを作る前提で各クラスにはインターフェースで定義したメソッド1,2,3があるとします
メソッド2,3はクラスによって処理は違うけどメソッド1は処理が同じという場合はどう設計するのが良いのでしょうか?

共通の処理がなければ各クラス共にインターフェースを継承して作ればいいと思ったのですが、共通の処理がある場合まず問い合わせのベースとなるクラスを作ってそれを継承して各クラスを作るのが正解?

762 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 18:54:12.29 ID:EbwleLYx0.net]
>>747
抽象クラス

763 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 19:03:19.99 ID:n7tiHTCJ0.net]
>>748
もう少し本読み進めてから質問すればよかった・・・
ありがとうございます!

764 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 19:53:41.90 ID:1HzbJqCQ0.net]
>>747
トレイト

765 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 21:05:52.52 ID:tJp0k/Rla.net]
phpDocumentorの書き方ですが
クラスや関数や変数宣言ではない部分に書くコメントの場合でも
/**
*/
という記法で書くのでしょうか?

766 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 21:39:37.94 ID:tJp0k/Rla.net]
それを元にドキュメントを作るのがphpDocumentorの目的ですが
インターフェイスと関わらない部分のコメントはドキュメントに載らないので、
この記法で書く必要はない気もしますが
コメントの記法を揃えないと、それはそれで気持ち悪いです

767 名前:デフォルトの名無しさん mailto:sage [2017/10/23(月) 23:29:47.09 ID:Tv/dpLrE0.net]
>>745
mailだったら何もしなくてもメールサーバー設定すりゃいいだろ
PHPのマニュアルにそのままgmailの送信サンプルあるのに何が不満なんだ?
あまり無料鯖は使わないほうだが規制にひっかかったことないぞ

768 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 00:07:15.92 ID:8OgpvEir0.net]
素直にswiftmailerとか使うのが賢いと思うの

769 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 20:09:11.71 ID:4zuQt35qa.net]
PHPのバッチプログラムをcronで実行させた時に
期待した通りに動きませんでした
調べたらcron時はカレントディレクトリが
スクリプトのあるディレクトリではなく実行ユーザのホームディレクトリになるので
ファイルが思わぬ場所に作成されていたのでした
ファイルアクセスは基本的に絶対パスでやるべきなのですね
ですが、include_onceは相対パスで書いていたのに正常に動作していました
絶対パスで書く方が安心できるとは思いますが、
includeの場合は気にしなくていいのでしょうか?

770 名前:片山博文MZ mailto:sage [2017/10/24(火) 20:22:12.50 ID:+CxSIN/Vd.net]
>>755
データ展開を考えると、相対パスの方が便利だ。絶対パスがコロコロ変化する一方で、他方で相対パスが変化しないなら、相対パスの方がデプロイコストが低くなる。



771 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 20:24:10.80 ID:vrotHuwu0.net]
オレも相対パス派

772 名前:片山博文MZ mailto:sage [2017/10/24(火) 20:38:04.82 ID:+CxSIN/Vd.net]
絶対パスを要求する場所では絶対パスを使う。相対パスを使ってもパスのリンケージが壊れない場所では相対パスを使う。

773 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 20:59:24.65 ID:yBPDUg+O0.net]
>>754
> 素直にswiftmailerとか使うのが賢いと思うの

swifmailer調べてみた、インストール作業が必要なのね
レンタルサーバーだからインストール作業はちょっと・・・
代わりにPhpmailerってのが使えるみたい。これはファイル置くだけでいいっぽいから。

>>753
> PHPのマニュアルにそのままgmailの送信サンプルあるのに何が不満なんだ?

これのことかな?
Byetってレンサバだからsendmail.iniやphp.iniの改変は不可能なんだわ(´・ω・`)

php.net/manual/ja/function.mail.php

Changes required in sendmail.ini

smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=your-gmail-id@gmail.com
auth_password=your-gmail-password
force_sender=your-gmail-id@gmail.com

Changes required in php.ini

SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = your-gmail-id@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
;sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"

774 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 21:09:39.54 ID:Q75mHsE3a.net]
>>759
composer使えよ

775 名前:デフォルトの名無しさん mailto:sage [2017/10/24(火) 22:58:25.66 ID:4zuQt35qa.net]
絶対パスと言ってもベタ書きではなく__DIR__を使って
そのファイル基準の絶対パスを実行のたびに作るやり方なら
ファイルの場所が変わっても問題は起きにくいのでは?
でもたしかに絶対に絶対パスを使った方がいい、というわけでもありませんね
ありがとうございました

776 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 16:08:42.06 ID:Cr59jy+d0.net]
>>761
__DIR__ あたりで絶対パス取って
chdir()でカレントディレクトリはここだと決めて
それから後は全部相対パスを使うようにすればいい

そうすれば>>755で書いてるようなミスは絶対に起こらないし
テスト環境と本番環境の差異も簡単に吸収できる

あとライブラリの読み込みはなるべくオートローダーを使った方がいい

777 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 16:19:44.89 ID:Cr59jy+d0.net]
>>759
根本的に勘違いしてるっぽいし
あなたにレス付けてる人にも色々と問題があるので
今まで付いたレスは全部忘れた方がいい

まず、メールを送る方法は大雑把に2種類ある
1.自分のサーバーのMTAから送る方法
2.外部のSMTPサーバーを使って送る方法

あなたは今まで1の方法で送っていたが、
移転先では1の方法は使えないので2で送ると良い

例えば何らかのメールソフトを送ってメールを送ってると思うが、
それは2の方法なわけ(SMTPサーバーを設定するところがあるよね?)

だからPHPでも同じように2の方法で送れば良いだけ

お手軽なのはあなたも書いてるPHPMailer
WordPressなんかでも実績のあるライブラリで
メールソフトにSMTPサーバーを設定するのと同じ感覚で初心者にも簡単に使える

稀に脆弱性も見つかってるが、あなたの用途にはピッタリの筈


蛇足だが今時sendmailを使ってるところなんてまずない
PostfixあたりのMTAがsendmailと互換性があるように動いてるだけ

778 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 16:29:03.87 ID:Cr59jy+d0.net]
×何らかのメールソフトを送ってメールを送ってると思う
○何らかのメールソフトを「使って」メールを送ってると思う

訂正のついでに、ややトリッキーな手段としては、

A.MTAが使えるサーバーにおいた send.php
B.MTAが使えないサーバーおいた put.php

put.phpからsend.phpへ何らかの手段で送信メールの内容を送って(練習なら別にHTTP POSTとかでいい)、
send.phpを使ってメールを送るという手段なんかもある
APIみたいな使い方やね

779 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 17:44:25.69 ID:hphlT9kR0.net]
レンサバのlocal mtaが使えないような環境のことで質問されてるのに
php.ini編集してmail()関数で送れといってみたり(つか今時mail()関数でメール送るやつなんかいねーよw)
composer使えといってみたり(composerと書きたかっただけだろw)
別の質問で相対パスか絶対パスかとかさ(てかnamespaceとオートローダー使えw)
色々酷すぎるとおもってレスしようとしたらほとんど全部書かれていたでござる

780 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 18:05:21.53 ID:Cr59jy+d0.net]
使えないSEや仕事の遅いPGとかに多い

たったそれだけの事に何故わざわざそんな事をやるわけ?と問いただすと
結局は知識や経験不足で特定の方法しか知らないのが理由
色んな方法を知った上で相手に合わせた方法を提案するのがまともな人

SMTP使ってメールを送れば良いだけの話なのに
いやいや流石にそれは待てと長文も書きた



781 名前:くなるw []
[ここ壊れてます]

782 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 19:02:43.76 ID:iV0okkYXd.net]
ITベンダは複数の選択肢なんて用意しないよ
社内に事例がないことはやらない

783 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 20:09:10.79 ID:eczzyF0za.net]
>>762
カレントディレクトリを早い時点で設定していても
その後ライブラリの中で再設定されない保証もないのでは?
もちろん、そんなことするのはライブラリとして駄目ですが、
可能性としてないわけではありません

784 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 20:18:09.39 ID:iHcJH4nT0.net]
>>763
丁寧なレスありがとうm(_ _)m
おかげさまで安心してPHPMailer使えそう

ただ一点、SMTPサーバーのパスワードを平文で保存しないといけないのが気になるけど
ファイルのアクセス制御をしっかりかければ第三者から見られるわけでも無いし
レンタルサーバーの管理人からは見られちゃうけどそこは管理人を信用することにしますノシ

785 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 20:59:55.31 ID:JdF6ntjza.net]
そりゃ手でも入れられるけどPHPMailerにせよSwiftMailerにせよcomposerの方が楽じゃん
グローバルに入ってなくてもphpコマンドさえ叩ければ使えるし最悪ローカルで操作してvendorごとアップロードもまぁ出来るしな

786 名前:デフォルトの名無しさん mailto:sage [2017/10/25(水) 21:08:30.16 ID:BtMPlyUb0.net]
やっぱり共有フォルダにデータ書き込むのは無理?
phpを対話ログイン可能なユーザーで実行するしかない?

787 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 09:22:38.49 ID:gzc+jHaK0.net]
>>770
そんな事はたぶんみんな分かってるよw
ITベンダ()とかいい出しちゃってる人までいるしもういいよw

788 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 09:32:12.60 ID:gzc+jHaK0.net]
>>768
ただのヘリクツだな
それを言い出すとオートローダーにしたって
元の定義を上書きするような挙動を後付で定義して
めちゃくちゃにすることだってできる場合もあるわけでして

それよりPHPerはもうちょい鯖の知識を付けた方がいい
そもそもPHPが何のユーザーでどういう権限で動いてるのか分かってたら
cronでミスなんかしないんだよね

789 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 09:40:31.55 ID:gzc+jHaK0.net]
>>768
あと元のレスの

> include_onceは相対パスで書いていたのに正常に動作
に誰も答えてないみだから書くけど
phpinfo()でいいからinclude_path確認してみ
たぶんそっちから読んでたんでしょ
includeのPHPマニュアル読むといいかもね

なのでinclude_pathを変えるなんて方法もないわけじゃないけど
普通はやらない

790 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 10:21:31.02 ID:gzc+jHaK0.net]
>>769
> SMTPサーバーのパスワードを平文で保存しないといけないのが気になる
色々方法はあるけど

1.SMTPサーバーの設定を配列とかにしとく
2.1にserialize()かけて文字列にする
3.2に可逆式の暗号化をかける
4.どこか適当な場所に保存

設定を読み込む時は4⇒1の順に逆の事をすればいいだけ
これだと数行で書けそうだし楽かも

さらに言えばgmailなんて無料でいくらでもアカウント作れるので
新しく捨てアカ作ってそのID/PASSを使えばいいw



791 名前:デフォルトの名無しさん mailto:sage [2017/10/26(木) 21:02:24.29 ID:tRiMi79S0.net]
>>775
dd

ちゃんと暗号化のやり方ってあるのね
ありがとうノシ

792 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 03:22:58.82 ID:4DLzKJg10.net]
なんか自宅にテスト用のCentOSマシン欲しくならね?

793 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 06:29:55.24 ID:1txrbLzrd.net]
シェル使えるレン鯖でいいだろ
もしくはVPS

794 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 07:15:15.66 ID:XNLqI4Wk0.net]
item(0)->length; //itemは配列としてitem[0]のstrlen
item->length; //itemは配列としてcount(item)のような感じ
プロパティの部分はメソッドでもいいですが
こういうのってどうやって実装するんですか?
$thisを返すとメソッドチェーンが出来るのはわかるのですが
$this配列にしないと返せないしそうするとitem(0)[0]みたいな参照になってしまって
カッコ悪いしそんな表記は見たこともないので

795 名前:779 mailto:sage [2017/10/27(金) 07:31:39.80 ID:XNLqI4Wk0.net]
忘れてましたが環境は5.4でお願いします

796 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 15:57:31.80 ID:Q4ZTdDse0.net]
>>777
一人でやるならDocker使ってCentOSイメージ使ってコンテナ立てるのが一番楽で早くて手軽だ
VirtualBoxとかVagrantの時代は過ぎた

797 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 17:25:24.66 ID:nbs4Y8NPa.net]
curlにオブジェクト指向のインターフェイスはないのだろうと思って調べていて
CURLFileというのを見つけたのですが、何か思っていたのと違います
普通curlへのアクセス自体をオブジェクト指向化しますよね?
php.net/manual/ja/curlfile.construct.php
を見ると、
オブジェクトを使って手続き型の処理をしていてびびりました
どうなっているのでしょうか?

798 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 18:05:39.00 ID:wVlMe2dFa.net]
無名関数のuseに配列の要素を渡したいんですがuse($hoge['piyo'])と書くとエラーになります
一旦別の変数に代入するか配列ごと渡さないとダメですかね?

799 名前:デフォルトの名無しさん mailto:sage [2017/10/27(金) 23:11:25.54 ID:diny/lofa.net]
CURLOPT_RETURNTRANSFER
をtrueにしたら結果が文字列で返ってくる→分かる
falseにしたら結果が標準出力に出力される→は?
curl実行の際の出力を抑制するためにはtrueにするのが必須になりますが
結果取得のためのtrueなのか出力抑制のためのtrueなのかがはっきりせず、
イケてないと言わざるを得ません
「標準関数なのだから相当の試行錯誤の結果作られているのだろう」
という予想がPHPの場合は通用しませんね?

800 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 01:33:02.73 ID:YoZCditl0.net]
>>783
そのまま$hogeで渡して中で展開するか、別の変数に入れるか

>>784
通用しない



801 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 07:55:58.34 ID:QrqdVCJa0.net]
hogeとかbarって何なんです?

802 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 23:08:37.14 ID:qzigG1UZ0.net]
読んで字のごとく

803 名前:片山博文MZ mailto:sage [2017/10/28(土) 23:11:10.51 ID:TWx2GtJid.net]
>>786
特に意味がない名前を付けたものだ。名前の意味は気にしないでいい。ただ名前は他と区別するためにある。

804 名前:デフォルトの名無しさん mailto:sage [2017/10/28(土) 23:13:38.01 ID:QDh5TOuc0.net]
こっそりhageとかに変える

805 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 01:45:02.78 ID:scCjgZM20.net]
この$hogeーーー!

806 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 01:55:09.22 ID:wekqFwi10.net]
PHPのデバッグの仕方教えておくれ!!

807 名前:片山博文MZ mailto:sage [2017/10/29(日) 02:02:51.30 ID:k1qoOab2d.net]
>>791
警告とエラーの違いはわかるか? テストでは警告はすべて出力させる。
PHP7ではassertが使えるので、活用するように。

808 名前:片山博文MZ mailto:sage [2017/10/29(日) 02:11:50.01 ID:k1qoOab2d.net]
ちなみにPHPのIDEはPhpStormがオススメだ。

809 名前:片山博文MZ mailto:sage [2017/10/29(日) 02:25:50.82 ID:k1qoOab2d.net]
C/C++などでも一般に言えることだが、IDEのデバッグ機能はユーザーによって実行を制御したり、変数の中身を確認できる。例えば、指定した行で実行を止めたり、少しずつ実行させたりできる。

810 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 10:41:47.50 ID:htd7uCcc0.net]
file_get_contentsを何回かやるので、関数化しました。
header部分も欲しいので、$http_response_headerも一緒にreturnするようにしたのですが、
関数化前と違うものが返ってくるようになりました。
キャッシュか何か残ってるのでしょうか?何が原因でしょう?
Set-Cookieヘッダを使うので、返ってくるものが違って挙動がうまくいかなくなって困ってます。
ベタ書きすればうまく動作するのですが、コードがどうしても長くなって読みづらくて。



811 名前:795 mailto:sage [2017/10/29(日) 10:46:01.97 ID:htd7uCcc0.net]
補足です。関数内で何回かfile_get_contentsをやってるわけではありません。
関数内では1回しか使っていません。
前後に共通のコードが書かれてたり、file_get_contentsのリクエストヘッダを少し変えてます。

812 名前:片山博文MZ mailto:sage [2017/10/29(日) 11:10:05.24 ID:k1qoOab2d.net]
二つの戻り値をどういう風にreturnしてる?

813 名前:片山博文MZ mailto:sage [2017/10/29(日) 11:25:49.77 ID:k1qoOab2d.net]
ソースをアップするのが確実だけど、公開できないの?

814 名前:795 mailto:sage [2017/10/29(日) 11:26:37.79 ID:htd7uCcc0.net]
>>797
配列です。
return [ $http_response_header, $body ];

おかしいのは、どうもSet-CookieのセッションIDが変わってしまってるのが原因のようです。
'http' => [
 'header' => "Cookie: " . $this->getCookie($url) . "\r\n"
]
毎回このようなクッキー送るコンテキストは指定して、
file_get_contentsしてから、新規のクッキーは、
$this->setCookie($url, $http_response_header);
という具合にしてからreturnしています。

ベタ書きだとちゃんと動作します。

815 名前:795 mailto:sage [2017/10/29(日) 11:31:50.57 ID:htd7uCcc0.net]
>>798
private function request($url, $context = null) {
 $http_request_header = null;
 if (!$context) {
 $cookie = $this->getCookie($url);
 $context = [
  'http' => [
   'method' => 'GET',
   'protcol_version' => 1.1,
   'ignore_errors' => true,
   'header' => 'Host: ' . parse_url($url)['host'] . "\r\n",
   'Cookie: ' . $cookie . "\r\n",
   "Connection: close\r\n"
  ]
 ];
 $body = file_get_contents($url, false, stream_context_create($context));
 $this->setCookie($url, $http_response_header);
 return [$http_response_header, $body];
}
こんな感じです。

816 名前:795 mailto:sage [2017/10/29(日) 11:33:41.53 ID:htd7uCcc0.net]
インデント調整ミスってif文の閉じ消してしまいました。

private function request($url, $context = null) {
 $http_request_header = null;
 if (!$context) {
  $cookie = $this->getCookie($url);
  $context = [
   'http' => [
    'method' => 'GET',
    'protcol_version' => 1.1,
    'ignore_errors' => true,
    'header' => 'Host: ' . parse_url($url)['host'] . "\r\n",
    'Cookie: ' . $cookie . "\r\n",
    "Connection: close\r\n"
   ]
  ];
 }
 $body = file_get_contents($url, false, stream_context_create($context));
 $this->setCookie($url, $http_response_header);
 return [$http_response_header, $body];
}

817 名前:片山博文MZ mailto:sage [2017/10/29(日) 12:34:43.84 ID:k1qoOab2d.net]
Cookie に =>がない。

818 名前:片山博文MZ mailto:sage [2017/10/29(日) 12:35:56.57 ID:k1qoOab2d.net]
じゃなかった。カンマとピリオドを間違えている。文字列をつなげるのはピリオド。

819 名前:795 mailto:sage [2017/10/29(日) 12:40:46.31 ID:htd7uCcc0.net]
>>802
レスありがとうございます。
そこはドット演算子で連結しているのでそれで問題ありません。
って・・・ドットじゃなくてカンマになってる。
お恥ずかしい。エラーにもならないので気づきませんでした。
どうもありがとうございます。無事動くようになりました。

820 名前:795 mailto:sage [2017/10/29(日) 12:41:28.48 ID:htd7uCcc0.net]
リロードしてませんでした。感謝!



821 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 15:35:37.96 ID:DVVe4DD2M.net]
IDEとxdebug使ってのデバッグがイマイチ使いこなせないわ
毎回設定してはめんどくさくてやめる
フレームワークとか作る仕事ならまだしも、
フレームワーク使ってつくるもんだと変数トレースしたいとか
ブレイクポイント使いたいとかあまりない気がしてて
複雑怪奇なシステムとか作るなら必要なんだろうが
iOSアプリとかのSwiftとかだとないと厳しいけどさ

822 名前:片山博文MZ mailto:sage [2017/10/29(日) 15:38:34.24 ID:k1qoOab2d.net]
モダンブラウザなら、ブラウザからでもデバッグできるし、色んな機能があるよ。

823 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 17:24:25.73 ID:xmzrQ2Sc0.net]
もうechoと打たなくていいんだ!

824 名前:デフォルトの名無しさん [2017/10/29(日) 17:27:03.74 ID:lZu6ERZg0.net]
有料のPHPStormじゃなくて
無料のnetbeans使ってバグ全部取ったのに
ブラウザが真っ白のまま
もう何がなんだか・・・

825 名前:デフォルトの名無しさん mailto:sage [2017/10/29(日) 22:41:34.91 ID:RyqL6Q1z0.net]
バグ全部取りきれてないんだろ

826 名前:片山博文MZ mailto:sage [2017/10/29(日) 22:51:58.54 ID:k1qoOab2d.net]
>>809
警告をオンにしてhtmlソース見ろよ

827 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 00:11:23.58 ID:UPoKErNA0.net]
>>809
netbeansでもxdebug使えるからトレースすりゃいいんじゃないの?
バグじゃなくてエラーを全部なくしただけでしょ?
本当のデバッグはそこがスタートだよ
どうせエラー表示したら500エラーが出てるよ

>>806
作り方がうまいからじゃねーの
まぁ、新規で使うことは少ないけど、改修や保守開発だと必須じゃね

828 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 00:11:52.95 ID:UPoKErNA0.net]
>>809
あ、PHPってちゃんとログにエラー残してるからログも見ろよ

829 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 00:12:19.06 ID:UPoKErNA0.net]
>>809
PHPのログ、フレームワークのログをみて
さらに自分でログ出力もしっかりしてな

830 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 00:56:01.34 ID:JH+/yPWP0.net]
>>806
フレームワークの時点でバグが潰されてるから
FW使う一方ならそんな
深いデバッグ要らないってのはあるな

>>812
保守だとプログラムを理解しづらいからね



831 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 05:43:01.84 ID:OFPISIv40.net]
テンプレート言語でフレームワークを使うという冗長

832 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 14:24:02.82 ID:6Zg8+NGr0.net]
Google Apps Scriptで
www.pre-practice.net/2017/10/line-bot_22.html?spref=tw
ここを参考にLINEBOTを作っていて、
文章中の特定の文字列に反応して返答するようにしたのですが、
(1)
else if (strpos(input_text, "寒い") !== false ) {
reply_text = "もう冬だね";
  }

これを挿入しても反応してくれません。
その上、その下部に配置した

(2)
else {
reply_text = "答えられません";
}
が反応しなくなります。
(1)を削除すると、(2)は動きます。
(1)のstrposを正常に稼働させるには
何がいけないのでしょうか教えてください。
お願い致します。

833 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 14:33:01.75 ID:6Zg8+NGr0.net]
>>817
訂正
(2)だからというわけではなく、
(1)があるとその下部のelseがすべて無効になります
削除すると、すべてのelseが反応するようになります。

834 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 14:52:57.48 ID:xmd0Xo8s0.net]
データベースに記事のデータを無数に登録しておき、それをPHPで読み出して
ブログサイトのように表示するみたいなプログラムを作りたいのですが
そういうのってWebサイトではありがちな気がするのですが、何か簡単に実現できる
フレームワークやツール的なものってあるのでしょうか

835 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 15:21:21.27 ID:TBBBeiZLa.net]
>>817
Google Apps Scriptってよく知らんけどJavaScript互換じゃないの?

836 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 15:38:04.49 ID:6Zg8+NGr0.net]
javaScriptがわからないのですが、
上記の>>817のソースをそっくりそのままコピペすると、正常に動くんです

else if (strpos(input_text, "寒い") !== false ) {
reply_text = "もう冬だね";
  }

ほかは何もいじらずこれだけを挿入するのですが、「寒い」のメッセージに無反応なんです。

837 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 15:51:26.23 ID:6Zg8+NGr0.net]
>>817質問変えます
www.pre-practice.net/2017/10/line-bot_22.html?spref=tw

上記URLのソースコードを使用して、
文章中に「寒い」が含まれるメッセージが来たら
「冬ですね」と返答する事ができるようにするにはどうしたらいいかお願いですから教えてください。

838 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 16:09:26.30 ID:6Zg8+NGr0.net]
////////////////////////////
var input_text = e.message.text;
var reply_text = "";
if (input_text == "こんにちは") {
reply_text = "元気?";
}
/////////////////////////

現状は「こんにちは」のテキストに完全一致でしか「元気?」と出力しない状態です。
これを文章中に「こんにちは」が含まれる部分一致の場合に「元気?」と出力する方法教えてください。
連投すんません、このくだらない問題に2日無駄にしてつらいです。

839 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 16:14:49.49 ID:sK+sC+Du0.net]
>>822
strpos このメソッドって存在しますか?

文章中に"寒い"があるかどうかを判定するだけなら

input_text.match(/寒い/)

で判定出来るんじゃないかな?

840 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 16:31:42.84 ID:vEI+28/Ca.net]
>>823
えっと、間違ってたらごめんだけど、見た感じ>>817はJavaScriptのコードで、strposはphpの関数だから、存在しない関数を使ってるせいでエラーになってるんじゃないかな
containsやindexOfみたいなJavaScriptの関数で判定してみたらどうでしょうか



841 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 16:45:24.01 ID:6Zg8+NGr0.net]
>>824
>>825
ありがとうありがとうありがとうありがとう
ヒントくださって本当にありがとう
行き詰まって調べたくても何もなかったからどうにもできなかった
その二つ調べて頑張ります本当にありがとう

842 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:15:37.08 ID:JH+/yPWP0.net]
>>819
ワードプレス

843 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 17:34:29.87 ID:6Zg8+NGr0.net]
>>824
>>825
     )、._人_人__,.イ.、._人_人_人
   <´ indexOf使ったら動いたよ!! >
    ⌒ v'⌒ヽr -、_  ,r v'⌒ヽr ' ⌒
// // ///:: <   _,ノ`' 、ヽ、_ ノ  ;;;ヽ  //
///// /::::   (y○')`ヽ) ( ´(y○')    ;;|  /
// //,|:::     ( ( /    ヽ) )+ あ   ;| /
/ // |:::     +  ) )|~ ̄ ̄~.|( (   り   ;;;|// ////
/// :|::       ( (||||! i: |||! !| |) ) が    ;;;|// ///
////|::::    +   U | |||| !! !!||| :U と ;;; ;;;| ///
////|:::::       | |!!||l ll|| !! !!| |  う ;;;;;;| ////
// / ヽ:::::       | ! || | ||!!|    ;;;;;;/// //
// // ゝ:::::::: :   | `ー----−' |__////

844 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 18:06:32.72 ID:ki8heFlTa.net]
>>828
良かったけど、そもそもなぜここで聞いたんだw
がんばってください

845 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 18:11:09.44 ID:sK+sC+Du0.net]
優しいスレだなあ、ほっこり

846 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 19:38:09.54 ID:EhzU2sDl0.net]
>>806
初心者がいきなりフレームワークという最近の傾向には俺も疑問

フレームワークを知らなかったからこそ、
初めてチーム組んでフレームワークを使った開発をした時に
その必要性や有難味を理解できるもんだ

酷いのになるとフレームワークの使い方しか知らなくて
全く潰しの効かない人とかいるしね
最近のruby界隈は結構酷いのがいる(もちろんPHPよりはましだがw)

847 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 19:48:34.15 ID:EhzU2sDl0.net]
>>782,784
どうなってる?と言われても知らんがなw

そう思うなら自分で作ればいいじゃない
curlの関数群にOOPなインターフェースを与えるのなんて簡単な事だろ

CURLFileがいけてない?
PHPのcurlなんて単なるlibcurlのうっすーいラッパーに過ぎないが
PHPのcurlは「@」の扱いからして全然いけてないよw

他人が設計したクラスに文句垂れるだけでろくにラッパークラスも作れない人なの?
違うでしょ?

他のレス見ても君はPHPには明らかに向いてない
君の性格にはPhthonがおすすめ

PHPなんてクソ言語はさっさと捨てて
ついでにこんな糞スレにも二度と戻って来ない方がいい

848 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:00:34.82 ID:6Zg8+NGr0.net]
ほんとマジありがとうございました。

849 名前:デフォルトの名無しさん mailto:sage [2017/10/30(月) 21:19:35.82 ID:6OnifbBOM.net]
>>831
まあ、言いたいことは分かるよ
でも、たとえばAPCキャッシュがどういう理屈で速い機械語書き出してるか?
とかそういうことまで把握してるペチパーなんてほんの一握りだろう
それでもみんなAPCキャッシュ使ってるからな
どういう層までやりこんで覚えるかは時代の流れもあるんじゃないかなぁ
慢性的な技術者不足だし、この傾向はどんどん進んでいくと思うけどね

850 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 01:49:29.16 ID:TDK9QP8S0.net]
APCなんて5.3の頃にとっくに滅んだろ・・・。



851 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 07:33:32.84 ID:hw8F/Qhk0.net]
>>827
やはりワードプレスってそういうものなんですか
どうもです

852 名前:デフォルトの名無しさん mailto:sage [2017/10/31(火) 14:52:17.88 ID:TJmT6ypb0.net]
>>835
ああOPcacheだっけか、今は
歳とって記憶がもうやばい

853 名前:デフォルトの名無しさん [2017/10/31(火) 21:30:40.63 ID:vrxKr+8C0.net]
てか、APCにしろOPcacheにしろ、中間コードをキャッシュしてるだけで、そっこから実行コードにするのは別のとこでしょ?

854 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 00:51:20.56 ID:Do6LjQMZ0.net]
初心者はフレームワークを使わないほうがいいんですか?

855 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 01:26:07.73 ID:2VhajyTi0.net]
目的次第か
ただサイト作りたいだけなら使うべきだろうし、
PHPを極めたいとかプログラミングを楽しみたいとかなら
使わずに一から作る方がいいかもしんない

856 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 06:31:00.29 ID:SVj9mMjCd.net]
phpはテンプレート言語だからフレームワークなんて必要ないしね

857 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 08:06:41.70 ID:y4RLmNPl0.net]
車輪の再発明うんぬん言うのは、手っ取り早く目先の仕事を片付けたいなら
フレームワークのような既存コード使えって話であって、プログラマーとして
スキルを高めたいって話なら、例え誰かが既に実装してる機能であっても
自分で試行錯誤して作る経験をつむことに意味があるからね
この点については「プログラマが知るべき97のこと」にもあるね

858 名前:デフォルトの名無しさん [2017/11/01(水) 12:25:32.18 ID:6Bes9s9x0.net]
97って多すぎるんだよな… 8つくらいに絞れよ…

859 名前:デフォルトの名無しさん [2017/11/03(金) 00:16:36.67 ID:N/6B30hr0.net]
ubuntuでphp7をpurgeしたんだけどphp -vでみたら
バージョンが7.0になったままなんだけど
php7がpurgeできてないってことですか?

860 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 00:24:51.93 ID:khFcMPIR0.net]
>>843
いまググったら107個に増えてた



861 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 02:49:44.71 ID:9CXEo34m0.net]
97を8つくらいに絞ったら
個々のページが増えるだろ

つまり8章立ての本になる
20ページとかの本じゃ売れないからな

862 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 04:27:57.37 ID:E/qemGJoa.net]
PHPはコメントに#も使えますが
シバンは<?phpより前に書かれるので、
これはシェルスクリプトやPerlのように「コメントだから無視されている」
というわけではないですよね?
何故PHPでもシバンが無視されるのでしょうか?

863 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 04:30:09.06 ID:9CXEo34m0.net]
そう読める機能が実行環境に備わってるから

864 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 11:45:13.22 ID:E/qemGJoa.net]
「一行目が#!から始まっていたら無視をする」
という処理を行っているのでしょうか
たしかにふるまいを見るとそうしているように見えますが、
ドキュメントのどこに書いていますか?

865 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 12:45:29.26 ID:lmIJ2Kma0.net]
ファイル単体が純粋にPHPのコードで書かれていても
PHPはテンプレート言語でもあるのでHTMLとの境界を定めるために<?php開始タグが必要
これはCGIとして動作させるためにシバンを書く時も例外ではないので

866 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 16:14:45.84 ID:6RtNgLoYa.net]
PHPで標準出力を一時的にファイルに変えることは出来ますか?

867 名前:デフォルトの名無しさん [2017/11/05(日) 17:48:41.64 ID:YrMOHTVWE.net]
なんでここIPでないの?

868 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 17:53:09.84 ID:5rLvqL+M0.net]
スレ立てる時にワッチョイの指定で出来るけど、
そこまでやる必要があるのかな?

869 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:18:41.00 ID:mZtOvkfq0.net]
IPまではいらない

870 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 02:07:54.67 ID:4QwjxNvAa.net]
https://qiita.com/shinkuFencer/items/d7546c8cbf3bbe86dab8

file_get_contentsのタイムアウトを設定しても
何故か設定値の2倍の時間がタイムアウトまでの時間になる
という情報がネットにあります
これはstream_context_createで作成したストリームコンテキストを
fopenに渡した場合でも同じなのでしょうか?



871 名前:デフォルトの名無しさん [2017/11/06(月) 09:37:09.15 ID:RWNw7rPfE.net]
自分で試せば分かることを聞くのかw

872 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 10:41:08.05 ID:8ugsVuBB0.net]
サーバーサイドで、PHPがNode.jsより得意なことってなんでしょう?

サーバーサイド・クライアントサイドで共通の言語を使うという夢を捨てきれずも
とりあえずPHPに甘んじているところです

873 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 11:07:34.47 ID:xs24eGnra.net]
>>856
単に「試して終わり」の問題じゃないですから。
タイムアウトが2倍になるのがそもそも意味不明です
その意味不明の現象は今でも存在するのかとか
原因は分かったのか、そういう周辺の情報も知りたいので質問しました

874 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 11:09:54.91 ID:xs24eGnra.net]
>>857
デフォルトの関数が揃っていることでしょうか
PHPは十徳ナイフみたいなものです
つっこんだ使い方しようと思うといまいち使えないところも笑

875 名前:デフォルトの名無しさん [2017/11/06(月) 11:39:06.57 ID:RWNw7rPfE.net]
>>858
タイムアウトが2倍になる理由を調べたいなら--enable-debug付けてコンパイルしたphpでgdbで調べるしかないんじゃないの?

>これはstream_context_createで作成したストリームコンテキストを
>fopenに渡した場合でも同じなのでしょうか?

file_get_contentsと同根の現象かは自分で試せば分かるよね
丸投げしないで試した上で質問してよ

876 名前:デフォルトの名無しさん [2017/11/06(月) 11:43:22.57 ID:RWNw7rPfE.net]
file_get_contentsだとタイムアウトが2倍になるので
stream_context_createで作成したストリームコンテキストを
fopenに渡したどうなるか試してみたら2倍に(なりました|なりませんでした)
これはどうしてでしょうか?

なら答えたくなるのにな〜

877 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 12:07:39.62 ID:xs24eGnra.net]
>>860
既にやってる人がいるなら聞く方が早いですよね?
なんで車輪の再発明を強いるんですか?

878 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 12:07:52.24 ID:8ugsVuBB0.net]
>>859
なるほど、やはりPHPはWebに特化した言語だけに、汚らしいけど話が早い言語って
感じなんですかね、他と比べると
自分にとってはそれはけっこう魅力的かもしれません
サーバーサイドに労力使ってる場合じゃないって考えなので

しばらくはPHPで良い気がしてきました、どうもです

879 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 12:08:58.41 ID:xs24eGnra.net]
>>861
あなたの答えたい|答えたくないなんてどうでもいいんですよ
有能な人はしょうもない出し惜しみはしません

880 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 12:14:52.40 ID:mhUqyjwpx.net]
>>857
node.jsってwindowsで動かないじゃないか



881 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 15:16:15.83 ID:YE3zxJrDM.net]
はい?

882 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:39:49.53 ID:GazGq00E0.net]
元々MVCやWebフレームワークなんかの概念が薄かった時代に開発された
C言語用のWebフレームワークの前身みたいなもんで元々プログラム言語として開発されたものじゃない
他に飲まれるの嫌って発展優先させて作りなおすこともしなかったから
エイリアス作ったりJavaに似せたり文法的に扱いやすいものになったけど汚いもんになってしまった
省略可能な引数に後々問題が出てやっぱ省略だめ!って言いたくなるのは仕方ないとしても
歴史的理由を言い訳にしてるものはさっさと廃止すればいいのに

883 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 19:44:28.39 ID:tjV5ukzM0.net]
>>857
PHPは使うハードルが低いのがメリット
現にあなたが甘んじてるのが動かぬ証拠

Nodeはクラサバを共通化できても
導入のハードルが高い
そもそもJavaScriptが扱いにくい

ぶっちゃけJSの仕様も汚い
同じ汚いなら使いやすい方が良い

884 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 20:16:13.56 ID:HXs9Xdf90.net]
車輪の再発明をするな=「手を抜くこと」と勘違いしてるアホっているよな

Wikipediaにすら
> プログラマもしばしばその技術を深く理解して自身の技術を向上させるために敢えて「車輪の再発明」をすることもある
と書かれているのになぁ…

これじゃPHPer()と揶揄されるのも仕方ないわw

885 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 20:23:03.01 ID:HXs9Xdf90.net]
>>863
PHPは短時間で「とりあえず動きゃいい」って感じで書くのには良い言語だが
「正しく」書こうとすると、他言語の経験がないとかなり難易度が高い



886 名前:えばGETリクエストの値の取り方
例えばPDOでのDB接続
例えば正規表現
挙げればきりがないが、まともなコード載せてるページなんかほとんどないよ

知識がないと、うんこの海から金塊を探し出すぐらい難しい
[]
[ここ壊れてます]

887 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 20:35:09.12 ID:HXs9Xdf90.net]
ちなみに正規表現界隈では、PHP使いはもう正規表現をblogに書くな
なんて何年も前に言われてたし
今でもPHP使いが載せてる正規表現はレベルが低すぎて話にならない
とよく言われる

まぁでも「正しく」書く必要がないケースなら
結果を最短で出せる事もよくあるから書けたら便利よ

例えば手元でちゃちゃっとスクレイピング処理したい時とかね
下手すりゃ他言語の重いIDE起動してる時間でPHPなら結果まで出せる

888 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 23:27:37.35 ID:B8HU4dAL0.net]
>>868
いやJavaScriptの方がPHPよりだいぶマシ。
ここ3週間ほどPHPをいじってみたが、変な癖が付くかも、というのは分かる。

889 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 02:54:22.53 ID:2tGtnuO50.net]
正規表現のスクリプトは基本コピペしかしたことないわ
エラー出たらまんま知恵袋に乗っけてベストアンサーをまた再コピペ
これで一度も困ったことない
今後もずっとこれで行くつもり

890 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 04:19:21.38 ID:3AcTSaMS0.net]
>>例えばPDOでのDB接続

確かによくわからんエラーばかり出る



891 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 06:16:53.91 ID:/dIYjzhA0.net]
>ここ3週間ほどPHPをいじってみたが、変な癖が付くかも、というのは分かる。
どういう変な癖?

892 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 12:19:29.07 ID:b0eaqMwO0.net]
結論としてはサーバーサイドはRubyとかJava使えってことなの?

893 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 13:33:59.17 ID:gh/A0PF2M.net]
>>864
有能な人でもこの書き込み見たあとに書き込むことはない

894 名前:デフォルトの名無しさん [2017/11/07(火) 15:38:49.25 ID:JdOQp9jh0.net]
>>864 は、せめて自分が有能になってから発言すべきだったな。

895 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 17:00:01.66 ID:qTtPzD5n0.net]
>>876
小規模ならJavaよりPHPの方が手軽で使いやすい

896 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 17:55:39.61 ID:lL2IWG1w0.net]
スマホアプリから始めてる最近の連中には1つの言語でいいから楽かもしれないけど
Javaは時間的な開発コストがかかりすぎ
PHPがいいかといったらPythonとかと比べちゃうと良くないけども

897 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 18:10:39.32 ID:AlF6JHNEa.net]
サーバーサイドなら今のところGo言語が一番使い心地いい
でも最近Elixirが気になる

898 名前:デフォルトの名無しさん [2017/11/07(火) 18:36:43.37 ID:/3lRCBy00.net]
ワールドワイドウェブ←PHP。
業務システム←Java。
こういう使い分け。
作られた目的で使うのが楽。

899 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 19:12:10.18 ID:44ffyb5e0.net]
PHPを勉強しちまった
Javaは勉強したくない・・・

900 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 19:53:28.62 ID:1fNnAx110.net]
Javaはガチガチすぎて自由度がないからな
コードは長ったらしいものが出来上がるし出来れば触れたくない
自由度高すぎでなんでも配列になりがちなPHPはコード汚くなりがちだけど個人の力量次第
簡単に始められるけど素人向けにみえて全然素人向けじゃないのがPHP
PythonはPHPerが次に学ぶには最適
オブジェクトと手続きが混在した同じようなパラダイムだからとっつきやすいだろう
Goは知らね 一度やろうとして入れたらアンチウイルスソフトが反応したから諦めた



901 名前:デフォルトの名無しさん [2017/11/07(火) 20:21:31.14 ID:/3lRCBy00.net]
同じことが出来るなら好き嫌いで選ぶのも良いのだが、JavaとPHPは明らかに対象が違う。

902 名前:デフォルトの名無しさん [2017/11/07(火) 20:22:50.59 ID:/3lRCBy00.net]
対象による分類でいえばPythonはJavaと同じグループに属するのではないか。

903 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 22:02:46.43 ID:1fNnAx110.net]
対象なんてPHPと比較してんだからWebアプリに決まってる

904 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 23:51:12.20 ID:Sa0oaD5/0.net]
>>875
汚いコードを書く癖、だな。

というか仕様が汚いから、綺麗なコードを(上級者でも)書きにくい。
だからPHPには本質的に綺麗なコードがない。(はず。或いは他言語と比べて圧倒的に少ない)
この結果、PHPのみのPHPerは綺麗なコードを見たことがなく、何が綺麗なのか理解出来ない。
たぶんこれがPHPerが強烈に馬鹿にされる理由ではないかな。

JavaScriptの問題は局所的なので上級者なら回避出来るし、ちゃんと書けばかなり速く動く。
(実際は糞コードが蔓延しているが)
PHPの場合は上級者でも「これでどうしろと?」になってしまう。腕があっても発揮しようもない。
これが上級者が強烈にPHPを敵視する理由だろう。
逆に言えば、腕が悪くても(上級者に)置き去りにされないし、
仕様の洗練具合も「ちょっと調子に乗り始めた」中級者に成り立ての頃と合致しているから、
その辺の人達にとっては非常に心地いいはず。これが多数から支持されてる理由だろう。
人数でいえば必ず上級者<<<中級者<<<初心者だし。

例えば、Cの関数ポインタの型宣言とか、洗練されてはいるが洗練されすぎてて意味不明だ。
そこはGoでは反省して仕様としての統一性より可読性を取ったと公式に言われてる。
https://blog.golang.org/gos-declaration-syntax
従来はほぼ全ての言語が「上級者用」に出来てた。
ただ今はもう全員がプログラミングする時代だから、変わりつつあるって事だろう。
PHPはある意味「馬鹿に丁度いい頃合い」の仕様だから、人数だけで言えば支持されることになる。

とはいえ、綺麗なコードを書くことも、後からのメンテと実行性能を上げる手段でしかないから、
使い捨て主体で早くリリースすることが重要なWebの世界では必ずしも必要ではない。
それがいまだにPHPが盛んな理由だろう。

905 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 01:26:15.87 ID:2WiQV3soa.net]
世界の嫌われ言語第二位にランクインしたぞ

906 名前:デフォルトの名無しさん [2017/11/08(水) 07:48:26.15 ID:2qR6LDLx0.net]
二位か。
名誉である。

907 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 11:19:42.51 ID:jWA44EcM0.net]
3位と4位の間に超えられない壁がある4位
https://japan.zdnet.com/article/35109803/
タイトルは嫌われてるって書いてるけど使いたくない言語が正しい
変態言語は上位になる
シンプルなPythonに比べて複雑なRubyが上位なのも納得

908 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 12:59:13.64 ID:MI2OSjnpa.net]
PHPはコミュニティベースの多数決意思決定がとてもダメに見える
良くも悪くも特にオープンソース開発では優しい独裁者は必要なんやなって

909 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 19:25:20.07 ID:ZQcBC1OD0.net]
>>892
開発を早急に進めるには独裁的な方法は良いと思うけど
PHPの場合は、未だに5系を使ってるのが多いようで
あまり急ぐ必要性もないのかなとも思う。

910 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 19:38:40.39 ID:ToLSiZTza.net]
6の失敗で様子見が長いのかな
5を使うのって



911 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 20:24:43.81 ID:yXBCWp2w0.net]
>>891
上位の言語は
仕事で使わざるを得ない状況になって
嫌いになったんじゃないの

Clojureとか仕事で使わないだろ

912 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 20:59:17.53 ID:CdH0AkI70.net]
5.x 系はもうセキュリティfixのみ。5.6以外は既にセキュリティ保守もされていない。
7.0も来月には保守に移行、とっとと、7..1系に移るべし。

php.net/supported-versions.php

913 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 21:06:09.41 ID:yXBCWp2w0.net]
>>891
Haskellの嫌われぶりも相当だな
前後のC/C++やJavaに比べたら
使用者人口が圧倒的に少ないだろうに

914 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 21:15:37.90 ID:7RlofB9P0.net]
>>891
いまいち見方がわからん
横の長さは何を表してるの?

915 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 22:37:46.88 ID:sLplUZSS0.net]
>>898
好かれてない度

916 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 01:20:29.97 ID:2oYBDwYL0.net]
webプログラマーの俺が思う、PHPの気に入らない点

関数の引数に法則性がない、せめてhaystackとneedleの順序ぐらいは統一してくれ
変数にグローバルスコープがない(いちいちオブジェクト化しないといけないのが鬱陶しい)

917 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 01:46:15.65 ID:oTLZ7Zqm0.net]
グローバル変数はできるかぎり使うな

918 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 07:05:11.47 ID:pml0kuKU0.net]
サーバーサイドだとPythonが今好まれてるってことなのか?
でもWebに特化してないし、作りやすいのかね

919 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 08:58:24.86 ID:oTLZ7Zqm0.net]
Pythonは機械学習で流行に乗ったけど
Webアプリは作りやすくない

920 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 09:44:04.31 ID:Hn5JglTy0.net]
PHPのようにサクっとはじめれないけど
用意するもの用意したらPHPより早く完成品出来上がるよ
まあぶっちゃけサーバサイドなんてなんでもいいんだけどね



921 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 17:38:26.86 ID:Q2HXYGEY0.net]
Ruby on Railsに精通してるやつのWebアプリデプロイするまでの尋常じゃないスピードにビビる

922 名前:デフォルトの名無しさん mailto:sage [2017/11/09(木) 18:16:04.39 ID:aoNmqvFxa.net]
RubyはぶっちゃけいかにRailsを使いこなせるかの言語だからな

923 名前:デフォルトの名無しさん mailto:sage [2017/11/10(金) 08:18:02.39 ID:RkYtVGAQ0.net]
>>852
IPがいる理由が謎
セキュリティ的に害悪でしかない

924 名前:デフォルトの名無しさん mailto:sage [2017/11/10(金) 09:40:25.64 ID:UzIhbEi50.net]
固定IPでアクセスしている奴がいるのか?
そちらの方がセキュリティ感覚がないんじゃ

925 名前:デフォルトの名無しさん mailto:sage [2017/11/10(金) 11:58:24.69 ID:YGcZE3ch0.net]
IP表示なんてしたらスレ乱立するのは目に見えてるからなあ
ID出す出さないで長年揉めてたぐらいだし

926 名前:デフォルトの名無しさん mailto:sage [2017/11/10(金) 19:24:21.77 ID:LsbUks3P0.net]
IDがないと自演し放題で荒れるからな
レンサバとWebProgとかIDないけど
荒し簡単にNGできなくてイラつく

927 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 11:23:34.57 ID:4mbmImdF0.net]
>>902
Pythonはプログラミングを初めてやる人にはいい言語
Web向けのフレームワークもいくつかある
PHPみたいに1つの事をやるのに複数のやり方がある言語は
とっつきやすいが学習にとってはデメリットも多い

言語なんか手段に過ぎないからな
近所のコンビニへ買い物いくのにF1カーに乗るアホはおらんだろ
特定の言語にケチ付ける人ってたぶん仕事やらせたら手が遅いんだろうなって思う

928 名前:デフォルトの名無しさん mailto:sage [2017/11/13(月) 11:27:09.02 ID:4mbmImdF0.net]
>>900
グローバルスコープはあるが使うわけがない
もしその理由が分からないなら相当ヤバいと思う

グローバルスコープ汚染しまくる言語って大昔のperlや
アホの書いたJavaScriptのイメージが強いが
どの言語出身?

929 名前:デフォルトの名無しさん mailto:sage [2017/11/14(火) 00:49:07.85 ID:Cwk2PbMg0.net]
phpdbgをみんな使ってる?

930 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 20:26:54.97 ID:daoo5ECaa.net]
久しぶりに紀伊國屋に行ったら
PHPとPythonの本棚におけるシェアが増えて、Rubyが減っていました
PHPの場所は一時はかなり減っていましたが、大分盛り返した様子です
Pythonの流行はあきらかに機械学習の興隆と連動しています
ウェブではまだまだPHPが存在感を発揮していくのでしょうか?



931 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 21:14:09.06 ID:0WmOdyh+0.net]
WebならPHPが一番多いよ

932 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 22:59:14.51 ID:daoo5ECaa.net]
Pythonもしていますが、定数がなかったり、
オブジェクトのメソッドの第一引数がオブジェクト自身だったりと
いまいちモダンじゃないですよね
PHPは節操なく流行りを取り入れる姿勢なので、
モダン性が保たれているところはありますね

933 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 23:28:54.07 ID:0WmOdyh+0.net]
いやPythonの方がキレイな言語だろ
たしかにselfだらけなのは冗長だと思うが

934 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 23:34:30.35 ID:lNSovIGo0.net]
プラグマティック
[形動]実利的。実際的。実用主義的。実利主義的。

935 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 23:45:25.89 ID:H4f2B3nT0.net]
Pythonもなんちゃってオブジェクト指向だからPHPといいお友達だよ

936 名前:デフォルトの名無しさん mailto:sage [2017/11/16(木) 23:51:10.19 ID:EIKDxuPB0.net]
webプログラミングやるなら
一度はPHPを勉強して損はないと思う

937 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 00:03:09.52 ID:Fyg+unP40.net]
JAVA、C#で徹底的に冗長性排除したのに
再び冗長性のあるプログラミング言語が興隆してくるあたり
人間の堕落さが垣間見れる

938 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 00:21:03.83 ID:Geoynnp60.net]
>>921
ナイスジョーク

939 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 01:03:42.02 ID:5LcvEdL4a.net]
タチの悪いジョークだなぁ

940 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 01:09:05.80 ID:XOzbrcQ20.net]
Javaの方が冗長



941 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 01:18:51.27 ID:ma/QnAue0.net]
「太子。人間、孤独であるよりは悪とともにあったほうがよいとみえるな」

942 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 01:47:17.15 ID:kCNvi1ria.net]
>>920
ガバガバ感を弁えるためにな

943 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 13:10:05.05 ID:lGyDcZb2a.net]
PHP以外の言語は、ある機能を使いたかった時に
この関数が含まれているパッケージは〜とか、
いちいち調べなきゃいけないのが面倒くさいと思っていましたが
パッケージをクラス、関数をメソッドくらいの感覚で考えたら
そんなに面倒くさくないと気づきました

944 名前:デフォルトの名無しさん mailto:sage [2017/11/17(金) 14:52:01.73 ID:jmNY7gbT0.net]
PHPは自分さえしっかりしてれば(スキルがあれば)エレガントに安全に書ける言語だと思うよ
だから個人でWebやる場合、そういう自信があるなら有力な選択肢だと思う

ただ仕事などチームでやる場合、糞コード生産しそうな奴がまじってるとPHPは
選択したくないかも(必ずいる)

945 名前:デフォルトの名無しさん [2017/11/18(土) 14:42:47.14 ID:2G8xzSWu0.net]
PHPは書くと楽な言語であって、読むのは最悪。他人が絡むから。

946 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 18:17:30.20 ID:STVf0d+x0.net]
>>929
プログラムって大体そういうものだ

947 名前:デフォルトの名無しさん mailto:sage [2017/11/18(土) 21:10:40.83 ID:nUbPTPuI0.net]
だから差が出ないようにコーディング規約とかあるんやで

948 名前:デフォルトの名無しさん [2017/11/18(土) 23:59:16.26 ID:AvOAupbn0.net]
年収500万でPHPのソースレビュー要員募集してるところもあるくらい
規約は徹底したほうがいい
規模でかいなら尚更

949 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 22:41:33.65 ID:t82UL78Aa.net]
>>736の件ですが
なんとGoはオブジェクト指向言語じゃないと分かりました
あくまでモダンCであってモダン言語と呼ぶには苦しい感じがします

950 名前:デフォルトの名無しさん mailto:sage [2017/11/19(日) 23:44:09.71 ID:MOlyybMm0.net]
モダン=オブジェクト指向みたいになっとるがな



951 名前:デフォルトの名無しさん [2017/11/20(月) 00:27:23.79 ID:izNCqxH/0.net]
どっちゃもいけるC++やPHPみたいな言語が、適材適所で使えて超便利。

952 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 09:21:45.62 ID:5CA8WQiUM.net]
AWS Lambdaでネイティブサポートする言語に
PHPが入っていないのって何故でしょうか?

GoとRubyは次にサポートする言語の投票対象になってましたが
PHPは入ってませんでした

953 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 10:34:23.37 ID:Jkag+4y4a.net]
オブジェクト指向と関数型を両方できるのが今のモダン言語でしょう

954 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 12:09:37.89 ID:m3rw4xgt0.net]
Scalaとかな

955 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 12:16:46.46 ID:L+bcHflj0.net]
関数型言語を学んだことないんだけど
学ぶとどんないいことがある?

956 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 17:53:01.40 ID:jMZlCBbia.net]
・むやみやたらに変数に再代入しなくなる
・参照透過性や副作用に気をつけるようになる
・小さな汎用関数を組み合わせて目的の処理を作り上げるのが楽しい
・汎用とまでは言わなくとも関数内で無名関数作って処理分離させるのが楽しい
・楽しいだけじゃなくそれぞれが細かく独立してるので保守しやすい
・宣言的に書けるため見通しがスッキリする
・大抵の場合で関数呼び出しのオーバーヘッドを気にする必要がないことに気づく
・いまいち使い道のわからなかったarray_map, array_filter, array_reduceあたりを息を吐くように使うようになる
・ただし大量の配列をmapしてfilterしてってやるのは遅延評価じゃないPHPではオススメしない

957 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 18:22:48.01 ID:QCK988O10.net]
手続き型より関数型に寄ってる言語は触った程度しか経験ないけど, 関数型のメリットは型システムとの関わりが強いことだと思ってる
この辺は上の宣言的に書けるとかその辺か

型無しラムダ?知らんな

あとPHPは型システムが極めて貧弱貧弱ゥなのがアレ

958 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 23:43:49.46 ID:Qkk3FtfL0.net]
業務中に少し行き詰ったので質問。サーバーPCの環境はwin32でPHP5.6、XAMPP上で動いてる
これを同一ネットワーク内の別PCでアクセスして、サーバーPC上のファイルをデスクトップ上に受け取りたい

単純にcopy関数を使っただけだと、access deniedで怒られたので、サーバーPC上のディレクトリに権限を
与えてみたが、これも駄目

php.iniのallow_file_uploadedなんかはすべてonにしてるだけど、どうやったらアクセス制限で弾かれずに
複写できる?

959 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 23:51:56.67 ID:8KCSU74o0.net]
>>942
コンテンツタイプを指定してストリームで受けとったら?

960 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 23:52:29.59 ID:Qkk3FtfL0.net]
そのファイルはxlsファイルで何十もある。ただ、ダウンロードするだけならheader関数で制御すればいいんだけど、
エクセルマクロをダウンロードしてから、それを一通り走査して値を代入する(図表も入ってるからPHPExcelは使えない)

流れとしては
サーバーPC上で元ファイルを複製

複製したファイルをローカル環境上に配置(Desktop/固定フォルダ/タイムスタンプ/hogehoge1.xls)

必要数を配置したら、xlsmファイルをダウンロード

xlsmファイル上のVBAマクロが動き、配置したxlsファイルに値を出力(図表が混じってるので、PHP_Excelが使えない)

こういう動きをさせたいので



961 名前:デフォルトの名無しさん mailto:sage [2017/11/20(月) 23:56:13.25 ID:Qkk3FtfL0.net]
>>943
ありがとう、ストリームについて調べてみる

962 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 00:06:48.02 ID:ZEWdnSYv0.net]
サーバ側のアプリケーションを作りたいのかクライアント側のアプリケーションを作りたいのか両方なのか
更にクライアント側でVBAを動かす処理系はどうするのか(Excel起動するの?)とか

963 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 00:36:29.65 ID:nHtR4tFla.net]
>>936
PHPは他言語の機能を積極的にパクってきましたが
PHPが他言語にパクられた機能というのは、特に思い当たりません
そういうところで軽視されがちなのは、
そんなPHPのオリジナリティのなさが原因ではないかと思います

964 名前:デフォルトの名無しさん mailto:sage [2017/11/21(火) 00:41:02.65 ID:tVCufCc10.net]
当初ローカル環境だけで作ってたから、いざサーバーに載せ替えたときに、クライアント側で
ファイルの複製ができなくなったって所。ローカルだけだとPHPもVBAもちゃんと動いてたんだけど

Excelはクライアント側で起動させる

965 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 01:17:28.95 ID:wJEVnqEH0.net]
サーバサイドのコードもクライアントサイドのコードも書いて, どっちもローカルの環境では動いたけど
サーバサイドのコードを実環境にデプロイしたらサーバサイドのコードは正しく動くけどクライアントサイドのコードは正しく動かなかったってこと?

966 名前:デフォルトの名無しさん [2017/11/22(水) 03:13:02.56 ID:X0CV9K0Z0.net]
禅問答か

967 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 03:36:33.52 ID:Fja20xY70.net]
早口言葉

968 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 03:39:53.11 ID:wJEVnqEH0.net]
対話的インターフェイス

969 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 15:50:49.68 ID:HyQAr+nB0.net]
ローカルの環境の中に、仮想OSをインストールして、スコープやパーミッションの相違を見落とすのを防いでおくのが吉

970 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 23:04:57.76 ID:12pr/mHg0.net]
うちの会社でもDockerやらAWSのサービス使って
Blue-Greenデプロイとかしたいけど
まだ手が出せてない
なんか難しそうだし

ローカルのPHP開発環境としてならDockerは使ってるんだが



971 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 00:48:07.37 ID:0zddhcTM0.net]
去年秋にリリースしたサービスはDocker使ってるけどノントラブルだな
それほどアクセスないからってのもあるだろうが

972 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 19:41:14.05 ID:DaQyC7B30.net]
質問です。
最新版のSQLiteを試してみたいのですが、やり方を知っている人は居ますか?

環境はPHP7.1.8+SQLite3.15.1(今年9月時点でのxampp最新版)で、
試しにSQLite3.21.0のDLLを公式からDLして差し替えてみましたが動作しませんでした。


他詳細を知りたければ以下で。
mevius.2ch.net/test/read.cgi/db/1345121656/646

973 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 21:22:21.08 ID:NGnFjFYxa.net]
自分でビルドできる前提?

974 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 21:26:05.17 ID:9sTMSHCv0.net]
XAMPPでのがしんどいよなぁ…
まさか開発用ってわけじゃなく勉強用だよね?
検証してくれる優しい人出るまで待つしかなさそう

975 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 21:52:04.12 ID:DaQyC7B30.net]
>>957
いや、出来ない前提。というかしたくない。
自分でしないと駄目なのか?ググッたらそのまま使えるみたいな人も居たんだが。
https://www.dbonline.jp/sqliteinstall/install/index3.html
なおSystem32に置いても駄目でした。
ちなみにxampp on Windowsね。(すまんこれを言い忘れていた、重要だったかも?)
ビルドするにしてもどうせVCだし、同じバイナリが出来るはずだから意味無いと思っている。


>>958
勉強用だけどAGPLv3でリリースするよ。それなりに動く物を作るつもり。
プログラミング初心者ではないから。
xamppってまずい?一番簡単だったからこれにしたが、
(というか最初はこれくらい簡単でないと無理)
今ならvirtualBoxとかに鞍替えできるけど、そっちの方がいい?

まあそもそもSQLiteのATTACHが異常に遅いのが問題で、
それが無ければ旧版で(つまりxamppで)問題なかったんだけどね。

976 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 21:57:17.25 ID:C3/IvF2B0.net]
XAMPP使わないからよく分からんのだけど, 同梱のphp_sqlite3.dllとかphp_pdo_sqlite3.dllのサイズを見る限りSQLite3は静的リンクされてるんじゃないのか?
ちゃんとDLLの中身見れば静的リンクされてるか動的リンクされてるかは分かるけど, 静的リンクされてるなら自分でリビルドが必要だよ

977 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 21:59:01.78 ID:lD80x27g0.net]
>>959
そのサイトで「使える」と言っているのは、PHPでSQLiteの利用が出来るというだけで、
実際にSQL書いていく時はファイルオープン、ファイルクローズなどやらないと行けないはず
その辺は必要箇所を見つけて自分で直さないと行けないのではないかな?
PHPでSQLを利用するサンプルを一度移植してみると分かると思う。

978 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 22:27:59.22 ID:DaQyC7B30.net]
>>960
Goみたいなキチガイじゃなければ、静的リンクなんてありえないと思うが。
また、静的リンクだったら差し替えても反応するはずが無く、そのまま3.15.1がリンクされっぱなしになるはずだが、
phpinfoで見ると消えてしまう。だから反応はしている。つまり動的リンクのはず。

サイズはほぼ同じ。
3.15.1(859,648Bytes)
3.21.0(852,754Bytes)
なお俺が使っているのは32bit版。


>>961
既に言ったが俺はプログラミング初心者ではないからその辺は分かっているし、
もう既に動かしている。
なおそのサイトは結構いいと思うよ。SQLはそこで基礎を確認した。

979 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 00:07:20.86 ID:SR+igXjo0.net]
>>962
残念だけどちゃんと調べたらソースごとバンドルされてるから静的ビルドよ
https://github.com/php/php-src/tree/master/ext/sqlite3/libsqlite

980 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 00:11:53.87 ID:SR+igXjo0.net]
静的ビルドじゃねぇな, リンクでもないし静的に組み込まれてる



981 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 00:49:57.60 ID:hdwDPoQO0.net]
>>964
違うぞ。てかお前動的リンクと静的リンクの違い分かってないだろ。
ソースがそこにある=パッケージ内でビルドされている、であって、動的/静的は関係ない。
自分でDLLを作るとき、プロジェクト内にソースは当然あるだろ。


こっちも調べた。DLLを直接確認したらget_module関数が無い。それでググったら以下が出た。
www.php-cpp.com/documentation/loading-extensions

要するに通常のDLLでは無く、Zendのラッパ(ではないが)が必要で、そこからアドオンとして組み込んでる。
だからphp.iniを見て動的に組み込む。
FireFoxとかのプラグインと同じ構造(のはず)

Zendからヘッダを入手してビルドするのは面倒なので、
誰か既にビルド済みなのを探しているのだが(これがwindowsの利点だし)、今のところない。
誰か発見したらよろしく。
なおReleaseNoteを見る限り、ATTACH自体はまだ枯れてないので可能性がある。
> 2. Allow ATTACH and DETACH commands to work inside of a transaction.
> www.sqlite.org/releaselog/3_21_0.html
ただまあそれ以前に、ATTACHの仕方によっては遅くならないようなので、それも確認中。

982 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 01:43:46.47 ID:hdwDPoQO0.net]
ちなみにバイナリはあった。
windows.php.net/qa/

そしてPHP7.1.12RC1のdllと差し替えたら反応はするのだがSQLite自体は3.15.1のまま。
おそらくPHP7.1系はSQLite3.15.1なのだろう。

ならばとPHP7.2.0RC6も試したが、
こちらはVC15のランタイムをインストールした際「再起動が必要」と出たが無視しているので結果は未定。
再起動無しの状態では使えない。(読みに行くがリンクできない関数があって落ちる)

983 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 02:08:17.99 ID:SR+igXjo0.net]
理解してないのはお前だよ

php_sqlite3.dllやphp_pdo_sqlite.dllは実行時にPHPにロードされるいわゆるモジュールだが, こいつらとsqlite3.dllは同一じゃない
sqlite3.cのソースコードを使ってSQLiteはこれらのモジュールに「静的に」組み込まれている

sqlite3.dllならPHPから独立だろうがphp_sqlite3.dllはphp7ts.dllに依存しているからその辺で読めないんじゃないの
ちゃんとエラーログ見ればモジュール読めないってPHP Startup Error出てるだろうよ

984 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 08:23:48.80 ID:hdwDPoQO0.net]
>>967
> 実行時にPHPにロードされる
> 「静的に」
馬鹿乙。つかマジでもうちょっとちゃんと勉強しろ。
PHPerは馬鹿だとは聞いたが、なるほどこれでは馬鹿にされるだろうさ。

985 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 12:15:37.58 ID:hVOq/yrX0.net]
どっちにせよ、こんなことで時間潰れるの勿体ない
最初からVirtualBoxとかでやった方がいいと思うな

986 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 12:39:50.58 ID:hdwDPoQO0.net]
>>969
いや、virtualBoxの方がいいのか?
Unixにポーティングしたらそこで問題がー、って人も居るみたいだけど。
torhamzedd.halteria.com/2010/02/xamppwebvmplayer.html
まあ言っていることはごもっともなんだが。xamppで実運用する可能性は皆無だし。

なおいろいろ試した結果、ATTACHの問題というよりは特性であり、
こちらのプログラムで改善/回避できそうな雰囲気なので、環境が悪いわけではなさそうだ。
まだ詳細を詰め切れていないが。

987 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 14:36:44.48 ID:hdwDPoQO0.net]
なおATTACHについては自己解決した。詳細は以下参照。
mevius.2ch.net/test/read.cgi/db/1345121656/647

これだと最新版で改善されている可能性もあり、試すべきだが、
再起動するのはかなり面倒なのでとりあえず放置する。(後日結果を報告するかも)
対応してくれた人はありがとう。

988 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 12:53:10.05 ID:nNid/MSoM.net]
用途をみるに、sqliteを最新にする必要があるのか謎。

989 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 12:54:20.73 ID:nNid/MSoM.net]
あー最新版の修正目当てか。失礼

990 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 17:21:44.79 ID:hfMnpxmx0.net]
>>968
痛々しいわ

SQLite関数を使う上での依存関係は

PHPコア -> php_sqlite3モジュール -> SQLite3ライブラリ

なんだから,

PHPコア -> php_sqlite3モジュール : 実行時にphp.iniの設定を見てロード
php_sqlite3モジュール -> SQLite3ライブラリ : php_sqlite3モジュールのビルド時に静的に組み込み

で何も矛盾してない
最初から最後までSQLite3ライブラリの最新版を使いたいなら「php_sqlite3モジュールを新しいSQLite3ライブラリを使って再ビルドしろ」が結論



991 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 19:07:02.53 ID:pbeBNwkp0.net]
>>973
3.21.0で追加された、transaction内でのATTACH/DETACHがあれば、
mevius.2ch.net/test/read.cgi/db/1345121656/663
に書いたtempの手法が使えるようになる。
ただ、今は、それ以前に、file_put_contentsでarchive用のjsonファイルを静的に作成する方法を試している。
速度は10倍ほど出ている。(DBに書くと40-60msかかるが、ファイルなら3-4ms)

今は本当にこれでいけるか、こちらに一本化すべきかを考えているところ。
(archiveは動的側面が全くないはずなのでいけるはずだが、運用上問題がないか?)


>>974
> 痛々しいわ
お前がな。最近この手の馬鹿は増えたが。
まあ永久に無知なままでいろ。

992 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 21:04:12.30 ID:hfMnpxmx0.net]
>>975
誤解してるわけでもなさそうだしまぁいいや
実際ビルドし直さずに最新版使えるならそれがベストではあるしな
是非成功させて勉強させてくれ

993 名前:デフォルトの名無しさん [2017/12/14(木) 18:31:35.65 ID:O42iwrkx0.net]
php pdo mysql について質問です。
ローカルのxampp環境でinsert時にexceptionを吐いているのですが、サーバーのlinux環境ではexceptionを吐きません。

接続直後に
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
としているのですが、環境によってexceptionをthrowしない場合ってあるのでしょうか?

この問題は非常に質が悪く、$stmt->errorCode();で取得できませんし、$stmt->rowCount();で1が返ってきてしまいます。
エラーログには出力されているようです。

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'hogehoge' in ...

どうやったらexceptionをthrowしてくれるようにできるのでしょうか?
また、throwは諦める場合、エラーを検出したいのですがどうやったら良いでしょうか?

994 名前:デフォルトの名無しさん [2017/12/14(木) 18:54:42.13 ID:O42iwrkx0.net]
なんか分かった気がします。
prepare? execute? がエラーを throw していたのですが、
それらをコールしている関数の外で try catch していたので、そこまで到達していなかったようです。
php.ini の設定なんですかね

995 名前:H
とりあえず自己解決しました。
ありがとうございました。
[]
[ここ壊れてます]

996 名前:デフォルトの名無しさん mailto:sage [2017/12/14(木) 21:55:30.52 ID:c3uOfk7qM.net]
解決したからいいけど、XAMPP環境での開発はお勧めできん
WindowsでもMacでもDocker使うなり仮想つかうなりで、
本番環境とほぼ同じ状態で開発しないと
PHPのバージョンや組み込まれてるライブラリ、php.iniもすべて合わせれば
そんなエラーで時間潰すこともまずなかろう

997 名前:デフォルトの名無しさん [2017/12/14(木) 23:08:01.53 ID:kcFY4zVmM.net]
phpのフレームワークにララベル使おうかと思ってるんだけど、なんか他に良いフレームワークってあるの?

998 名前:デフォルトの名無しさん mailto:sage [2017/12/15(金) 00:18:58.55 ID:zZ0+kx4X0.net]
個人的にはLaravelが一番いいと思うよ
FuelPHPとかPhalconとか最近はあまり聞かなくなったな

999 名前:デフォルトの名無しさん [2017/12/17(日) 12:52:10.72 ID:hlhRQlj10.net]
>>979

XAMPP全く関係ないじゃん。ヴァカなの?

1000 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 01:55:46.54 ID:lVjWNMP2a.net]
WindowsのファイルシステムのエンコードはUTF-16 らしいですが
scandirで取得したファイル名はUTF-8になっています
これはPHPが内部で変換してるのでしょうか?



1001 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 10:43:30.09 ID:lVjWNMP2a.net]
Win10のコマンドラインからPHPを実行してUTF-8の文字列を表示すると
文字化けせずに表示されました
Win7以前はSJISに変換してから表示しないと化けたはずです
Win10のコマンドラインのエンコードはUTF-8になったのでしょうか?
だとすれば、コマンドライン=SJIS、を前提にして書かれたコードは
問題が出てきますよね
現に出ているから調べ始めたのですが・・

1002 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 12:01:10.63 ID:lVjWNMP2a.net]
バッチファイルからUTF-8文字列を出力するとやはり化けたので
WindowsではなくPHP側の問題かと思って検索したらありました

Windows版 PHP 7.1 で日本語パス(パス文字列のエンコーディング)が
対応されることによる影響
https://qiita.com/algo13/items/2810aacef69d6fb8fd0f

1003 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 12:43:11.61 ID:o48rTZ2B0.net]
windows10が今手元にないからうまく答えれないけど、
コマンドラインでchcpってうってみて文字コード確認してみればいいんじゃない?

1004 名前:デフォルトの名無しさん mailto:sage [2017/12/19(火) 13:15:06.92 ID:1yPg30uza.net]
ありがとうございます
しっかり932って表示されました

1005 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 09:16:36.60 ID:+UrT0jgrM.net]
>>982
はあ? あるじゃん
本番環境と開発環境の構成がずれててエラー起きてるんだから

1006 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 13:31:42.83 ID:Wkwa3Cn2a.net]
自分もXAMPPを使っているのですが
MySQLのデフォルトがInnoDBになっていたのでそのまま使っていたのですが、
データベースが壊れました
innodb_force_recoveryオプションを使って修復してもまたすぐ壊れます
MyISAMの時はmyisamchkにかければそれで直っていたのに。
InnoDBは同時アクセス対策の機能が豊富ですが
同時アクセスがさほど想定されない場合は
シンプルで堅牢なMyISAMを使うべきなのでしょうか?

1007 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 13:38:21.86 ID:xHqi669x0.net]
>さほど想定されない

dbの形式以前に、ロックをしない構文構造に問題があるのでは?

1008 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 13:45:16.71 ID:Wkwa3Cn2a.net]
ロックですか
していませんでした
MyISAMの時と同じ書き方をしていました
InnoDBではそういうのがいるんですね
ありがとうございます

1009 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 14:51:09.36 ID:Xzv3JYGc0.net]
InnoDBが壊れるってそうそう起きないだろ
ロック云々の人為的ミスで壊れるなんて今はまずないと思うけど
そのXAMPPのMySQLのバージョンいくつか知らんが、
5.1とか使ってるなら5.7に上げるのがいいと思うが
MyISAMにするってのはかなりズレてると思うよ

1010 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 15:34:56.61 ID:8R4SVzVb0.net]
>>3の修正案

関連リンク
■PHPマニュアル    www.php.net/manual/ja/
■日本PHPユーザ会  www.php.gr.jp/
■PHPNG        https://wiki.php.net/phpng
■メーリングリスト   ml.php.gr.jp/mailman/listinfo/

(以下英語)
■公式リポジトリ git.php.net/
■PHP-RFC https://wiki.php.net/rfc
■PECL pecl.php.net/
■Composer https://getcomposer.org/
■Packagist https://packagist.org/
■Zend Tech. Ltd. www.zend.com/

フレームワーク(一部)
■Zend Framework  https://framework.zend.com/
■Symfony   https://symfony.com/
■Laravel https://laravel.com/
■CodeIgniter https://codeigniter.com/
■Yii www.yiiframework.com/
■FuelPHP https://fuelphp.com/
■CakePHP https://cakephp.org/

テンプレートエンジン(一部)
■Twig https://twig.symfony.com/
■Blade https://laravel.com/docs/5.1/blade



1011 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 15:38:27.23 ID:8R4SVzVb0.net]
>>993 >>3
スペース直した

関連リンク
■PHPマニュアル    www.php.net/manual/ja/
■日本PHPユーザ会  www.php.gr.jp/
■PHPNG        https://wiki.php.net/phpng
■メーリングリスト   ml.php.gr.jp/mailman/listinfo/

(以下英語)
■公式リポジトリ     git.php.net/
■PHP-RFC       https://wiki.php.net/rfc
■PECL          pecl.php.net/
■Composer       https://getcomposer.org/
■Packagist        https://packagist.org/
■Zend Tech. Ltd.    www.zend.com/

フレームワーク(一部)
■Zend Framework   https://framework.zend.com/
■Symfony        https://symfony.com/
■Laravel         https://laravel.com/
■CodeIgniter       https://codeigniter.com/
■Yii            www.yiiframework.com/
■FuelPHP        https://fuelphp.com/
■CakePHP        https://cakephp.org/

テンプレートエンジン(一部)
■Twig           https://twig.symfony.com/
■Blade          https://laravel.com/docs/5.1/blade

1012 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:37:45.96 ID:Ahhn3Ak50.net]
次スレ
【PHP】下らねぇ質問はここに 9
https://mevius.5ch.net/test/read.cgi/tech/1513760420/

1013 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:38:40.73 ID:Ahhn3Ak50.net]
996

1014 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:39:17.00 ID:Ahhn3Ak50.net]
997

1015 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:39:47.24 ID:Ahhn3Ak50.net]
998

1016 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:40:27.20 ID:Ahhn3Ak50.net]
999

1017 名前:デフォルトの名無しさん mailto:sage [2017/12/20(水) 18:40:55.62 ID:Ahhn3Ak50.net]
1000

1018 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 280日 17時間 59分 33秒

1019 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<332KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef