X



【PHP】下らねぇ質問はここに書き込みやがれ 8 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ bfb2-csvI)
垢版 |
2017/03/15(水) 00:41:22.79ID:ko4BTSP20
PHPに関する下らない質問用避難スレです。
まず読むこと【PHPマニュアル】
http://www.php.net/manual/ja/

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 7
http://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
0002デフォルトの名無しさん (ワッチョイ bfb2-csvI)
垢版 |
2017/03/15(水) 00:42:20.59ID:ko4BTSP20
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】7.0
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

【その他諸注意】
・ SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0003デフォルトの名無しさん (ワッチョイ bfb2-csvI)
垢版 |
2017/03/15(水) 00:42:50.37ID:ko4BTSP20
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PHPNG        https://wiki.php.net/phpng
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ml.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/
■Smartyマニュアル  http://www.smarty.net/manual/ja/

(以下英語)
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smarty       http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004デフォルトの名無しさん (ワッチョイ 323c-ZZsN)
垢版 |
2017/03/15(水) 01:07:59.96ID:FiGu7lnE0
>>1

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

会員対応の担当者が自由にカスタマイズ部分をPHPで編集できるようにしたいけど
その都度システム担当者(質問者)がレビューやテストをやってコードに組み込む手間はかけられないから
それを解決する手段として考えた案だと想像してる
0005デフォルトの名無しさん (ワッチョイ f342-aox5)
垢版 |
2017/03/15(水) 11:58:13.95ID:ffUP4kqV0
DBにコードを入れることも想定できない人が騒いでたようだね。
最近はジョブ管理システムなどもWebの技術で作ったりするんだけど・・

あと読み込んだ文字列をプログラムとして実行するようなものも、システム周りのスクリプト読むと多いよ。
まぁPerlが多いけど、最近だとRubyで作った管理ツールとかも増えてるね。
Perlは後で人が読むことを考えないプログラムが多くて辛いけどw
Rubyの人は、Rubyの世界で全てやろうとする傾向に違和感あるけどww
0010デフォルトの名無しさん (ワッチョイ c3d6-59kE)
垢版 |
2017/03/17(金) 01:27:45.84ID:Vx3V2zIi0
前スレで

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

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

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

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

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

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

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

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

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

そして、アホは必ず全く意味のないところで草を生やす。これも定番だ。
0011デフォルトの名無しさん (ワッチョイ c3d6-59kE)
垢版 |
2017/03/17(金) 01:29:38.79ID:Vx3V2zIi0
一応、正確に

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

に訂正しとくけど、それはしなくてもわかんだろ。
0014デフォルトの名無しさん (ワッチョイ c3d6-59kE)
垢版 |
2017/03/17(金) 02:15:12.57ID:Vx3V2zIi0


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

あたりか?

何が聞きたい? てか、なんでそんな事したい?
オレがWHYが大事だと言った直後の書き込みとは思えん
0018デフォルトの名無しさん (アウアウウー Sa37-Rmg3)
垢版 |
2017/03/17(金) 07:24:16.93ID:95f1ccRPa
2つの別々の変数に同じ文字列が入っている場合、それぞれの変数をキーにした
要素数2の連想配列を作ろうとすると最終的な要素数が1になってしまうのは
仕様ですか?
0021デフォルトの名無しさん (アウアウカー Sa57-Rmg3)
垢版 |
2017/03/17(金) 10:54:56.44ID:fQxwTC+aa
>>20
できないんですね、すみません
普通に動くことは動くので出来ると思ってました
データベースから値を2つ持ってきてそれらをキーとバリューで紐付けようとしてました
勉強し直します
0024デフォルトの名無しさん (ワッチョイ 0342-QFag)
垢版 |
2017/03/17(金) 12:53:02.59ID:hXHSlYUO0
>>10
え?まじ?
DBにコードを入れるメリットというより、
デメリットがどのくらいあるのかを知りたい、入れて良いのかを知りたいってのが
元の質問だったはずなんだけど・・
だから、実際にコード入れてるシステムの例をあげるのが一番わかりやすいと思うんだけど

そもそも、それにメリットがあるかどうかはシステムの要件によるので意味のない質問なんだよねww
運用する人からDBに入れてくれって要望があることもないとは言えないからね。
実際ちょっとしたファイル変更もやりたくないって人もたまにいるんだよね。
DBなら認証もバックアップもセキュリティもDB管理者がやってくれるからって、たまにあるんだよね。
0025デフォルトの名無しさん (ワッチョイ 0342-QFag)
垢版 |
2017/03/17(金) 13:07:23.79ID:hXHSlYUO0
>>21
今変なのが湧いてるけどwww
最初の質問の意味がわかりにくかったんだが・・
ハッシュキーで、同じキーを使ったら上書きされてしまうのは仕様ですね(これはPHPとか関係なく)

2つのキーを持った連想配列ってことならPHPでは簡単に出来るよ
例えば多次元連想配列でググってみて
他にも、配列の中に配列を入れたりもPHPだと簡単に出来るので便利だよ。
0026デフォルトの名無しさん (ワッチョイ c3d6-59kE)
垢版 |
2017/03/17(金) 13:19:02.49ID:Vx3V2zIi0
> 運用する人からDBに入れてくれって要望があることも“ないとは言えないからね”。
> DBなら認証もバックアップもセキュリティもDB管理者がやってくれるからって、“たまにあるんだよね”。


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


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

メリット無いものについて「DBにプログラムリストを入れるのを最初から否定するのは“発想が貧困すぎww”」とか
草生やす馬鹿は、マジ、ペチパーくらいしかいねぇよなw
0030デフォルトの名無しさん (ワッチョイ c3d6-59kE)
垢版 |
2017/03/17(金) 13:24:44.85ID:Vx3V2zIi0
>>25 : デフォルトの名無しさん (ワッチョイ 0342-QFag)2017/03/17(金) 13:07:23.79 ID:hXHSlYUO0
>ハッシュキーで、同じキーを使ったら上書きされてしまうのは仕様ですね(これはPHPとか関係なく)

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

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

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

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

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


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


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

そんな下流の人に、発言権なんか、ねーです、さーせん
0033デフォルトの名無しさん (ワッチョイ 0342-QFag)
垢版 |
2017/03/17(金) 13:40:32.18ID:hXHSlYUO0
他人のわけのわからん指示って、運用を考えたシステム構築とかやったことないんだね。
もしくは、人と話をしたこともないのか?
どうりで質問者の意図を読み取ろうとしないわけだ
0034デフォルトの名無しさん (ワッチョイ c3d6-59kE)
垢版 |
2017/03/17(金) 13:43:58.40ID:Vx3V2zIi0
>他人のわけのわからん指示って、運用を考えたシステム構築とかやったことないんだね。

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

お前自信が言ってんだろ

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

そりゃ、それを選んだんじゃなくて、“仕方なく”やってるだけじゃねーか
本物の下流だな
0035デフォルトの名無しさん (ワッチョイ c3d6-59kE)
垢版 |
2017/03/17(金) 13:45:06.23ID:Vx3V2zIi0
>もしくは、人と話をしたこともないのか?

おまえがなw

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

お前の言ってることは、「上が言うから仕方ないんです」の一辺倒じゃねーか
0036デフォルトの名無しさん (ワッチョイ 0342-QFag)
垢版 |
2017/03/17(金) 13:45:55.68ID:hXHSlYUO0
>>16
多分何かと勘違いしてるんじゃないかなぁ?
14自体意味不明だしww
頭の中でGCの話に強制変換されてるのかもねww

まぁ最初の質問が壮大すぎて・・もう少し具体的に書いてもらうと回答あると思うよ。
0037デフォルトの名無しさん (ワッチョイ c3d6-59kE)
垢版 |
2017/03/17(金) 13:46:40.37ID:Vx3V2zIi0
>どうりで質問者の意図を読み取ろうとしないわけだ

ここはYahoo! 知恵袋じゃねーよ
質問者の意図よりも、技術者としてどう対応するかの方が重要だ
まぁ、上の指図に反論もできない使いっぱは、せいぜい質問者に併せてなぁなぁやってろ
0038デフォルトの名無しさん (ワッチョイ c3d6-59kE)
垢版 |
2017/03/17(金) 13:48:24.05ID:Vx3V2zIi0
>>36 : デフォルトの名無しさん (ワッチョイ 0342-QFag)2017/03/17(金) 13:45:55.68 ID:hXHSlYUO0
>16
>多分何かと勘違いしてるんじゃないかなぁ?
>14自体意味不明だしww
>頭の中でGCの話に強制変換されてるのかもねww

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

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

このバカ、多分メモリ使用量とか図ったこともないぜ
0043デフォルトの名無しさん (ワッチョイ c3d6-59kE)
垢版 |
2017/03/17(金) 14:01:01.19ID:Vx3V2zIi0
おーい、アホ >>25 ワッチョイ 0342-QFag ID:hXHSlYUO0

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

これについて、詳しく説明しろよw
逃げるなよw
0044デフォルトの名無しさん (ワッチョイ c3d6-59kE)
垢版 |
2017/03/17(金) 14:06:07.16ID:Vx3V2zIi0
アホレスを晒しとこ

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

前スレ>>973の発想が貧困なんじゃなくて、お前に決定権が無くて言われたことを実行するしか許されてねーだけじゃんwwww
0045デフォルトの名無しさん (ワッチョイ c3d6-59kE)
垢版 |
2017/03/17(金) 14:08:45.39ID:Vx3V2zIi0
お? 貼ってみて気づいた

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

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

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

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

ちょっと説明プリーズっすwwwwwwwwwwwwwwwwwwwwwwww
0049デフォルトの名無しさん (ワッチョイ ef03-v8EU)
垢版 |
2017/03/17(金) 21:47:37.52ID:21PDp4R80
>>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']となり重複が
消えてしまったので困っていました
>>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ヵ月も経ってないので難しいですがなかなか面白い言語ですね
0052デフォルトの名無しさん (ワッチョイ c3d6-59kE)
垢版 |
2017/03/18(土) 07:57:17.28ID:+lFcCe0u0
>>50
Rubyだっつってんだろ、
安易にPHPとか使う馬鹿は ワッチョイ 0342-QFag ID:hXHSlYUO0 みたいに初心者と馴れ合いする知識しかない馬鹿にしかなれん
少しはマシな知識がほしいならRubyやってろ
0065デフォルトの名無しさん (ワッチョイ 3f46-fXK0)
垢版 |
2017/03/20(月) 03:19:42.40ID:uEePBO/e0
web系プログラム初心者です
PHPを使ってローカル内のCSVをアップして、MySQLにインサートする処理をしたいのですがファイルのアップ処理で躓いています
HTMLあたりの処理から自信なくやってるため、
PHP以前にHTMLの要因もあるかもしれませんが、どなたかご教示願えませんか?
0066デフォルトの名無しさん (ワッチョイ cf42-9jmm)
垢版 |
2017/03/20(月) 07:28:42.54ID:k0XFnqnY0
HTMLもCSVも使わず、まずは一つのデータをMySQLに追加してみる
これができないならHTMLの知識と関係はない
0068デフォルトの名無しさん (ワッチョイ 6f92-1rpH)
垢版 |
2017/03/24(金) 11:54:56.68ID:BuI/zHvr0
WEBアプリで、例えば宿泊客管理アプリで
ズラーと顧客一覧が並んでて

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

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

みたいな感じで編集画面が表示され、編集完了のサブミットをおすと
これまた GET POST で情報が送られ
SQLなどに送信されてデータが書き換わるという感じだとおもうのですが、
この際にGETやPOSTの内容を WEBデベロッパーツール等で
書き換えて不正な値や、他のデータへまで影響するのを避けるようにするは
どういった対策が考えられるでしょうか?
できればバリデーション処理無しで。
0070デフォルトの名無しさん (ササクッテロル Spd3-NetD)
垢版 |
2017/03/24(金) 12:58:03.20ID:fGSTFy7up
>>69
それ言い出したらこのスレの存在の意味はないな
0077デフォルトの名無しさん (ワッチョイ dff0-FAJs)
垢版 |
2017/03/24(金) 23:43:34.75ID:AiSXPZSJ0
>>75

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

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

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

ちょっとそのアルゴリズムを教えろよwwww
0083デフォルトの名無しさん (ワッチョイ dff0-FAJs)
垢版 |
2017/03/25(土) 00:05:37.12ID:Bl9nCmA60
誰かすまん、この馬鹿展開が論理的に成立している根拠を教えてくれないか? >>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
馬鹿すぎて想像もできないんだろうけど通常の思考を持ってたらバリデーション無しとか書かねえだろ無能
0085デフォルトの名無しさん (ワッチョイ dff0-FAJs)
垢版 |
2017/03/25(土) 00:09:10.36ID:Bl9nCmA60
> >>82 : デフォルトの名無しさん (ワッチョイ ea3c-EscV)2017/03/25(土) 00:00:20.61 ID:WyZVpsBF0
> >79
> つおまえか!
> 口は悪いが理解はマシなやつだと思ってたんだが


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

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

23区に存在する名前かどうかまでは出来るだろうけど
存在する区名なら、予め適正値を知ってない限り受け入れないといけないよね?
0093デフォルトの名無しさん (ワッチョイ 6f92-1rpH)
垢版 |
2017/03/25(土) 14:45:58.30ID:lr4XG1zL0
>>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に格納するが・・・。
0094デフォルトの名無しさん (ワッチョイ dff0-FAJs)
垢版 |
2017/03/25(土) 20:00:41.92ID:Bl9nCmA60
見たまえ、諸君  この噛み合わない会話をwwwwwwwwwwww

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

> get値変えてpostなんてデベロッパーツール使わなくてもアドレスバーに入れれば送信できるやん?
0095デフォルトの名無しさん (ワッチョイ dff0-FAJs)
垢版 |
2017/03/25(土) 20:02:30.85ID:Bl9nCmA60
>>90 : デフォルトの名無しさん (ワッチョイ fe1f-5sBS)2017/03/25(土) 03:32:56.70 ID:xo5w+TUA0
> 住所が
>「東京都足立区.」のはずが
>「東京都墨田区」に書き換えられていたとして
> どうやってその正当性をチャックしたら良いのだろう?

自分がアホなこと言ってるって気づくのに3年くらいかかりそうだな…
0098デフォルトの名無しさん (ワッチョイ dff0-FAJs)
垢版 |
2017/03/25(土) 21:11:32.38ID:Bl9nCmA60
>>96
そうだよ、そのとおりだよ? で、お前、本当に文盲?

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

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

おまえ、ノータリンだよね?
0102デフォルトの名無しさん (ワッチョイ dff0-FAJs)
垢版 |
2017/03/26(日) 08:54:27.31ID:KSncMErM0
>>100

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

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

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

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

エスパー現る! エスパー現る!wwwwwww
0103デフォルトの名無しさん (ワッチョイ dff0-FAJs)
垢版 |
2017/03/26(日) 08:56:15.58ID:KSncMErM0
       ____
     /_ノ  ヽ、_\
   o゚((●)) ((●))゚o   ,. -- 、
  /::::::⌒(__人__)⌒:::::: /    __,>─ 、
  |     |r┬-|    /          ヽ
  |     | |  |   {            |__
  |     | |  |    }  \       ,丿 ヽ
  |     | |  |   /   、 `┬----‐1    }
  |     | |  |  /   `¬|      l   ノヽ    >>100 くそばーーーーーーかwwwwwwwwwwwww
  \      `ー'ォ /    、 !_/l    l    /  }
           {       \     l   /  ,'
           \      ´`ヽ.__,ノ  /   ノ
             \     ヽ、\ __,ノ /
               ̄ ヽ、_  〉 ,!、__/
0104デフォルトの名無しさん (オッペケ Srd3-6vFh)
垢版 |
2017/03/26(日) 09:32:51.03ID:dNTFG84Fr
>>102
getの話してんだからgetの部分の話だけしたら
「postの話してねーじゃん!ノータリン!」
てお前がバカなだけだろ?
なんならこのスレ終わるまでテメーのクソっぷりを語り尽くすか?
この程度で勝ち誇ってんじゃねえよクソが
0106デフォルトの名無しさん (ワッチョイ dff0-FAJs)
垢版 |
2017/03/26(日) 11:12:45.93ID:KSncMErM0
ぷっ、マヌケがなんかホザき始めたw

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

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

いーーーーーーーーひゃっひゃっひゃっひゃ!
0107デフォルトの名無しさん (ワッチョイ dff0-FAJs)
垢版 |
2017/03/26(日) 11:13:28.95ID:KSncMErM0
>>104

       ____
     /_ノ  ヽ、_\
   o゚((●)) ((●))゚o   ,. -- 、
  /::::::⌒(__人__)⌒:::::: /    __,>─ 、
  |     |r┬-|    /          ヽ
  |     | |  |   {            |__
  |     | |  |    }  \       ,丿 ヽ
  |     | |  |   /   、 `┬----‐1    }
  |     | |  |  /   `¬|      l   ノヽ    「GETをPOSTする」やてーーーーーーーーーーwwwwwww
  \      `ー'ォ /    、 !_/l    l    /  }
           {       \     l   /  ,'
           \      ´`ヽ.__,ノ  /   ノ
             \     ヽ、\ __,ノ /
               ̄ ヽ、_  〉 ,!、__/
0108デフォルトの名無しさん (ワッチョイ dff0-FAJs)
垢版 |
2017/03/26(日) 11:15:46.33ID:KSncMErM0
一応、他の参加者に聞いておくけどさ

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

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

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

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

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

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

お下品ねー、「GETをPOSTする」とか言っちゃう頭の人ってwwwww
0110デフォルトの名無しさん (ワッチョイ dff0-FAJs)
垢版 |
2017/03/26(日) 11:18:31.41ID:KSncMErM0
>>104 : デフォルトの名無しさん (オッペケ Srd3-6vFh)2017/03/26(日) 09:32:51.03 ID:dNTFG84Fr
> この程度で勝ち誇ってんじゃねえよクソが


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

負け犬の遠吠えw

負け犬の遠吠えwwwww
0112デフォルトの名無しさん (ワッチョイ dff0-FAJs)
垢版 |
2017/03/26(日) 11:21:47.12ID:KSncMErM0
2017年第一四半期 流行語大賞


          ____
       / \  /\ キリッ
.     / (ー)  (ー)\    <「GETをPOSTする」
    /   ⌒(__人__)⌒ \
    |      |r┬-|    |
     \     `ー’´   /
    ノ            \
  /´               ヽ
 |    l              \
 ヽ    -一””””~~``’ー–、   -一”””’ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
0113デフォルトの名無しさん (ワッチョイ 6661-VHv+)
垢版 |
2017/03/27(月) 03:07:51.43ID:u3G31U+S0
php7まじで早えな
0114デフォルトの名無しさん (ワッチョイ 6f92-1rpH)
垢版 |
2017/03/27(月) 09:23:16.47ID:q0zQOh/l0
php7の環境に、過去に作ったプログラムを置いてみたら
全く動かんかった。
非推奨関数とか混ざりまくってるから
動くようにするには、かなり改修が必要そうだ。
0119デフォルトの名無しさん (ワッチョイ 43f0-3+/Q)
垢版 |
2017/03/30(木) 10:16:57.78ID:IGixA1Qp0
>>105 : デフォルトの名無しさん (オッペケ Srd3-6vFh)2017/03/26(日) 09:34:49.48 ID:dNTFG84Fr
> ほらこいよ?
> なんならリアルで待ち合わせすっか?
> テメーのクソみたいな顔拝ませろ


来いよって言うから行ってやったら、なしのつぶての件、クソワロスwwwww
0125デフォルトの名無しさん (ワッチョイ cf77-agmj)
垢版 |
2017/04/01(土) 01:09:12.28ID:FD993rOV0
some_fn(1,2,3,4)
こう渡すべき関数があって、渡したいデータは[1,2,3,4]という感じに配列に入っています。
some_fnを拡張する以外に、うまく渡す方法はないでしょうか?
0126デフォルトの名無しさん (ワッチョイ c36e-agmj)
垢版 |
2017/04/01(土) 05:52:10.21ID:rNRWzLeg0
let [ a, b, c, d ] = [1,2,3,4]
some_fn(a, b, c, d)
0127125 (ワッチョイ cf77-agmj)
垢版 |
2017/04/01(土) 07:09:38.94ID:6GQ7oWyp0
>>126
レスありがとうございます。
ちょっとそれだと自力感が強くて、some_fnの引数が可変だったり場合も応用がききづらいですね。
evalを思い出したので、入力も自分が用意するもので外部由来ではないので、他の方法思いつくまでevalで代用しておきます。

$a = [1,2,3,4];
$a = 'return some_fn('.implode(',',$a).');';
eval($a);
0130125 (ワッチョイ cf77-agmj)
垢版 |
2017/04/01(土) 18:01:50.26ID:6GQ7oWyp0
>>128
おー出来るようになってたんですね。
PHP5.4だったので早速アップデートしてみます。
ありがとうございました。
0131デフォルトの名無しさん (アウアウウー Sab7-Gwmd)
垢版 |
2017/04/02(日) 12:56:35.27ID:j7pqXAosa
【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! のようにしたいのです。
0132デフォルトの名無しさん (ワッチョイ 7331-QmV0)
垢版 |
2017/04/02(日) 17:07:14.61ID:sKaMUxEO0
PHPで簡易掲示板作成して公開してみたら英語ロシア語のスパム投稿が殺到するようになった
さっそくkcaptchaというツール使って画像認証機能付きに改造してみたんだけどそれでも
スパムが殺到するんだわ。

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

ああいう画像認証突破って人海戦術で投稿してるんだろ?
拒絶されまくってるのによう飽きずに何度もチャレンジしてくるわな
ご苦労さんとしか言いようが無いw
0133デフォルトの名無しさん (ワッチョイ 3fcb-jsM4)
垢版 |
2017/04/02(日) 22:44:17.53ID:q06cgQNJ0
>>131
Worker使ってPoolに放り込む
但しWorkerも別スレッドなので処理順序に関しては保証出来ない(自分の環境だと"here"が最初になる)

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

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

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

ちなみに俺はヒアドキュメントを使う。
0137デフォルトの名無しさん (ワッチョイ cf1f-aC9I)
垢版 |
2017/04/04(火) 14:11:57.70ID:cKMtDqYa0
意味はないだろ。
変数は初期化してという職場ルールとかだろ。
0138デフォルトの名無しさん (JP 0H7f-aCII)
垢版 |
2017/04/04(火) 14:23:47.22ID:pyoNKlrCH
なるほど、こういう場合もありえるか。

http://php.net/manual/ja/language.variables.basics.php
> 初期化されていない変数のデフォルト値に依存すると、そのファイルを
> include している別のファイルで同名の変数が使用されていた場合などに
> 問題を起こします。
> また、register_globals が on の場合には重大なセキュリティリスク
> を抱えることになります。
0144デフォルトの名無しさん (ワッチョイ fab4-t9GM)
垢版 |
2017/04/23(日) 20:03:20.59ID:TnE9jJi/0
質問させて頂きます。

PHPを使った簡単な選択ゲームを作成していまして、最初に名前(フォーム)を入力してもらい、以降のページでradio
ボックスを使って選択していく感じです。
クリア画面で最初のページで入力した名前(フォーム)を表示するにはどういったやり方がよろしいでしょうか?
0145デフォルトの名無しさん (ワッチョイ 8f6e-HDOw)
垢版 |
2017/04/23(日) 21:59:06.82ID:Xx5iQvLa0
cookieがいいかと思います
0149デフォルトの名無しさん (ワッチョイ 5bf3-KYNw)
垢版 |
2017/04/27(木) 21:37:03.43ID:rGgHpPcN0
php7 に uuidライブラリを導入したのですが、sudoでしか受け付けてくれません
インストールはpecl install uuidで入れたのですが、root以外はじかれて、ページ上では500エラーとなります

なにか間違っているんでしょうか?
0153デフォルトの名無しさん (ワッチョイ 0ff7-WBDQ)
垢版 |
2017/04/30(日) 11:15:07.30ID:pYQ+I2xN0
PHP5でアンケートページを作りました。
「アンケート入力」の画面で送信ボタンをおしてページ移動を
しています。パソコンとマックのブラウザからはちゃんと
動作している(アンケート画面が移動する+MySQLにも書き込みが
されている)のですが、iPhoneのLINEからアクセスするとエラーが
出てしまいます。AndroidのLINEではエラーがでません。

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

なにか注意点とかiPhoneのLINEだとこれはダメだなどありましたら
教えて頂けないでしょうか。よろしくお願いします。
0154デフォルトの名無しさん (ワッチョイ fb4c-xKwp)
垢版 |
2017/04/30(日) 11:40:09.81ID:nYTyUlyB0
せめてエラーログの内容くらい書いてほしい
iPhoneの場合は純粋のブラウザ(safari)でアクセスするのと、
アプリ内ブラウザで立ち上がるブラウザ(webview)が違う
例えばwebviewの場合はcookieを保存しないなど、ちょっと挙動が違うところもある

てか、開発するのにiPhoneの実機ないとはさすがにだめじゃね?
0159デフォルトの名無しさん (ワッチョイ 76e2-kKGB)
垢版 |
2017/05/06(土) 23:02:40.18ID:6iamBiJv0
【OS名】Win7-Pro
【PHPのバージョン】5.6.28 (XAMPP v.3.2.2)
【連携ソフトウェア】ブラウザはFirefoxかChrome

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

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

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

何かヒントを下さい
0162159 (ワッチョイ 76e2-kKGB)
垢版 |
2017/05/06(土) 23:46:38.71ID:6iamBiJv0
レス有難うございます

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


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

  と出ます
0167159 (ワッチョイ 76e2-kKGB)
垢版 |
2017/05/07(日) 00:27:20.61ID:oPGKh2U00
>>165
はい。 普段使ってるlocalhostのphp置き場にhtmlとtest.phpを置いています。
htmlの起動はOKですが、ボタンを押すとエラーになります。


>>166
8年位前にやってたときはPHPを単独でインストールしてコマンドプロンプトで
やっていたのですが、PCを変えたときXAMPPなるものを試してみたかったので
0172デフォルトの名無しさん (ワッチョイ 7675-YW+0)
垢版 |
2017/05/07(日) 02:58:17.79ID:edBtKeoY0
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 );
});
0173デフォルトの名無しさん (ワッチョイ 7675-YW+0)
垢版 |
2017/05/07(日) 03:09:40.34ID:edBtKeoY0
CORS(Cross-Origin Resource Sharing)制限

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

他にも、ブラウザの制限は厳しくて、
iframe内に、他のドメインのページを読み込んでも、
親側のHTMLからは、それにアクセスできない
0175159 (ワッチョイ 76e2-kKGB)
垢版 |
2017/05/07(日) 18:30:42.76ID:oPGKh2U00
色々有難うございます。

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


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


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

PHPも実務経験はありますが、8年くらい前にやったきりで今年になってようやく再度必要性が
生じて、昔の本やコードを引きずり出して再勉強しています。
平たく書くとローカル動作主体でWebやネットワークには弱いです。
0176デフォルトの名無しさん (ワッチョイ 074c-qAfm)
垢版 |
2017/05/07(日) 18:44:21.97ID:FH3wsgTg0
まずはPHPとJavaScript別々に勉強を進めてはどうか
特にJavaScriptの通信は非同期処理になるので、
しっかり勉強しないと何をしてるか意味が分からないと思う
Cross origin requestのエラーであたふたするレベルだとちと厳しい
まずはJavaScriptかまさないPHPだけのをしっかり学んでからで良いと思います
0178159 (ワッチョイ 76e2-kKGB)
垢版 |
2017/05/07(日) 18:55:36.55ID:oPGKh2U00
>>176-177
有難うございます。 確かにそうですが、業務上JavaScriptとPHPの連携(連動)が
必要な案件を取りたいので基礎でも良いのでこの連動を実現したかったです。

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

本も「最新の知識以前に基礎が大事」という発想と、過去のコードをベースにして再勉強
したかったので買っていませんでした。 後で本屋を見てみます。
0179デフォルトの名無しさん (ワッチョイ 074c-qAfm)
垢版 |
2017/05/07(日) 19:05:10.10ID:FH3wsgTg0
なるほど、立派な営業さんですね
自社製品なのに何も知らんで営業やってるやつがゴロゴロいるからねぇ
連携する部分はあるにせよ、一気に学ぼうとせずに、
ひとつひとつ学んでいく方が近道かと思いますので頑張ってください
0180デフォルトの名無しさん (ワッチョイ 83a1-yFc8)
垢版 |
2017/05/07(日) 19:12:17.90ID:BH039lXF0
画像にハッシュタグを付け、それに「何かしら識別コード」を関連付けて保存する。
それらを比較することで近しい画像を検索するというようなことがしたい。
この「何かしら識別コード」はなにかいいモノはないでしょうか?
0182デフォルトの名無しさん (ワッチョイ 83a1-yFc8)
垢版 |
2017/05/08(月) 00:17:33.36ID:e9qNdiMD0
SimPixという同一、類似画像を探して、整理を補助するフリーソフトがあるんだけど
これみたいに使いたいのだがどういう原理で比較してるのかわからないのです。
0186159 (ワッチョイ 76e2-kKGB)
垢版 |
2017/05/08(月) 19:38:22.33ID:DHydgTad0
題:JavaScriptでPHPを起動し、これに処理をさせ返ってきた値を受け取りたい

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

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

単にcdでディレクトリ移動して $ php -S localhost:8080 ではダメなのですか?
0191デフォルトの名無しさん (ワッチョイ 636e-Ogwz)
垢版 |
2017/05/08(月) 23:03:16.81ID:GNYDAKwF0
>>190
$ はコマンド入力を示しているだけなので入れなくていいよ
0192159 (ワッチョイ 76e2-kKGB)
垢版 |
2017/05/08(月) 23:12:59.99ID:DHydgTad0
>>191
どうも。 やってみましたがダメでした。

C:\xampp\htdocs\_tests>php -S localhost:8080
'php' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
0193デフォルトの名無しさん (ワッチョイ ef21-qO+7)
垢版 |
2017/05/08(月) 23:31:11.67ID:9whwcEDU0
trim関数を文字列に適用する際は、事前に前後のいずれかに空白や改行文字があるかのチェックをした方がいいですか?
とりあえず放り込んどいても問題ないですかね?
0194デフォルトの名無しさん (ワッチョイ 7675-YW+0)
垢版 |
2017/05/08(月) 23:55:01.57ID:pOsiqUbS0
>>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 追加」で検索して
0195デフォルトの名無しさん (ワッチョイ 636e-Ogwz)
垢版 |
2017/05/08(月) 23:58:02.04ID:GNYDAKwF0
環境変数に C:\xampp\php; を追加だね
とりあえず動かしたいなら ..\..\php\php -S localhost:8080
0198デフォルトの名無しさん (ワッチョイ 76e2-kKGB)
垢版 |
2017/05/09(火) 00:09:30.62ID:DXl/dI3b0
159ですがもう一つ質問があります。

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

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

本を見てローカルでは上手くいったので、159のhttp://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 って初めて聞きましたのでこっちも調べてみます
0199198 (ワッチョイ 76e2-kKGB)
垢版 |
2017/05/09(火) 00:26:37.79ID:DXl/dI3b0
上記の「本を見てローカルでは上手くいったので」は
書き込みコード($handle〜fclose($handle); )限定の話です
0201デフォルトの名無しさん (ワッチョイ 636e-Ogwz)
垢版 |
2017/05/09(火) 01:00:42.46ID:bmQioI1H0
>>197
しなくていいと思います
0204198 (ワッチョイ 76e2-kKGB)
垢版 |
2017/05/09(火) 01:33:02.97ID:DXl/dI3b0
>>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";
}
0208デフォルトの名無しさん (ブーイモ MM4b-u5gs)
垢版 |
2017/05/09(火) 18:36:53.05ID:me68cFh4M
教えてください。
PDOでSQLからデータ取ってきてそのまま配列に入れたら、
Array (
[0] => Array ( [title1] => hoge [0] => hoge [title2] => fuga [1] => fuga [title3] => piyo [2] => piyo )

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

このあとforreachの処理に投げたんすけど、データがダブっておかしなことになったので…。
よろしくお願いします。
0209デフォルトの名無しさん (ワッチョイ df1f-VjVX)
垢版 |
2017/05/09(火) 18:50:53.71ID:1JEWBzos0
>>208
ロードのオプションで、数字かキーか両方(指定なし)がえらべる
0210198 (ワッチョイ 76e2-kKGB)
垢版 |
2017/05/09(火) 23:18:52.77ID:DXl/dI3b0
皆さん、有難うございます。

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


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


>>207
Cross origin requests でエラーが出たのでローカルでなくサーバー上でやっています。
0212デフォルトの名無しさん (ワッチョイ dfc1-7zcB)
垢版 |
2017/05/10(水) 00:37:08.48ID:KrmbBI200
>>210
あと勘違いしているようだから言っておくと, fopenは例外を投げない
というファイル操作関数は例外を投げない
ファイル操作で例外処理をしたければSplFileObjectを使うかset_error_handlerでエラーハンドラを書き換える
0214デフォルトの名無しさん (ブーイモ MM4b-u5gs)
垢版 |
2017/05/10(水) 11:18:19.10ID:fvTwvO+tM
>>209
公式に同じような配列の処理例がありますね…fetch使えばいいのか。
よく調べます、ありがとうございます。
0215デフォルトの名無しさん (ワッチョイ 83a1-yFc8)
垢版 |
2017/05/10(水) 12:07:27.61ID:kZ1vOxdN0
ImageCreateFromJPEG($imgfile);

$imgfileにjpg画像以外のpng画像やgif画像を入れるとエラーになるのはわかったのだけど
png画像やgif画像をjpg画像に変換する方法がわかりません。
やり方が分かる人がいらっしゃいましたら教えてください。
0217デフォルトの名無しさん (JP 0H0e-W+y+)
垢版 |
2017/05/10(水) 14:02:06.75ID:DOCc0Zf4H
>>210
> ローカルでなくサーバー上でやっています。
なら、そのサーバ上のディレクトリに対して書き込み不可なんじゃないの?

やることその1: fopen()の戻り値$handleを調べて、成功しているかどうか確認する(falseなら失敗)
やることその2: サーバのエラーログを見る
0220デフォルトの名無しさん (ワッチョイ 7fdb-qxJP)
垢版 |
2017/05/11(木) 17:04:44.60ID:jqKKP1Mj0
【OS名】Windows 10 Home
【PHPのバージョン】5.6.30
【連携ソフトウェア】OpenWeatherMap(API)
【質問内容】
http://ryus.co.jp/blog/openweathermap/ を参考にして、ウェブサイトに東京都の天気情報を表示したいです。
ただ、OpenWeatherMapからの天気情報をJSON形式で取得すると方角の値が0〜360で返ってきます。
この値を方角に置き換えて風向きのテーブルに表示したいです。
まだ、PHPを始めたばかりでswitch分しかわからず、それを使用しています。
switch分を変数に代入したり、sprintf関数に組み込んでみたりと色々試しているのですが上手くできないです。
風向きのテーブルに方角を表示するためのアドバイスをください。
よろしくお願いします。

$url='http://api.openweathermap.org/data/2.5/weather?q=tokyo&;units=metric&appid=********';
$json=json_decode(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分割されています)
}
0221デフォルトの名無しさん (ワッチョイ cf8e-jIBa)
垢版 |
2017/05/11(木) 17:06:00.89ID:qQCmyvYW0
GPLのダウンロード方法教えて下さい。
0222デフォルトの名無しさん (オイコラミネオ MMff-zY/k)
垢版 |
2017/05/11(木) 17:33:13.49ID:auiRJU69M
>>220
上手くできないって何が上手くできないのか?
エラーログが出てるならエラーログの内容をそのまま書いてほしい
エラーログが出ないなら、エラーログを出すようしにして、エラーログの内容を書いてほしい
そうすれば答えてくれる人がいると思う
0224220 (ワッチョイ 7fdb-qxJP)
垢版 |
2017/05/11(木) 18:35:43.44ID:jqKKP1Mj0
>>222
エラーが出ないというか出せないというかうまく言葉で説明できないです。
申し訳ないです。
もう少し試行錯誤します。
ありがとうございました。
0226デフォルトの名無しさん (ワッチョイ d36e-SU9n)
垢版 |
2017/05/11(木) 19:30:24.73ID:5AwxqDXW0
jsonの中身を貼ればいいんじゃない?
0227デフォルトの名無しさん (ワッチョイ ff87-y58w)
垢版 |
2017/05/11(木) 20:28:10.01ID:bHhk+rd90
PHP5.6なのですが、php.iniのoutput_bufferingをOnにしないと
CookieやSessionが使えなくなったのですが、関係あります?
Cookieが使えない原因が分からず、output_bufferingをOnにしたら使えました
ググっても関連があるようには思えないのですが、もしあるなら教えてください
0230デフォルトの名無しさん (ワッチョイ ff87-y58w)
垢版 |
2017/05/13(土) 14:56:11.69ID:DB8bCe2a0
みなさん、画像ファイルのアップロード先フォルダはどのようにしていますか?
単純に/uploadsみたいなところに入れますか?
それともWordpressみたいに
/uploads/2017/05というように日付でフォルダ分けして管理しますか?
0232デフォルトの名無しさん (ワッチョイ ff87-y58w)
垢版 |
2017/05/13(土) 16:37:08.01ID:DB8bCe2a0
確かにそうなんですが、
ある程度のスタンダードな考え方・分け方は知りたいと思いまして。
他のサイトを調べると日付で分けることが多いみたいなんで、
大量に画像をアップロードする可能性があるなら、そうしてたほうが無難なんですかねぇ
0235デフォルトの名無しさん (ワッチョイ ff87-y58w)
垢版 |
2017/05/15(月) 11:21:27.48ID:1833Pji90
Configure::read()

という書き方って専門用語でなんて言うのでしたっけ?
PHPのバージョンによってもこの書き方が使える場合とエラーになる場合があり、
それを調べようと思ったのですが、用語をど忘れしてしまいました
0238198 (ワッチョイ cfe2-fVXt)
垢版 |
2017/05/15(月) 17:52:15.38ID:dvw/ajfi0
(続き)今日はシフトの非番なのでやってみました

------------------
>>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;
をやってみましたが、何も表示されません。

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

いやいや、何も表示されないというのは、fopen()が失敗してるってことだよ。
falseをprintしても何も表示されないから。
成功してたら、"Resouce id #5"みたいに表示されるはずだから。
0240デフォルトの名無しさん (JP 0Hff-+8ye)
垢版 |
2017/05/15(月) 18:24:42.83ID:Jjv98UEoH
つか、

>>238
> >>211の ini_set('display_errors', 1);  は
> failed to open stream: Permission denied in ・・・ test01.php
> となりました。 ※長々と文章が続きますのでここだけ抜粋
エラーの原因出力されてるじゃん・・・
0241デフォルトの名無しさん (オイコラミネオ MMff-zY/k)
垢版 |
2017/05/15(月) 19:55:48.98ID:Vb5ZKsqrM
とにかくエラーログがてるところまで何とかしろ
そこにたどり着く前に色々やっても何も分からんだけ
先に進まず、まずはここだけやれ

そしてエラーログが出るようになったら必ずログを確認しろ
500エラーなら必ず理由がログに出る
0243デフォルトの名無しさん (ワッチョイ 53a1-dtVa)
垢版 |
2017/05/15(月) 21:04:15.00ID:fnDHHxZB0
ローカルで使用する時に別ドライブから画像参照したい
htmlだと
<img src="file:///I:/img/0000.jpg">
こう書けば別ドライブから画像を参照して表示できるのだけど
PHPではこう書いてもできない。
どうすればいいでしょうか?
0245198 (ワッチョイ cfe2-fVXt)
垢版 |
2017/05/15(月) 22:19:38.89ID:dvw/ajfi0
>>239-242
FFFTPでサーバー上の目的テキストのパーミッションを開き、権限者「その他」で「書き込み」
にチェックマークを入れたところ、print $handle; は Resource id #3 が出ました。
※Chromeで実行しましたがエラーは出ていません

文字化けしていますが曲りなりに成功しました。 有難うございます。
0246198 (ワッチョイ cfe2-fVXt)
垢版 |
2017/05/15(月) 22:44:25.11ID:dvw/ajfi0
(追記)
文字化けは、目的テキストの文字コードを UTF-8 にするため
$str = "テスト文章です";
$str = mb_convert_encoding($str, "UTF-8", "EUC-JP");

でOKでした。
何故か "EUC-JP" でなくファイルの元コード "sjis" や "Shift_JIS" から
変換すると文字化けのままです。
0248デフォルトの名無しさん (ワッチョイ a34c-zY/k)
垢版 |
2017/05/16(火) 00:55:45.12ID:hc9PncuC0
>>247もそうだけど、上手くいかないならまずはアクセスログ、エラーログを見よ
ログがでてないならまずはログを出すところから始めろ
PHP ログ 出力 でググって調べろ
上手くいかない場合、ここで聞くよりログを見た方が確実だし早い
0250デフォルトの名無しさん (ワッチョイ 5356-8ulf)
垢版 |
2017/05/16(火) 11:16:48.66ID:3A9hLCJa0
冷たいようだが手遅れになる前にハッキリと言っとく

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

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

動きません
分かりません

という質問の仕方しかできないなら、ハッキリ言うがプログラミングには向いてない
手遅れになる前に他の業界にいきましょう
0251デフォルトの名無しさん (ワッチョイ cfe2-fVXt)
垢版 |
2017/05/16(火) 12:22:29.62ID:CV++bHOB0
>>250
でもそれはアナタが慣れているから。
初心者はエラーメッセージの出し方も分からないないし、長々としたメッセージの
どこを見れば良いかも分からない。

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

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

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

それに資料の殆どが英語という言語もあるんだぜ
0252デフォルトの名無しさん (アウアウカー Sa67-n/2N)
垢版 |
2017/05/16(火) 12:29:18.04ID:EpHNLcPNa
プログラミングやってたら知りたい情報が英語で書かれてることなんて珍しくもないし、そんなとこで優越感持たれても困る
業界どうこうの話じゃなくて、自助努力の痕跡が見つけられるかどうかでしょ
0253デフォルトの名無しさん (ワッチョイ 5356-8ulf)
垢版 |
2017/05/16(火) 13:01:25.46ID:3A9hLCJa0
>>251
日進月歩の世界だから自分の力で調べて解決する能力のない人は向いてないってだけの話
長ったらしいエラーが出たら出たで、今度はそのエラーをググればいいじゃないか
昔はググる事すらできなかったのにさw

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

FPGAなんて言葉を出して優越感()に浸ってるお方には理解できないのかもしれないけどさw
0255デフォルトの名無しさん (ワッチョイ cfe2-fVXt)
垢版 |
2017/05/16(火) 13:05:13.59ID:CV++bHOB0
>>253
要はエラーが出ない場合は、「エラーメッセージの出し方を教えて下さい」で、
あと「どの個所を見れば良いのですか?」 という2行を追加ということでOK?

あとFPGAの存在は知っておいて損は無いよ。
専用ツールをライセンス購入すると100万円超えるけど
0259デフォルトの名無しさん (オイコラミネオ MMff-bYwI)
垢版 |
2017/05/16(火) 13:49:00.36ID:6VEQJAMtM
検証の手順と質問の仕方は考えてほしい
超能力者じゃないと答えられん質問投げられてもだれも得しない

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

それでも分からなければソースとエラーログを
他人に見られてはいけないところ(パスワードどか)以外全部ここにコピペで書け
そうすれば答えてくれる人も多くいると思う
ソースだけとかでも分からない場合が多いので
0260デフォルトの名無しさん (JP 0Hff-+8ye)
垢版 |
2017/05/16(火) 14:13:25.93ID:Ilchk1CoH
>>243
> ローカルで使用する時に別ドライブから画像参照したい
> htmlだと
> <img src="file:///I:/img/0000.jpg">
> こう書けば別ドライブから画像を参照して表示できるのだけど
「ローカル」というのがローカルPCで動作するHTTPサーバを指すなら、HTMLでも表示できないと思うが。
単にHTMLファイルをダブルクリックして表示することを指しているのなら、それに変わるPHPの使い方はできない。
0261デフォルトの名無しさん (ワッチョイ 83c1-O3YC)
垢版 |
2017/05/16(火) 14:34:15.08ID:l7Nmuuc60
テンプレに追記が必要か?

[プログラムが動かない場合]
* エラーは出ているか?
出ている→コードと内容をそのままコピペ
出ていない→error_reporting(E_ALL); ini_set('display_errors', true); をコード先頭に追記して実行して表示されるエラーをコピペ
0262デフォルトの名無しさん (ワッチョイ 4367-r1sh)
垢版 |
2017/05/16(火) 16:49:20.37ID:WEDWU0250
すいません、以下質問させてください。
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のレコードを抽出して表示

よろしくお願いします。
0264デフォルトの名無しさん (ワッチョイ 4367-r1sh)
垢版 |
2017/05/16(火) 17:36:29.81ID:WEDWU0250
>>263
ありがとうございます。
1ユーザー単位の検索回数が多いであろうと想定して必要以上のDBアクセスを避けるために、
最初のページ読込で全データとったらあとは配列でなんとかしたかったのですが無理そうですかね…。
0265デフォルトの名無しさん (JP 0Hff-+8ye)
垢版 |
2017/05/16(火) 17:48:51.64ID:Ilchk1CoH
>>264
Javascriptで実装する範疇ですね。
Web制作板に適切なスレがあるかも・・・。

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

これ以上は、Web制作板かな。(Javascriptの質問を重ねないように)
0268デフォルトの名無しさん (ワッチョイ 4367-r1sh)
垢版 |
2017/05/16(火) 18:08:30.13ID:WEDWU0250
>>265
やはり、いち関数とかでどうこうできないですかね…残念。
検索値のログを取りたくてPHPを選択してみた経緯でした。
JavaScriptではファイル書き込みなどのファイル操作ができないようなので。
ありがとうございます。
0270デフォルトの名無しさん (ワッチョイ 93f3-bYwI)
垢版 |
2017/05/16(火) 18:15:43.77ID:/gdfS9gt0
いや、PHPでもゴリゴリ実装すればできると思うよ
ログも取れるし
SQLで間引くか、表示の直前で間引くかすれば良い
当然、適切なSQLを生成して必要な情報のみ取得して表示した方がサーバには優しい
0271デフォルトの名無しさん (ワッチョイ 43cd-4kea)
垢版 |
2017/05/16(火) 18:16:14.25ID:dXmAFpYY0
>>264
まずは普通に作ってみたらいいのにと思うんだけど。

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

を考慮しないといけないんじゃない?
0274デフォルトの名無しさん (ワッチョイ 4367-r1sh)
垢版 |
2017/05/16(火) 18:42:09.76ID:WEDWU0250
みなさん、ありがとうございます。

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

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

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

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

>>271
クライアントにはデータは渡したくないので、あくまでサーバー側で処理したいと考えてます。
おっしゃる通り、まずはトライしてみます。array_filterで。
セッションの部分はまだ勉強不足でして…宿題です。
(データ登録は数日に1回10件くらいなのでシビアに見なくても大丈夫…かな?)
0275デフォルトの名無しさん (オイコラミネオ MMff-bYwI)
垢版 |
2017/05/16(火) 21:08:45.69ID:6VEQJAMtM
アクセス多いならデータベースに負荷をかけない方法として
memcacheやradisなどのキャッシュサーバ使ったり
PHPのAPCキャッシュを使うことも検討するといいよ
いきなりは厳しいけど、徐々に勉強していけばいいと思います
0277デフォルトの名無しさん (ワッチョイ 639e-Y/UN)
垢版 |
2017/05/16(火) 21:29:08.64ID:9H3961U80
>>261
良いのでは?
スレタイを声に出して100回読んでみろと言いたいところだが>>250は真実だしな
口が臭い奴にお前口が臭いよとはっきり言う方がある意味では親切なのと同じで
向いてない奴には向いてないとはっきり告げるのも必要だ
綺麗事だけじゃ仕事は勤まらん
0278デフォルトの名無しさん (ワッチョイ 639e-Y/UN)
垢版 |
2017/05/16(火) 21:33:22.36ID:9H3961U80
>>274
既に誰かが書いてたらすまないが、初回のsql発行結果を元に配列ソート用のJavaScriptのコードをPHPで出力してやるなんてやり方もあるよ
もう少し詳しく書きたいんだがスマホからなのですまない
0279デフォルトの名無しさん (ワッチョイ 53a1-dtVa)
垢版 |
2017/05/16(火) 21:57:02.88ID:P5MMw6+60
>>260
> 単にHTMLファイルをダブルクリックして表示することを指しているのなら、それに変わるPHPの使い方はできない。

ありがとうございます。
それがわかっただけでも対策を立てることができるので助かります。
0281デフォルトの名無しさん (オイコラミネオ MMff-bYwI)
垢版 |
2017/05/17(水) 09:42:34.81ID:u2bs0BxyM
>>280
https://github.com/chatbox-inc-hoge/SimpleKVS
有名でもないし、有効期限の実装もまだかもしれん
PHPだけでの実装なら都度都度ディスクから読み書きするしかないだろうから色々と厳しそう
SQLite使えるならそこにKVS実装するとか
ぶっちゃけ、どこかにmemcachedプロセス立ち上げるのが一番速いと思う
0282デフォルトの名無しさん (ワッチョイ d36e-SU9n)
垢版 |
2017/05/17(水) 11:50:09.98ID:3lPWTVzo0
>>281
ランキング的なものをjsonで書き出して普段は読み込むだけなのでファイルでもいいかなと
レンサバなのでmemcachedは難しそうです
ありがとうございましたm(__)m
0283デフォルトの名無しさん (ワッチョイ 4367-r1sh)
垢版 |
2017/05/17(水) 12:56:49.09ID:lSa7TP7B0
>>276
そうなんですよねー。
いずれSQLはコールドデータ的にして、Redisにコピってそっちでやり取りできたらいいなあと。
Dockerとかで環境作れそうですけど、基本的な実装が終わったらトライしてみたいですね。
APCキャッシュは知らなかったので調べてみます。

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

ありがとうございます。
0285デフォルトの名無しさん (ワッチョイ 1b1f-GzPn)
垢版 |
2017/05/20(土) 13:22:04.09ID:+AHq9zzn0
正規表現でいいだろ。とくに高速にこだわなければ。
0289デフォルトの名無しさん (ワッチョイ 0314-kvD5)
垢版 |
2017/05/21(日) 12:28:59.50ID:ANSA2OhR0
【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再起動
参考にしたサイト
http://www.php.net/manual/ja/oci8.installation.php
【判明していること】
apacheのerror.log…oci_connect undefined function
phpinfo…oci8の項目がない。
他の32ビットアプリからOracle接続できています。
0291デフォルトの名無しさん (ワッチョイ 1bc8-tN1F)
垢版 |
2017/05/21(日) 21:24:59.33ID:rRI3ub450
phpまったく分からない初心者で申し訳ないんですが、こちらの(http://www.punyu.net/php/oekaki.php)お絵かき掲示板をサイトに設置したいのですが、設置方法通りにやっても
Parse error: syntax error, unexpected '}' in ""/poti/htmltemplate.inc(312) : eval()'d code on line 147
このようなエラーが出てしまいます…
該当のファイルは全く手を付けていないので原因が全く分かりません。
本来ならば配布サイトで聞くことなんですが、かなり昔に更新停止してしまっているようで…。
ご教示いただけたら幸いです。
0292デフォルトの名無しさん (ワッチョイ 634c-IUzK)
垢版 |
2017/05/21(日) 22:10:58.34ID:YAwwHXxQ0
>>291
そのサイト見ても403エラーしか表示されないのでよくわらかんが、
syntaxエラーということはプログラムが正しい記法で記述されてないということ
PHPのバージョン違いで対応してないのかもしれない

そもそも更新が停止されてるプログラムなんかセキュリティホールあるかもしれんし
素人ならなおさら使うべきではないと思う
ちゃんと今もメンテされてるところを探すべき
0294デフォルトの名無しさん (ワッチョイ 1bc8-tN1F)
垢版 |
2017/05/21(日) 22:27:21.97ID:rRI3ub450
みなさんアドバイスありがとうございます。やっぱり古いのはだめなんですね…。
今までレンタルサーバーを使っていたのですが、こちらのhttps://github.com/funige/neo
ツールを使いたくて先程のお絵かき掲示板を設置しようとしていたのです…。こちらで普通につかえているようなので大丈夫だと思ったのですが…。
0296デフォルトの名無しさん (ワッチョイ 0fa1-PZTw)
垢版 |
2017/05/22(月) 11:49:09.51ID:d1deCwH80
訪問者が以前見ていたページからオススメのページを表示させたいのだけど
そういうことはできるのでしょうか?
詳細な情報は自分で調べてくるので大凡な概要を教えてください
0299デフォルトの名無しさん (ワッチョイ de1f-bwHs)
垢版 |
2017/05/22(月) 12:12:45.56ID:wBUnNup00
アクセスユーザーがログインする形なら、ログインしたユーザーID
ログインしいなら、クッキーを使ってアクセスユーザーを特定する
後はサーバー側で、人気ページ集計やオススメページを決定し
そのアドレスに誘導するなりお好きなように
0301デフォルトの名無しさん (ワッチョイ 5ff3-IUzK)
垢版 |
2017/05/22(月) 12:20:23.07ID:pVaUfe3+0
訪問者をどうやって区別するのか?
ログイン処理などでID管理してればID使えるし、そうでないならcookieで識別するか?

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

オススメのページをどう選定するのか?
ページのごとにIDをふって、オススメページの対応表を自分で作るのか?
ユーザの動向からオススメページを決める手法はかなり難しい
レコメンドアルゴリズムとか協調フィルタとかでぐぐれ
PHPにもライブラリはいくつかあるようだが、そのまま使うのは厳しいかも
0303デフォルトの名無しさん (ワッチョイ 6745-hm/v)
垢版 |
2017/05/22(月) 16:59:57.37ID:0HmMgaGq0
switch文でcaseが30個超えたりする場合
もっと簡潔にする方法ってありますか?
単純に引数の値によって個々の返値を変えたいんですが、
シンプルな方法がわかりません。
0306303 (ワッチョイ 6745-hm/v)
垢版 |
2017/05/22(月) 18:38:52.91ID:0HmMgaGq0
配列も考えたんですが、うまい方法がわかりませんでした。
出てくるのは一回だけなので、このままでいってみます。
ありがとうございました。
0308デフォルトの名無しさん (ワッチョイ d3b7-l8kh)
垢版 |
2017/05/23(火) 21:42:21.92ID:tFSGr+Xo0
外部ファイルをよみこんだけど、
その外部ファイル上からクラスを探してくれないときはどうすればいいですか?
たとえば読み込む側ファイルが、 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 のときに読み込まれた側ファイルを探索してくれないのでしょうか。
0309デフォルトの名無しさん (ワッチョイ d3b7-l8kh)
垢版 |
2017/05/23(火) 21:45:25.83ID:tFSGr+Xo0
すみません誤記がありました
上記の
var_dump(require '/xxx/foo.php');
で requireとなっていますが、
var_dump(require_once '/xxx/foo.php');
でもtrueが返ります。
0311デフォルトの名無しさん (ワッチョイ d3b7-l8kh)
垢版 |
2017/05/23(火) 22:29:34.43ID:tFSGr+Xo0
>>310
検証ありがとうございます。
今、私も foo.php と use.phpを同じカレントにおいて実行したところ
実行できました。
つまり、この問題は「foo.phpとuse.phpのディレクトリ(及び実行するカレントディレクトリ)が違う」
という問題が原因していることが新たにわかりました。
ディレクトリが違うと問題が起きるのでしょうか?
読み込んだモジュールと読み込んだ側、実行カレントなどの
ディレクトリを揃える手段ってありますか?
0312デフォルトの名無しさん (ワッチョイ 1bc1-bwHs)
垢版 |
2017/05/23(火) 23:31:00.98ID:J05KrQMn0
>>311
ディレクトリaaaを掘ってそこにuse.phpを移動しかつ
__DIR__.'/foo.php' -> __DIR__.'/../foo.php'
として問題なく動作する

繰り返すが再現する条件と実行可能なコードを出せ
きちんと原因を知りたいならな
0313デフォルトの名無しさん (ワッチョイ d3b7-l8kh)
垢版 |
2017/05/24(水) 01:00:45.23ID:rx1CXyDY0
>>312
すみません、自己解決しました。
上記の質問をしたのは autoloadの useが使えなくなり、
require_once(); もcomposerでインストールしたライブラリでは
使えなかったためで、
そもそもの useが使えない原因を特定しました。
私はwindowsから macにPCを変えたばかりで、macでは
\マークと\ を分けていることに気が付きませんでした。
option + \ で \ を出力できることを知り、 useの問題を解決しました。

require_once ();の問題は解決したことにはなりませんが、
とりあえず useで問題なく外部ファイルを読み込めるのでこれで解決
と思うことにしました。
お騒がせして本当にすみません。
0314デフォルトの名無しさん (ワッチョイ d3b7-l8kh)
垢版 |
2017/05/24(水) 01:02:21.63ID:rx1CXyDY0
あれ、投稿したら ¥マークもバックスラッシュになっちゃいましたね・・
つまり、このことがよくわかっていなかったということになります。
0321デフォルトの名無しさん (JP 0H7f-/6qz)
垢版 |
2017/05/25(木) 11:03:31.77ID:yXnULsJhH
>>320
何に関してレスされてるのかわからん。
macでバックスラッシュ使うところを0xA5の円記号を使っておかしくなったって話じゃないのか?
0322デフォルトの名無しさん (ワッチョイ 5b45-sqEw)
垢版 |
2017/05/26(金) 16:50:51.17ID:NBObyIGd0
コンストラクタの引数を使ってひとつの処理を実行するだけのオブジェクトを作る場合
コンストラクタに全ての処理を書いてインスタンス生成のみを行うのと
実行用のメソッドを作って、インスタンス生成直後に$foo->do()から実行するのと
どちらで作るのが一般的なんでしょうか?
処理は内部的な物で、どうしても必要なクラスという条件です
0330デフォルトの名無しさん (オッペケ Sr71-i0+1)
垢版 |
2017/06/09(金) 21:35:08.67ID:itsdSOhir
ftp関数ってftp関数の使用が許可されているサーバーから許可されていないサーバーに通信できるの?
さくらインターネットはftp関数使えないけど、使えるサーバーからさくらに接続できる?
0331デフォルトの名無しさん (オイコラミネオ MMeb-jiBQ)
垢版 |
2017/06/09(金) 22:47:35.09ID:ltTPD1ZbM
受け入れる側が許可してないと何やっても繋がらんよ
ftpdのプロセスが立ち上がってて、かつ必要なポート番号が開いてる必要がある
アクティブモードかパッシブモードかによって色々変わる
さくらのサーバ側がどうなってるか確認すれば良い

繋げる側は通信が外に出ていければだいたい大丈夫
もちろんftpプロトコルで通信できる環境は必要だが
0333デフォルトの名無しさん (ワッチョイ 4500-jiBQ)
垢版 |
2017/06/10(土) 01:01:48.16ID:nnTfCPYs0
>>332
繋ごうとする側にFTPクライアントかFTP関数的なものが必要ということだよ
何のファイルを送受信するか分からんけど、
素のFTPだと暗号化されてないから注意せよ
今の時代ならSFTPとかSCPとか使う方が安全
0334デフォルトの名無しさん (オッペケ Sr71-i0+1)
垢版 |
2017/06/10(土) 06:16:39.22ID:0tXhVGnur
>>333
ああ、そうなんですね。
だとすると繋ごうとする先のレンタルサーバーを確認しないとダメですね。
うーん、仕様を確認してわかるものなのか…。

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

ftpソフトで繋げられるからといってphpのftp関数でも繋げられるとは限らないということですね。
0342デフォルトの名無しさん (ワッチョイ 15db-55DC)
垢版 |
2017/06/13(火) 11:59:39.85ID:y4mccwa90
画像ファイルをアップロードして一覧表示するプログラムを作成していて、
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"]

よろしくお願いします。
0343デフォルトの名無しさん (ワッチョイ e511-Z3xB)
垢版 |
2017/06/13(火) 16:22:16.49ID:e75WWAwz0
APIを作りたいんですが
codeigniterとかフレームワークを使うのってへんですか?
0344デフォルトの名無しさん (JP 0H6b-yTT2)
垢版 |
2017/06/13(火) 17:07:34.26ID:3KAtKhUpH
>>343
・そこそこの数のAPIを作る
・認証が必要
・自前でCSRFとかの対策だるい
・自前でルーティングするのだるい
とかなら、フレームワークおすすめ。

ただ、フルスタックのでかいフレームワークじゃなくて、マイクロフレームワークと呼ばれる
のを調べてみるといいよ。
LumenとかSlimとかSilexとか。
0345デフォルトの名無しさん (ワッチョイ 23cd-D9zB)
垢版 |
2017/06/13(火) 20:13:16.36ID:If/p8sdd0
>>343
変じゃない。
>>344が書いてるようにフレームワーク使った方が楽。
LumenやSlimもいいんだけど、マイナーだからなにか問題起こると
ググっただけでは答えが見つからないこともある。
初心者だったらメジャーなフレームワーク選ぶといいよ。
最近シェア落としてるけどcakeでいいと思う。
エラーメッセージそのままコピペしてググれば、ほぼ答えが出てくる。
0347デフォルトの名無しさん (ワッチョイ ddc2-OlK+)
垢版 |
2017/06/14(水) 14:12:06.77ID:gEXW+PhK0
かなりひさしぶりにPHP触るんだけど今ってテンプレートエンジンは何が熱い?
昔は、smartyが遅いからsmarty記述法と互換性がある自作エンジンを作ってやってたんだけど
最近熱いエンジンのソースコードが見たくなった
0350デフォルトの名無しさん (ワッチョイ 7d6c-Fz1p)
垢版 |
2017/06/14(水) 14:44:27.06ID:M56szTyh0
質問失礼します。
php7でサーバプログラムを作成中です。

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

php7 + Apache で色々試したり、フレームワークのSilexを入れて試したりしましたが、
これってつまりプロセス間通信だったり、なにかしらのストレージに入れないと無理ですよね?
0351デフォルトの名無しさん (JP 0H6b-yTT2)
垢版 |
2017/06/14(水) 15:38:38.63ID:/XZF9UoWH
>>350
HTTPリクエストを受け取って処理する部分は、待ち受けする必要ないでしょ
リクエストを受け取って、何か処理して、WebSocketサーバにデータを送信する
WebSocketのサーバもPHPで書きたいなら、そこでは当然接続を待ち受ける必要がある
0352350 (ワッチョイ 7d6c-Fz1p)
垢版 |
2017/06/14(水) 15:57:19.95ID:M56szTyh0
>>351
WebSocketは待ち受けて、HttpRequestは待ち受けない(Apatchまかせ)のであれば、データをWebSocketでクライアントに送信する際、確実にストレージなりを利用する事になります。
今回それをやりたく無いので、両方同じクラス内で待ち受けて処理できれば、クラス内の一時メモリを使いまわせるのになぁ。
と思った次第です。Silexで試した理由はそれです。
0353デフォルトの名無しさん (JP 0H6b-m0Mh)
垢版 |
2017/06/14(水) 16:03:38.60ID:/XZF9UoWH
>>352
> データをWebSocketでクライアントに送信する際、確実にストレージなりを利用する事になります。
え?なんで?
a.phpがHTTPリクエストを処理したなら、a.phpからWebSocketサーバはsocket通信だよ?
0354デフォルトの名無しさん (JP 0H6b-m0Mh)
垢版 |
2017/06/14(水) 16:10:17.81ID:/XZF9UoWH
>>352
読み間違えてた
a.php: Apacheから呼び出される何かのリクエストを処理するコード
WebSocketサーバ:あるポートで待ち受ける、WebSocketプロトコルをしゃべるサーバ

のとき、a.phpはWebSocketクライアントだよ?
0355350 (ワッチョイ 7d6c-Fz1p)
垢版 |
2017/06/14(水) 16:11:37.43ID:M56szTyh0
>>353
という事は、a.phpが呼ばれたらlocalhostに接続して送信切断という流れなんですね。
確かにそれでも可能です。
後から要件追加して申し訳ないですが、a.phpが短時間に大量に実行されるので、できれば接続と切断は繰り返したくないのがあります。
0356350 (ワッチョイ 7d6c-Fz1p)
垢版 |
2017/06/14(水) 16:16:39.58ID:M56szTyh0
今試したら、WebSocketのsocket_acceptでHttpRequestを受け取れました。
httpもsocketも同じtcpだからacceptするんですね。目から鱗でした。
接続と切断を繰り返してしまいますが、これしかないですかねぇ。。。
0357デフォルトの名無しさん (JP 0H6b-m0Mh)
垢版 |
2017/06/14(水) 16:18:14.83ID:/XZF9UoWH
>>355
ちょっとまってくれよ
HTTPリクエストを捌くのはmustなの?そうじゃないの?
短時間に大量のリクエストってどれくらい?100req/sec?10000req/sec?
0360デフォルトの名無しさん (ワッチョイ ddc2-OlK+)
垢版 |
2017/06/14(水) 16:21:41.56ID:gEXW+PhK0
>>349
他言語ばっかやっててPHP書くのなんて久しぶりだから
最近の流行りもののソースコードを何となく見てみたくなるんだよw
そこで自分が全く知らない新しい事を見つけたら嬉しくならない?
0361デフォルトの名無しさん (ワッチョイ 0be3-ceo9)
垢版 |
2017/06/14(水) 16:24:58.32ID:mnieIMJY0
海外レンタルサーバーを借りたのですが
○○○.com/ にアクセスると
○○○.com/?i=1
というように、すべてのurlに ?i=1がくっついてくるのですが、これを取り払うには htaccessに何と書けば良いのでしょうか?
それとも他に方法がありますでしょうか?
0362デフォルトの名無しさん (ワッチョイ 1532-Ell8)
垢版 |
2017/06/14(水) 16:29:06.69ID:3zsLXGHk0
>>360
どのくらい久しぶりなのかによるけど、改めてsmarty使ってみたら?
「smarty遅い」といってもいろんな理由があるので、使う側の問題で遅いということもある。

他のエンジンがいいならbladeとかtwigとか。
もっとも、やっぱり自作最高やってなりそうな人にも見えるので、やるだけ損かもしれない。
0363350 (ワッチョイ 7d6c-Fz1p)
垢版 |
2017/06/14(水) 16:30:12.68ID:M56szTyh0
>>357
同時接続2000人が想定のチャットサーバ書いてます。

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

ブラウザからのhttp requestをWebSocketで受けたらデータが汚すぎて萎えました。
(接続と切断を2〜3回繰り返す。。。)
0368デフォルトの名無しさん (JP 0H6b-m0Mh)
垢版 |
2017/06/14(水) 16:40:42.09ID:/XZF9UoWH
WebSocketでチャットとかありがちで、ググればサンプルも死ぬほどあるだろうけど、
たとえは、これ http://qiita.com/hosomichi/items/66b309a6c3c20d910218
チャットそのものは、JavascriptとWebSocketサーバがやりとりする
WebSocketサーバは、別に何で実装してもいい
もちろん、最初のページはHTTPリクエストで取得する

このラインでいいの?駄目なの?
駄目だとしたら、何が必要なの?
0369350 (ワッチョイ 7d6c-Fz1p)
垢版 |
2017/06/14(水) 16:48:14.61ID:M56szTyh0
>>368
少し祖語があるみたいです。
http request発行者はクライアントではなく中核サーバーになります。
(上でブラウザで試したというのはクライアントを模してやったわけではなく、単なるテストとしてやりました)
今書いているコードはクライアントと中核サーバーとの中継サーバーのものです。
中核サーバーのコードは修正できません。
そこからhttp requestでメッセージが飛んでくるんです。
そういう意味ではhttp requestを捌くのはmustですね。。。
0370デフォルトの名無しさん (JP 0H6b-m0Mh)
垢版 |
2017/06/14(水) 16:58:29.14ID:/XZF9UoWH
>>369
やっと、どんなものか輪郭が見えたよ

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

まぁ、これ以上、俺からは何も言えないけど、ひとつだけ言えるとしたら、
最初に戻って、複数のポートで待ち受けできるかどうかだけど、できるよ
http://php.net/manual/ja/function.socket-select.php
0371350 (ワッチョイ 7d6c-Fz1p)
垢版 |
2017/06/14(水) 17:02:24.05ID:M56szTyh0
>>370
おお!
パッと見どうやって使うのか、まだよく理解できていませんが、貴重な情報ありがとうございます!
言葉足らずですいませんでした。
0373デフォルトの名無しさん (ワッチョイ 23cd-D9zB)
垢版 |
2017/06/14(水) 17:08:42.57ID:2WK2RY/D0
同時接続2000人ってかなりデカいサービスなので数限られる。
動画配信が一番可能性高いけど、そういう仕事やってるとこは・・・。
まさか会社から2chに繋げてないよね?
知り合いの会社の社員のような気がしてきたw
2chに書き込むとインフラとセキュリティにメールが飛ぶとこもあるぞ。
気をつけなされ。
0375デフォルトの名無しさん (ワッチョイ ddc2-OlK+)
垢版 |
2017/06/14(水) 19:32:47.41ID:gEXW+PhK0
>>362
bladeとtwigありがと

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

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

>>366
なんだその決め付けはw
2ch脳も大概にしてくれや
面倒くせぇやつだな
0376デフォルトの名無しさん (ワッチョイ 9a88-y0cV)
垢版 |
2017/06/15(木) 00:40:42.03ID:yD3vPxkF0
アフィリエイトのリンクはクリックしたら広告先のURLに移動しますが、
PHPでアフィリエイトリンクからクリック先のURLを取得する方法はないでしょうか?
(つまり、クリックせずに正規のURLが取得したい)
get_headers($url)は無理でした
0381デフォルトの名無しさん (ワッチョイ 3aed-g/RG)
垢版 |
2017/06/19(月) 14:11:01.90ID:JoeiF6VU0
【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
と表示されました。
データベース接続のため、アドバイスをいただきたいと思います。
足りない情報などもあると思いますが、宜しくお願いいたします。
0382デフォルトの名無しさん (ワッチョイ 5383-VgqF)
垢版 |
2017/06/19(月) 14:28:03.46ID:4/2FI0cI0
・'mysql://user名:passlocalhost/データベース名' の内容が間違ってる
・MySQLが起動してない

あたりのオチでは?
そもそも今MDB2を使うメリットって皆無だと思うからPDOを勉強した方が良いと思うけど
0386デフォルトの名無しさん (ワッチョイ 5383-VgqF)
垢版 |
2017/06/19(月) 16:46:26.99ID:4/2FI0cI0
2014年発行の本でMDB2をとりあげた理由ってなんだろう

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

恥ずかしながら
「一般社団法人 PHP技術者認定機構」なんてものがある事を初めて知ったw
実務でどれくらい役に立つんだろうねこれ
0387デフォルトの名無しさん (ワッチョイ 4fe3-yC+1)
垢版 |
2017/06/19(月) 17:27:56.89ID:7bEKAPau0
>>381
PHP5技術者認定初級の公式教本って
オライリージャパンの「初めてのPHP5 増補改訂版」かな?
原書の方は Final Release Date: June 2004ってある。
日本語翻訳で追補しているかも
7章の13辺りからPDOでの操作が載っているようだから、
その辺と読み替えてみたらどうだろう
0388デフォルトの名無しさん (ワッチョイ 876c-BQIS)
垢版 |
2017/06/19(月) 20:39:06.96ID:2foBmcl+0
2014年でMDB2なんて使う必要性ゼロだったと思う
当時でもPDOもしくはmysqliのどっちかしか推奨されてなかった気がする
その本はすぐに捨てて2015年以降に発刊された本を買い直した方がいい
できればPHP7に対応してるやつ
0390デフォルトの名無しさん (ワッチョイ 87cd-hHqA)
垢版 |
2017/06/19(月) 21:50:08.46ID:LhGzpkui0
つか、phpなんてググるだけでいいだろ
教本なんていらんのや!
0392デフォルトの名無しさん (ワッチョイ eb00-BQIS)
垢版 |
2017/06/20(火) 02:19:52.47ID:iK2sGPi10
目的はPHPの試験に受かりたいってこと?
なら動かさなくてもいいじゃん、暗記だけでいいと思うよ
正直、もうほとんど使われてないライブラリだから
実際には大して役に立たない
試験受かったら新しめの本買って学び直せ
0393デフォルトの名無しさん (ワッチョイ f723-Udsw)
垢版 |
2017/06/28(水) 23:04:51.83ID:7cLKB0Py0
PHPや他言語で、JSのconsole.log();みたいに
オブジェクトや配列を▼ボタンで折りたたみ/展開できる
デバッグ方法ない?
0396デフォルトの名無しさん (ブーイモ MMed-p+6f)
垢版 |
2017/06/29(木) 17:16:58.19ID:olsHrbVIM
多次元配列どうしの結合で教えてくださいませ。
以下のようなそれぞれの配列を、
Array1
(
[0] => Array
(
[key1] => 1
[key2] => 2
)

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

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

よろしくお願いします。
0398デフォルトの名無しさん (ブーイモ MMed-p+6f)
垢版 |
2017/06/29(木) 19:19:10.78ID:olsHrbVIM
>>397
できました、ありがとうございます!
0400デフォルトの名無しさん (ブーイモ MM62-p+6f)
垢版 |
2017/06/30(金) 14:43:54.43ID:IOmACzTvM
質問させてください。
条件分岐で結果の数が多い場合、
if文でネストする以外にいい方法はありますでしょうか。

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

よろしくお願いします。
0401デフォルトの名無しさん (ワッチョイ c2cd-0bL8)
垢版 |
2017/06/30(金) 15:29:51.48ID:xquLJ6q20
foreachで回してカウントすればいいのでは?
0404  (ブーイモ MM62-p+6f)
垢版 |
2017/06/30(金) 18:59:07.63ID:IOmACzTvM
もろもろレスありがとうございます。

>>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回目";
}
0405  (ブーイモ MM62-p+6f)
垢版 |
2017/06/30(金) 19:00:51.81ID:IOmACzTvM
>>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回目
)
0406デフォルトの名無しさん (ワッチョイ bdc2-nP2k)
垢版 |
2017/06/30(金) 19:15:45.47ID:EFdSifWf0
array_column($allData, 'zeroOne');

'zeroOne'の値だけ抜き出した配列を別に作ってそれをforeach()あたりで回してチェックすればいいだけな気がするが
何か勘違いしてたらすまない
※array_column()はPHP5.5以上でしか使えないから注意。仮に使えなくても自分で作れるよね?
0409デフォルトの名無しさん (ワッチョイ c183-nP2k)
垢版 |
2017/06/30(金) 19:38:09.13ID:R3qh0H/X0
いまいち何がしたいのか不明な部分が多いが

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

で'zeroOne'の値が0になってる'id'だけを収めた配列$zeroを作れば分かりやすいんじゃない?
0410  (ブーイモ MM62-p+6f)
垢版 |
2017/06/30(金) 19:41:09.28ID:IOmACzTvM
>>406
PHPのバージョンは大丈夫です。

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

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

if文の数珠つなぎ以外で書ける方法がないか知りたいんですが、
わかりにくくてすいません。
0411  (ブーイモ MM62-p+6f)
垢版 |
2017/06/30(金) 19:54:02.55ID:IOmACzTvM
>>407
1が出ても処理は継続します。
いまのとこ1が出てきたら適当な値を入れて全件最後まで回してます。

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

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

>>409
ありがとうございます、検証してみます。
0412デフォルトの名無しさん (ワッチョイ 2d2d-Vkm7)
垢版 |
2017/06/30(金) 20:48:04.60ID:jM2/iqY60
とりあえず殴り書いてみた
$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);
0413  (ブーイモ MMed-p+6f)
垢版 |
2017/07/03(月) 12:23:07.80ID:B+GGE7aBM
>>412
すいません、レス遅くなりました。
試してみます、ありがとうございます!
0414  (ブーイモ MMed-p+6f)
垢版 |
2017/07/03(月) 12:35:32.09ID:B+GGE7aBM
>>412
おぉ、まさに望んでいた処理ができました!
ありがとうございます!
0415デフォルトの名無しさん (ワッチョイ 6d6c-vtNh)
垢版 |
2017/07/03(月) 19:17:40.49ID:JHZQFGt10
質問失礼します。
WebSocket サーバーを php で作成したのですが、Linux のコマンドラインから実行するとフリーズします(当たり前ですが)
php hogehoge.php(エンター押したらフリーズ)
フリーズしないようにするにはどう書けば良いのでしょうか?
分かる方、よろしくお願いします。
0425415 (ワッチョイ 6d6c-vtNh)
垢版 |
2017/07/04(火) 16:43:25.58ID:1MjQBQYF0
rcスクリプト書いて、
service hogehoged start
で起動するようにしました。

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

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

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

案の定、起動直後に [ OK ] が表示されませんが、不都合は無さそうなのでとりあえずこれで良しとしています。
0428415 (ワッチョイ 6d6c-vtNh)
垢版 |
2017/07/04(火) 17:32:02.24ID:1MjQBQYF0
>>426
ありがとうございます。
調べてみます。

>>427
マジですか。。。
ターミナル閉じて終わらないか確認しておきます。
幸いターミナルを起動するPCは1つだけなので、それで終わらなければ、、、
良い、、、ですよね、、、
0430415 (ワッチョイ 6d6c-vtNh)
垢版 |
2017/07/04(火) 17:44:00.65ID:1MjQBQYF0
>>429
ありがとうございます。
Supervisorでデーモン化を頑張ってみます。
私鯖管じゃないんですけどね。
(なぜココまでやる必要があるのだろうか。。。これPHPerの仕事ですかね?)
0431デフォルトの名無しさん (JP 0H16-CicO)
垢版 |
2017/07/04(火) 18:22:31.77ID:jjyWg722H
>>430
起動するコマンドラインを
nohup php hogehoge.php --pidfile=/var/run/hogehoge.pid &
とすれば大丈夫。

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

詳しい話は、こことか参照。
「技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他)」
https://www.glamenv-septzen.net/view/854
0436デフォルトの名無しさん (ワッチョイ 77c2-1B52)
垢版 |
2017/07/10(月) 13:42:32.90ID:d1/L8Z5+0
他言語だとsplitで正規表現も使えるのが多いわな

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

他言語を使う人なら、ここら辺がPHPのイケてないところというか「何か気持ち悪い」というのは分からなくもない
0439デフォルトの名無しさん (スプッッ Sd3f-AoV0)
垢版 |
2017/07/10(月) 17:26:55.18ID:L6zA5hfHd
cakephpを入れました。
php -i grep intl ってやるとずらずら出てくるのですがこれってなんですか?
phpのバージョンは7.0です。
grep.phpを実行してるってことですか?
0440デフォルトの名無しさん (スプッッ Sd3f-AoV0)
垢版 |
2017/07/10(月) 17:30:53.25ID:L6zA5hfHd
php -r 'phpinfo();'て書いた時とおんなじ文字が流れてきます。
intlってなんなんだ
0441デフォルトの名無しさん (スプッッ Sd3f-AoV0)
垢版 |
2017/07/10(月) 17:32:40.21ID:L6zA5hfHd
どういうことかわかりました。
php -iでphpinfo()の中身が出るんですね。ほげー
0444デフォルトの名無しさん (ワッチョイ f791-KuRC)
垢版 |
2017/07/11(火) 10:58:05.61ID:9WLXDmTn0
お願いします。

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

xamppの何がいけないんでしょうか?
xamppでは開発できないことってあるんですか?
0445デフォルトの名無しさん (ワッチョイ f76c-cxsd)
垢版 |
2017/07/11(火) 11:43:10.26ID:oWge628W0
自分が使いやすいのを使えば良い
いちいち人の意見に流されるな

ただ、XAMPPの環境はかなり独自だから、使い方をを誤ると失敗することもある
ある程度の人数で共同開発する場合は、環境の差異をできるだけ少なくすることが大事で、
そういう意味ではXAMPPが向かないのも事実
Dockerとか使えて色々な環境に合わせられる人の方が重宝されると思う
0446デフォルトの名無しさん (ワッチョイ 77c2-1B52)
垢版 |
2017/07/11(火) 11:43:40.90ID:/I8grlwO0
どこのプロかは知らないけど普通にxampp+PhpStormで開発してるし
たぶんそこらのプロよりは今まで稼いできたと思う

「何で」作るかなんかどうでもいいんだよ
大事なのは「何を」作るか
そこんところ勘違いしてる自己満が多すぎるのがこの世界
0447デフォルトの名無しさん (ワッチョイ d7e3-A4lm)
垢版 |
2017/07/11(火) 11:53:22.03ID:1hL73PK30
素人でもプロでもXAMPPは使う価値は低いだろ。
PHP自体、単体動作するし、HTMLサーバーが必要なら実運用と同環境にすればいいし。
0448デフォルトの名無しさん (ワッチョイ d7e3-A4lm)
垢版 |
2017/07/11(火) 12:01:38.00ID:1hL73PK30
大抵のエディタなら、編集中のPHPファイルを保存して
PHPへコマンドライン渡すのをボタン一つに割り当てられるし、
初心者がわざわざ手間のかかる、複雑なXAMPPを導入する必要はないかと。
出力をテキスト出力したければteeとかいうlinuxコマンドつかえばいい。
0450デフォルトの名無しさん (ワッチョイ 172b-rvkC)
垢版 |
2017/07/11(火) 14:14:23.17ID:17VXZGZl0
使うことを否定はしないけど, あえて使う理由は全くない, という認識だなぁ
初心者がXAMPP使うって言ったらPHPビルトインサーバじゃダメなの?って必ず聞く程度には
0454デフォルトの名無しさん (ワッチョイ 0f2c-oLxb)
垢版 |
2017/07/17(月) 14:15:03.61ID:skPTPWAp0
[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
0455デフォルトの名無しさん (ワッチョイ e168-S4qQ)
垢版 |
2017/07/17(月) 22:44:40.32ID:JiDb02xz0
(*´ω`*)敗北獣クヤシタン達が使う単語は「キチガイ」
(*´ω`*)むぅは基地外基地外連呼されている未来が見えるむぅ
(*´ω`*)語彙力に乏しいチンパン達むぅ
(*´ω`*)予想できてしまうむぅ
0456デフォルトの名無しさん (ワッチョイ e168-S4qQ)
垢版 |
2017/07/17(月) 22:46:08.35ID:JiDb02xz0
(*´ω`*)だだだだだだれもむぅの相手してねーし!俺は放置してたし!
(*´ω`*)これも簡単に予測できてしまうむぅ
(*´ω`*)悲しいまでにむぅの予測の範囲内の行動と言動むぅ
(*´ω`*)いつまでもむぅには勝てないむぅ
0457デフォルトの名無しさん (スプッッ Sd9e-6y5b)
垢版 |
2017/07/18(火) 01:48:33.36ID:C9WrI85dd
>>456
tasukete
0458デフォルトの名無しさん (ワッチョイ a72e-wRDQ)
垢版 |
2017/07/19(水) 10:50:46.59ID:/cP3Nfpt0
OPCache Control Panelで項目値を見ると、

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

これはどの項目を調整するのでしょうか?
0459デフォルトの名無しさん (ワッチョイ a72c-sZOJ)
垢版 |
2017/07/20(木) 18:55:16.33ID:7DPx1vdZ0
Downloader.php kara error message otteru

bosukete;;
0460  (ワッチョイ a7db-HOSA)
垢版 |
2017/07/21(金) 12:38:52.89ID:jOGQlVKD0
>>459
syoboiyo, masarusan
0461デフォルトの名無しさん (ワッチョイ a72c-sZOJ)
垢版 |
2017/07/21(金) 15:55:04.27ID:A3+KSiPv0
犯人をついに突き止めたお。やっぴょんやっぴょん
0462デフォルトの名無しさん (ワッチョイ a72c-sZOJ)
垢版 |
2017/07/21(金) 16:58:17.71ID:A3+KSiPv0
バージョン1個違うだけで変なエラー起きるとか怖すぎる
しかもグーグルにも載って中田
0463デフォルトの名無しさん (ワッチョイ 673a-QK4i)
垢版 |
2017/07/24(月) 09:41:11.23ID:ec5+WQ9L0
じゃ、グーグルに載せといて
0464デフォルトの名無しさん (スプッッ Sddb-twOH)
垢版 |
2017/07/24(月) 12:15:14.49ID:L9kPqg7Vd
xmlの読み込みモジュールとchannel見比べてるとわかるお
0465デフォルトの名無しさん (ワッチョイ a72c-sZOJ)
垢版 |
2017/07/24(月) 13:59:06.94ID:12EOQT380
まぁ困ってない奴にはどうでもいいエラーだし変にスレで騒いですまんかったお
rom
0467  (ワッチョイ 7bdb-dA36)
垢版 |
2017/07/27(木) 19:35:33.46ID:Csut7k2B0
教えてください。
以下のような多次元配列で、
[result]-[name]のWIN値をカウントしたい
(もしくはこのKeyに入ってる値それぞれカウント)のですが、
いい方法ありますでしょうか。

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

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

)
0469  (ワッチョイ 7bdb-dA36)
垢版 |
2017/07/27(木) 20:24:38.68ID:Csut7k2B0
>>468
そうですね、要は勝利(敗北)数と勝率を出したいです。
0472  (ワッチョイ 7bdb-dA36)
垢版 |
2017/07/28(金) 11:38:43.28ID:QA+Om+Ws0
>>470
おお、勉強になります。
自分の方でも調べましたが、
array_count_values自体は指定したキーを
再帰的になめてカウントしてくれるような機能じゃないみたいですね…勘違いしてました。

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

ありがとうございました!
0475デフォルトの名無しさん (ワッチョイ 5532-/FH4)
垢版 |
2017/08/04(金) 20:43:08.37ID:PWtrz3SN0
質問です。

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

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

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

To: B

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

To: A, B

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

以下、コードです。

$headers .= "To: " . $B . "\n";
$headers .= "Reply-To: " . $B . "\n";
mail($A, $subject, $body, $headers);
0477デフォルトの名無しさん (ワッチョイ 33b1-aEKd)
垢版 |
2017/08/10(木) 00:02:22.23ID:VfqLhNcf0
SMTPレイヤでRCPT TOヘッダで宛先指定すればよい
が, そもそもmail関数, というかバックエンドのsendmailコマンドでSMTPレイヤの操作って出来るのか?
リレーが設定されてなければ単にメールヘッダのToをSMTPのRCPT TOヘッダにコピーしているだけじゃなかろうか

まぁfsocketとかでSMTPサーバと会話すればいけるんじゃなかろうか
0479デフォルトの名無しさん (ササクッテロレ Spbb-SyvN)
垢版 |
2017/08/10(木) 19:53:21.78ID:LQiYfoLSp
教えてください

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

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

自分のイメージだと、同一ファイル内(たとえばform.php)でPOSTとかsubmitされてきたフラグか何かで画面切り替えるように作るのがいいと思っているのですが、
ファイルを分ける方が一般的なのでしょうか。
0480デフォルトの名無しさん (ワッチョイ 33b1-aEKd)
垢版 |
2017/08/10(木) 20:01:27.03ID:VfqLhNcf0
フレームワーク使ってるならリクエストの振り分けはrouterの仕事
PHP側をREST APIとかにしてしまうならUI側はJavaScriptの管轄
全部スクラッチからやるなら好きにすればよい
0482デフォルトの名無しさん (ワッチョイ 1acd-W16a)
垢版 |
2017/08/11(金) 16:26:25.43ID:cXbjkXwe0
>>480-481
どっちも質問の答えになってないw
質問に答えず、自分のいいたいことばっか言ってる。
こういうのがマの悪いとこだね。
0484デフォルトの名無しさん (ワッチョイ 1acd-W16a)
垢版 |
2017/08/11(金) 18:22:23.78ID:cXbjkXwe0
>>483
だからそれは質問の答えじゃない。
てか、なんでそんなに上から目線なの?
0486デフォルトの名無しさん (ワッチョイ 1acd-W16a)
垢版 |
2017/08/11(金) 19:57:59.57ID:cXbjkXwe0
ネット弁慶多すぎw
なんですぐ「〜しろ」と偉そうな口調になるんだろう。
もういいや、俺が答えちゃおう。

はっきり言うと、どちらが一般的かはわからない。
すべての開発者にアンケート取って聞いたわけでもないし、
世界中に転がってる入力フォームのソース調べて集計とったわけでもないから。
でも、どちらがより合理的かといえば、1ファイルで完結させる方。
たぶん質問者はフレームワークを使わずオブジェクト指向で書いてもいないみたいなので、
1ファイル完結の方が手間は少ないはず。
画面部分にしてもロジック部分にしても同じようなこと何度もやることになる。
だから、単純なphpで書く場合、ファイルわけちゃうと面倒なんだよね。
でもまあ、こんなこと考えるくらいならフレームワーク使った方が早いよ。
無駄なこと考えなくてよくなる。
0489デフォルトの名無しさん (JP 0Hc6-aEKd)
垢版 |
2017/08/13(日) 12:42:20.05ID:8bOINrWDH
>>488
> 別問題だからこそ、余分なこと考えなくてよくなるんだよ。
別問題だから、フレームワークを使う場合でも使わない場合でも、1ページで完結させるかどうかは
考えないといけないということ
0490デフォルトの名無しさん (ワッチョイ 1acd-W16a)
垢版 |
2017/08/13(日) 13:24:12.29ID:7mRWDzm30
>>489
ちゃうちゃうw
そもそもなぜこんな質問が出たのかといえば、controllerとviewが分離できていないからでしょ。
さらにいえば、controllerとbusiness logicが分離できていないから。
そのへんがちゃんと出来ていれば、1ページ(1controller、1class、1function・・・)完結でも
そうでなくてもたいした問題じゃなくてなる。
そういう分離はフレームワークの基本設計の範囲に含まれるから、
何も考えなくても自然とできるようになるよ。

てかさ、元々の質問は「一般的かどうか」でしょ。
なぜ俺以外答えてやらないんだよ。
わからないならわからないでもいいじゃん。
それなのに偉そうに講釈たれるのはホントみっともない。
社会的にプログラマーの地位が低いのはそういうとこに原因がある。
0491デフォルトの名無しさん (JP 0Hc6-aEKd)
垢版 |
2017/08/13(日) 13:32:39.79ID:8bOINrWDH
>>490
> そもそもなぜこんな質問が出たのかといえば、controllerとviewが分離できていないからでしょ。
controllerとviewが分離できているかどうかと、1ページで完結させるかどうかは別問題

> それなのに偉そうに講釈たれるのはホントみっともない。
関係ないこと垂れ流してるという自覚はないんですかね
0492デフォルトの名無しさん (JP 0Hc6-aEKd)
垢版 |
2017/08/13(日) 13:39:51.33ID:8bOINrWDH
まあどうしても一般的かどうかを知りたいということであれば、

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

さらに言えば、確認画面を挟むというやり方も古いと思うよ。
ユーザーは確認画面で確認なんかめったにしない。邪魔に思う人が大半。
0493デフォルトの名無しさん (JP 0Hc6-aEKd)
垢版 |
2017/08/13(日) 13:46:06.21ID:8bOINrWDH
こんな感じでやればいいと思うよ。

・GET form.phpで入力ページ表示
・form.phpのsubmit先は自分自身
・入力内容をチェックしてエラーがあるなら、それも含めてまたform.phpを表示
・エラーがないなら、確認画面や完了画面にリダイレクト
0494デフォルトの名無しさん (ワッチョイ 1acd-W16a)
垢版 |
2017/08/13(日) 14:22:04.36ID:7mRWDzm30
こういう過剰反応もアレだよなw
こんなんじゃ実際の仕事でも苦労しそうだね。
0497デフォルトの名無しさん (ワッチョイ 33b1-aEKd)
垢版 |
2017/08/13(日) 17:20:01.06ID:dm/KZ1el0
A. ケースバイケースです
とか
A. 設計に依ります
とか, そんな回答求められてないと思うんだけど, 最終的には質問者が判断することでしょ
内容に明らかな誤りがあるとかなら分かるけどわざわざ突っかかる必要あったかね
0503デフォルトの名無しさん (ワッチョイ dbb2-JJVS)
垢版 |
2017/08/22(火) 09:05:09.59ID:FeXVI5vr0
PHP7.1を使っています。

$_SERVER['REQUEST_TIME_FLOAT']をvar_dumpしてみたところ
float(1503359895.526)
のように表示されました。
PHPマニュアルにはマイクロ秒単位でタイムスタンプを取得できるように
書いてありますが、これってミリ秒単位ですよね?
どういうことでしょうか。
0504503 (ワッチョイ dbb2-JJVS)
垢版 |
2017/08/22(火) 10:27:34.58ID:FeXVI5vr0
なんとなく自己解釈すると、マイクロ秒単位まで出せる可能性があるけど
環境によっては精度が落ちるってことなんですかね…。
そう納得することにしました。
0507デフォルトの名無しさん (ワッチョイ dbb2-JJVS)
垢版 |
2017/08/22(火) 11:04:05.27ID:FeXVI5vr0
>>506
貴重な情報ありがとうございます。

microtime関数の場合だと、
microtime(false)で実行すると
"0.31535500 1503365783"のように小数部と整数部を分離した文字列が返るので
マイクロ秒の精度が得られますが
microtime(true)でfloat型の返り値を得ると
1503365783.3154のように精度が落ちますね

有効桁数の問題なんでしょうかね。このへんあやふやなんですが…。
0509503 (ワッチョイ dbb2-JJVS)
垢版 |
2017/08/22(火) 12:36:42.11ID:FeXVI5vr0
Unixタイムスタンプによる表現だと、整数部がでかくなればなるほど
つまり時代が進めば進むほど、小数部の精度が悪くなるってことですかね。
昔は精度高かったのかな。
0512デフォルトの名無しさん (ワッチョイ 61b1-oL0b)
垢版 |
2017/08/22(火) 13:23:20.25ID:JvbUbNw40
浮動小数を使うのがそもそもまともではない

で, 日本語版の訳が誤りであるというのが妥当で, 英語版では,

> 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の精度内で現在のマイクロ秒時刻に最も近い値を返すと読める
0513デフォルトの名無しさん (アウアウカー Sa1d-P3L1)
垢版 |
2017/08/22(火) 19:47:15.02ID:j9x479W/a
ファイルアップロード時の上限チェックについて質問させてください

ページAでファイルをアップロードして、「次へ進む」ボタンでページBに遷移させています
このとき、アップロードしたファイルのサイズが5MB以上ならエラーメッセージを表示させ、ページBに進めないようにしたいです
今はページBに進んでから$_FILESを使い上限チェックし、超過していたらメッセージを表示しています
何かいい方法はありますか?
0515デフォルトの名無しさん (ワッチョイ db4e-JJVS)
垢版 |
2017/08/23(水) 14:06:56.01ID:uLyJ+EYn0
指定したサイトのサイトマップを取得したいのだが
何かいい方法はないだろうか?

単純にトップページURLの後に「/sitemap.xml」や「/sitemaps.xml」と付けるだけでは
拾えないサイトが多い
0518デフォルトの名無しさん (ワッチョイ 39c2-JJVS)
垢版 |
2017/08/23(水) 17:12:28.30ID:ZFc7oTWj0
>>517
まぁ
sitemap.xml
robots.txt
辺りは見てそこでサイトマップに関する記述があればそれを拾うというのは
「まず最低限やるべきこと」ではあるだろうな

この質問をする人がそもそもサイトマップの定義を理解しているのかという点は甚だ疑問ではあるけど
0520デフォルトの名無しさん (ワッチョイ 39c2-JJVS)
垢版 |
2017/08/23(水) 18:08:01.30ID:ZFc7oTWj0
> サイトマップの定義は全然知らない
だろうね
特定ドメイン以下のファイルパスを全部取得したいって事じゃない?

であれば
サイトマップを使うのももちろん手ではあるけど
例えばGoogleでsite:URLで検索した結果を使うとか
他の賢い人が作った賢い機能をありがたく流用させてもらって
自分の作りたいものを作るという考え方「も」ある

リンクを辿ってURLを拾うのも
超簡単なものならPHPだと10数行ぐらいあれば書けるけど
再帰的な処理になるからサーバー側に与える負荷とかが
分かってないなら(というか分かってなさそうなので)自分ではやらない方がいい
0521デフォルトの名無しさん (ワッチョイ 8183-XIgO)
垢版 |
2017/08/23(水) 18:46:21.93ID:iroQ6hXm0
>超簡単なものならPHPだと10数行ぐらいあれば書ける
横入り申し訳ない
再帰というのを丁度勉強してるところなのでどんな風に書けるのか教えてもらえないだろうか
0522デフォルトの名無しさん (ワッチョイ 39c2-JJVS)
垢版 |
2017/08/23(水) 18:57:26.81ID:ZFc7oTWj0
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
0523デフォルトの名無しさん (ワッチョイ 8183-XIgO)
垢版 |
2017/08/23(水) 19:04:23.13ID:iroQ6hXm0
ありがとうございます
ほえーこの短時間ですごい
10数行ぐらいって言って本当に18行で書けてるのってもうレスを書きながら頭の中でソースができてるのかな。。。
正規表現をまだ勉強してないのでそこも勉強します
0524デフォルトの名無しさん (ワッチョイ 39c2-JJVS)
垢版 |
2017/08/23(水) 19:23:50.69ID:ZFc7oTWj0
>>523
> 10数行ぐらいって言って本当に18行で書けてるのってもうレスを書きながら頭の中でソースができてるのかな。。。
この程度の「流れだけ」なら脳内で一瞬でできるけど行数は感覚で超適当に書いただけ
実際、最初書いたソースは20行超えたのでちょっと無理やり18行にしただけw
自転車に乗るのと同じで慣れよ慣れ
たくさん書いてたら自然とできるようになる

繰り返すけど流れ「だけ」が分かればと適当に書いたものだから
悪しからず
0526デフォルトの名無しさん (ワッチョイ 39c2-JJVS)
垢版 |
2017/08/23(水) 19:47:50.10ID:ZFc7oTWj0
再帰はstatic使うと楽と他言語の経験で脳死判断しただけで深くは考えてない
連想配列でisset()にしてるのはただそう書く方がタイプ数が少なくて楽だと思っただけ
すまん
ほんと何も深いことは考えてない
もう今日はたぶんこのスレみないのでおかしなところがあったら自由になおしておいて
0527デフォルトの名無しさん (ワッチョイ a511-PZNm)
垢版 |
2017/08/24(木) 17:55:55.75ID:j3LgFviI0
cron使えない、サーバーに実行時間制限がある、アクセス毎の処理じゃダメって前提で定時処理する方法教えてくらはい
この三つを使えるなら余裕なんだけど…
0529デフォルトの名無しさん (ワッチョイ 39c2-oKtA)
垢版 |
2017/08/24(木) 19:01:00.75ID:KQlNvtYs0
webなら<img>や<iframe>で埋め込んでおいて
クライアントからの呼び出し時に
前回の実行から一定時間が空いてる時だけ実行とか
指定時間内に1回だけ実行みたいなやり方
(アクセスが無いならそもそも処理しなくていいだろうという考え方)
で擬似的にcronっぽい事はできなくもないが…

そう単純な話でもなさそうかな
>>528が普通だと思うよ
0530デフォルトの名無しさん (ワッチョイ a511-PZNm)
垢版 |
2017/08/24(木) 19:23:49.66ID:j3LgFviI0
>>528
なるほど、じゃあ1サーバーでってのも条件になっちゃうな…無理か…仕様変えてもらうかサーバー変えるしかないか

>>529
その方式は簡単だし言ってることも尤もなんだけど一度の処理に5分は掛かるからアクセスより先に処理しておきたくて

もう少し考えてみる、ありがとう!
0532デフォルトの名無しさん (ワッチョイ 3eb2-oKtA)
垢版 |
2017/08/24(木) 21:56:12.99ID:/TMksNVg0
自分もPHPの質疑応答など、PHPの議論が活発な掲示板を
探してはいるけど見つからないね
2chでこれだもんなぁ
ペチパーは多いはずなんだけど…
もっともみんな顔だそうよ
0533デフォルトの名無しさん (ワッチョイ ddb1-2x4P)
垢版 |
2017/08/24(木) 22:30:51.11ID:kOThvMF20
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スレ目から現在に至るまでワッチョイが慣例化
0539デフォルトの名無しさん (ワッチョイ 39c2-oKtA)
垢版 |
2017/08/25(金) 14:23:12.64ID:wjqW6pO20
>>532
「議論」ではないが「質疑応答」なら
アホー知恵遅れの方が2chなんかより余程活発
かなり前からね

>>533が詳しく書いてくれてるが
このスレには色々と過去があって
人の揚げ足取りたいだけの暇人も多いからなぁ

俺がもし初心者だったら知恵遅れの方で聞くわw
0540デフォルトの名無しさん (ワッチョイ 39c2-oKtA)
垢版 |
2017/08/25(金) 14:28:31.37ID:wjqW6pO20
>>537
implode()みたいに
引数の順番はどっちでも良いよ
なんてものまであるw

PHPの組み込み関数の命名規則や引数の順番の統一性の無さは
PHPがダメだと言われる理由の1つだろうね
そんなもんだと諦めてくださいw
0542デフォルトの名無しさん (ワッチョイ ddb1-2x4P)
垢版 |
2017/08/25(金) 22:50:28.06ID:WV+v2bcZ0
>>540
流石にimplodeみたいなのはアレひとつきりじゃなかったっけ・・・?

まぁ関数の命名についてはいろいろな言語から引っ張ってきてるからな・・・
それがnullバイト攻撃みたいなのを引き起こしたりもしたわけだが
0545デフォルトの名無しさん (ワッチョイ ddb1-2x4P)
垢版 |
2017/08/26(土) 09:21:36.48ID:vbvtGdDa0
>>543
記法がちょっと違ってて違和感半端ない方はrejectされてたなー
ttps://wiki.php.net/rfc/short_closures

ES6に合わせた記法の方はとりあえず複数行不可なものが提案されてはいる
ttps://wiki.php.net/rfc/arrow_functions

しかしPHPは => を別のsyntaxで採用してるからこれもrejectされそうな気がする
0548デフォルトの名無しさん (ワッチョイ 3e4e-oKtA)
垢版 |
2017/08/30(水) 11:04:02.45ID:ewso/TS40
ローカルで作業してるのだけど
外付けのHDDに保存してある画像を表示させることってできないだろうか?
直接表示させる事はできなくてもfile_get_contentsで読み込んでならできるような気がするが
これ以上はよく分からない
できるなら教えてください
0551デフォルトの名無しさん (ワッチョイ ddb1-2x4P)
垢版 |
2017/08/30(水) 11:32:30.44ID:KBT3c7j30
> file_get_contentsで文字化けした文字列みたいになるから
の部分の意味が分からない(大抵の画像ファイルの中身とってきたらバイナリに決まってるだろ)が,

1. Base64エンコードしてHTML中に埋め込む
2. Content-typeヘッダを適切にセットしてfile_get_contentsでとってきたデータを単に出力
0554デフォルトの名無しさん (ワッチョイ 39c2-oKtA)
垢版 |
2017/08/30(水) 12:10:57.76ID:eIYoYTDf0
>>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">
じゃダメなのか?とも思ったり
0560デフォルトの名無しさん (ワッチョイ cfa2-X0kF)
垢版 |
2017/09/01(金) 03:36:29.30ID:JBM8M4Dg0
ログってどうやって吐くのがベター?
0563デフォルトの名無しさん (ワッチョイ cfa2-X0kF)
垢版 |
2017/09/01(金) 14:05:00.30ID:JBM8M4Dg0
>>561
>>562
error_log関数がベターってこと?
0564デフォルトの名無しさん (ワッチョイ cfaa-gHR8)
垢版 |
2017/09/01(金) 14:12:47.10ID:RTadbuNn0
自分でフレームワークを作るな。
車輪の再発明はダメ

自分で作ると、テストなどで時間も掛かるし、品質も最悪となる。
セキュリティ修正も出来ない

フレームワークを使うべし
0565デフォルトの名無しさん (ワッチョイ f3c2-b8Mh)
垢版 |
2017/09/01(金) 14:41:35.55ID:oR+JyZza0
ログといっても色々あるわけで
エラーログ、ログインログその他諸々etc
そのログのフォーマットにしたってテキスト or DBのどちらにするのかという根本的なところから
テキストならテキストでcsv、tsvその他諸々etc

目的も何も分からないのに
>>560の質問にまともに応えられる人なんていないから
>>562のような解答になる

真面目な解答がほしいなら相応の情報は出すこと
0566デフォルトの名無しさん (ワッチョイ 6383-Wrm6)
垢版 |
2017/09/01(金) 14:48:55.35ID:74EhTRr60
新人の教育係もやってるけど
慣れてくると質問の仕方だけでこの先やっていけるかどうか分かってくるね
だめな子は超能力者じゃないと答えられない聞き方をしてくる
できる子は下調べして自分はこう思うがどうですか?という聞き方をしてくる
逆の立場から物事を考えられないタイプは何やらしてもだめだなと思う今日この頃
0567デフォルトの名無しさん (ワッチョイ f3c2-b8Mh)
垢版 |
2017/09/01(金) 14:56:35.72ID:oR+JyZza0
>>566
その通りだとは思うけどここは「下らない質問」スレだし
別に質問は好きにすりゃいいよ

ただ、質問の仕方のレベルが低ければ
解答もそれ相応のものにしかならないよ
って事は分かって欲しい

答える方はそれこそ超能力者じゃないので
質問の仕方から手取り足取り教えてもらいたいなら
Yahoo知恵袋でもオススメしときますw
0568デフォルトの名無しさん (ワッチョイ ff11-k/3h)
垢版 |
2017/09/02(土) 12:31:23.10ID:qzG0zbyB0
初心者なんですが、仮想サーバーをたてるのにlocalhostを使いたいのですが表示されません。どなたか詳しくおしえてもらえないでしょうか?
0570デフォルトの名無しさん (ワッチョイ ff61-ygYq)
垢版 |
2017/09/02(土) 12:50:45.57ID:C4sYfteN0
意味が分からんなぁ…
>>567を読んでの質問だろうか?

あえて超能力で回答してみるけど、
仮想化したサーバーが立ってるとして、それはlocalhostじゃないんじゃないか?
仮想化ソフトのネットワーク設定次第だが、別のIPアドレス割り当てられてないか?
どうしてもlocalhostでアクセスしたいならポートフォワードの設定を入れろ
0571デフォルトの名無しさん (ワッチョイ ff11-kRdr)
垢版 |
2017/09/02(土) 13:25:01.99ID:qzG0zbyB0
>>570
返信ありがとうございます、どこをどう言えば伝わるのかよく分かってなくて、本を買って勉強してるのですが、XamppをDLして、apacheを起動させて、localhostを検索したら表示されるって書いてあったんです
0572デフォルトの名無しさん (ワッチョイ ff11-kRdr)
垢版 |
2017/09/02(土) 13:26:39.50ID:qzG0zbyB0
一応、プログラミングを教えてくれる先生に質問したのですが、ポートは関係ないんじゃといわれたのですが、見ないことにはどうにもと言われてしまいました
0575デフォルトの名無しさん (オイコラミネオ MMff-ygYq)
垢版 |
2017/09/02(土) 14:45:44.11ID:cKo1r/zaM
>>571
まず、XAMPPのことを仮想サーバーと書かれると質問がまったく意味をなさないことになる
最初からXAMPPと書いてほしい

で、XAMPPでApache立ち上げたら基本はlocalhostでアクセスできるはず
まずはXAMPPのコントロールパネルできちんとApacheが立ち上ってるか?
たしか緑色のランプみたいのがついてる状態になるばず
立ち上がってるなら、ポートの指定がどうなってるか?
80番なら http://localhost でアクセスできるが、
80番以外ならなら http://localhost:12345 みたいにアクセスしないとダメ
0577デフォルトの名無しさん (ワンミングク MM9f-kRdr)
垢版 |
2017/09/02(土) 15:07:27.71ID:1ZUpnTUIM
>>573〜576返信ありがとうございます、いわれた通りやってみたいと思います。板違いとの指摘もあり、ご迷惑おかけしました。
0579デフォルトの名無しさん (ワッチョイ ff11-kRdr)
垢版 |
2017/09/02(土) 20:20:44.62ID:qzG0zbyB0
>>575
無事にできました。ありがとうございました。
0580デフォルトの名無しさん (ワッチョイ 6fb2-b8Mh)
垢版 |
2017/09/02(土) 23:28:00.60ID:DPBo5x/i0
XAMPPのMってひっそりMySQLからMariaDBになってるんだな

今後MariaDBが頭角を現すなんてことあるのかな
Googleもオラクルと喧嘩してMySQL切り捨ててMariaDB採用してるしな
0583デフォルトの名無しさん (ワッチョイ cfe3-X0kF)
垢版 |
2017/09/03(日) 00:19:22.76ID:V7jBjx0H0
もともと、他の多くのオープンソースプロジェクトと異なり、スウェーデンの単一の営利企業である
「MySQL AB」によって維持されていた。2008年2月26日に MySQL AB がサン・マイクロシステムズ
に買収されたことをもって、サン・マイクロシステムズの所有となった。
その後、2010年1月27日、サン・マイクロシステムズがオラクルに買収されたことにより、商標権
ならびに著作権もオラクルに移管された。

https://ja.wikipedia.org/wiki/MySQL
0587デフォルトの名無しさん (ワッチョイ f3c2-b8Mh)
垢版 |
2017/09/06(水) 11:18:38.46ID:/M6wkDL00
>>585
PHPには long2ip() と ip2long() という便利な組み込み関数があるので
それとビット演算子を使えば比較的簡単にできると思う

$cidr = '192.168.1.1/24';
list($ip, $prefix) = explode('/', $cidr);
var_dump($ip . '/' . long2ip(0xFFFFFFFF << (32 - $prefix)));

// 俺にはこの程度の処理にPEARを使う理由と正規表現をどこで使うかがよく分からない
0588デフォルトの名無しさん (ワッチョイ f3c2-b8Mh)
垢版 |
2017/09/06(水) 11:24:02.99ID:/M6wkDL00
>>580
というかそれまでMySQLでやってたような簡単な案件は
もう何年か前からとっくにMarinaに移行しちゃったけどなぁ
Oracleに買収された時点でこうなる事は予想してた人も多いと思う

PHPならPDO使ってれば何も修正するところなんて無いし
0590デフォルトの名無しさん (ワッチョイ f3c2-b8Mh)
垢版 |
2017/09/06(水) 16:11:20.28ID:/M6wkDL00
>>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));

流れはこんな感じ
よく読んでなくて申し訳ない
0591デフォルトの名無しさん (ワッチョイ a797-QyhX)
垢版 |
2017/09/10(日) 15:02:47.71ID:tcGc4Q6l0
// ディレクトリ階層以下のコピー
// 引数: コピー元ディレクトリ、コピー先ディレクトリ
// 戻り値: 結果

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 . "/" . $file, $new_dir . "/" . $file);}
else {
copy($dir_name . "/" . $file, $new_dir . "/" . $file);}
}
closedir($dh);
}
}
return true;
}
このコードの引数はどう指定したら動くのでしょうか?
$dir_name = '../x';
$new_dir = '../y';
↑こう指定したりFTPのフルパスを指定したりしましたが全く動く気配がありません、、
よろしくお願いいたします。
0592デフォルトの名無しさん (ワッチョイ 4ee3-hHkr)
垢版 |
2017/09/10(日) 17:07:03.98ID:DbuZOcLu0
文字と数値を相互変換すれば、元に戻るはずなんですが、
これは一方が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);
0593デフォルトの名無しさん (ワッチョイ 4ee3-hHkr)
垢版 |
2017/09/10(日) 17:08:32.93ID:DbuZOcLu0
上の修正しました


$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);
0594デフォルトの名無しさん (ワッチョイ b3f7-xkdj)
垢版 |
2017/09/10(日) 18:02:41.43ID:hHLCpQAf0
>>592
UTF-8なら日本語は3byteで符号化される
亜は\xE4\xBA\x9Cだからリトルエンディアンのunsigned shortでunpackすると先頭2byte分の0xBAE4 = 47844だけとれる(残りは1byteしかないからunsigned shortでない=>無視)
これをリトルエンディアンのunsigne shortとしてpackしようとすると0xBAE4しかないから\xE4\xBAになる

したがって符号化が偶数bytesなら戻ることが期待されるがそもそもunpackの用途が間違ってる
0596デフォルトの名無しさん (ワッチョイ 4bd8-13I7)
垢版 |
2017/09/13(水) 04:50:40.83ID:xiEJvESo0
Seesaaブログでは、blogger,metaWeblog,mt 互換のXML-RPC APIをサポートしております。
http://faq.seesaa.net/article/376863567.html

とあるんだけど、いいライブラリない?
packagistで調べてもどれがいいのかさっぱりわからん。
0599デフォルトの名無しさん (アウアウエー Sa23-o7xi)
垢版 |
2017/09/20(水) 05:30:54.15ID:uxx4ir4xa
phpをwindowsで自動化処理するのに使っていたんだが(使い慣れてるから)
node.jsでも出来るんじゃね?と思って書いてみたら出来た
イベント駆動型の設計思想が染み渡っているから書き心地がモダンで気持ちいい
phpもそろそろ寿命だよね?
0600デフォルトの名無しさん (ワッチョイ 2bf3-o7xi)
垢版 |
2017/09/20(水) 07:01:36.97ID:wgVu7EJP0
自動化処理とかなんでもいいだろ
書き心地の問題じゃねえな
そのプラットフォームで最初から使えるかどうかの問題だ
windowsの場合どちらもあてはまらないわけで実にどうでもいい
0602デフォルトの名無しさん (アウアウエー Sa23-o7xi)
垢版 |
2017/09/20(水) 10:18:28.79ID:uxx4ir4xa
JavaScriptはPHPにあるような気軽さもあるし
それでいて育ちの良さもある
気取ったところのない、優秀ないい子って感じ
PHPも頑張ってたけど、もともとが魔改造されたPerlだからねぇ
MySQLの時代の言語だったのだ
0604デフォルトの名無しさん (ワッチョイ 7316-b7qB)
垢版 |
2017/09/20(水) 18:21:07.42ID:iy+cXLwo0
質問です。
PHP5.3でpostgresql9.4のクエリを書いたのですが、
テーブル名, 列名が日本語なのですが、
pgAdminIII上では日本語部分を""で囲めば動作するのですが、
PHP上だとrelation "テーブル名" does not exist となってしまいます。

$sql = "SELECT * FROM テーブル名"; //ダメ
$sql =
0605デフォルトの名無しさん (ワッチョイ 7316-b7qB)
垢版 |
2017/09/20(水) 18:22:28.53ID:iy+cXLwo0
書き掛けで送信してしまったので再送

質問です。
PHP5.3でpostgresql9.4のクエリを書いたのですが、
テーブル名, 列名が日本語なのですが、
pgAdminIII上では日本語部分を""で囲めば動作するのですが、
PHP上だとrelation "テーブル名" does not exist となってしまいます。

$sql = "SELECT * FROM テーブル名"; //ダメ
$sql = "SELECT * FROM \"テーブル名\""; //ダブルクォートで囲ってエスケープしてもダメ

どのように書けばいいのでしょうか?
よろしくお願いします。
0608605 (ワッチョイ 7316-b7qB)
垢版 |
2017/09/20(水) 19:00:12.39ID:iy+cXLwo0
すいません。自己解決しました。
データベースのEncodingがSQL_ASCII になっていたからでした。
EncodingをUTF-8にして作り直したら
クォーテーションで囲まなくても動作しました。
ありがとうございました。
0610デフォルトの名無しさん (アウアウカー Sa6b-Nrqi)
垢版 |
2017/09/21(木) 10:25:01.79ID:huYSseyKa
まぁJavaScript界隈と較べれば流れが遅い感はあるがどちらかといえば向こうが速過ぎる
フロントエンドとバックエンドで両方使うことが多いから比較してしまうのは分かるが
0620デフォルトの名無しさん (ワッチョイ eb11-w3Ob)
垢版 |
2017/09/24(日) 00:58:26.35ID:tB2K64wQ0
スレ違いでしたら申し訳ありません
現在ワードプレスでサイトを作っていて
カスタム投稿に対して
サーバーから日付を取得して、今月だったらこの記事、来月の日付だったらこの記事というように条件分岐させた表示をさせたいです
別の箇所にはループ処理でカスタム投稿自体を表示させています
カスタム投稿投稿のうち、Aというタクソノミーを持つ投稿のみを対象にして
サーバーから取得した月と投稿月が同じものをモジュールクリックで表示、そうでないものはまとめてループ処理で取得させたいです
またカスタム投稿自体もタクソノミーで分けています

モジュールをクリックをする
→もしAというタクソノミーを持つ記事があったら
→サーバーから日付を取得
→取得した月(今なら9月)に投稿されているタクソノミーAの記事を取得

という形にしたいのですが書き方が全く思い浮かびません
お知恵をお貸しください
0622デフォルトの名無しさん (ワッチョイ 9fc2-w3Ob)
垢版 |
2017/09/24(日) 15:19:53.61ID:HTSoBxcb0
WP用のスレがあったんですね、失礼いたしました
0623デフォルトの名無しさん (ワッチョイ ffef-BxTN)
垢版 |
2017/09/24(日) 21:57:03.16ID:u8f/hRUs0
Mysqlのカラムyearのレコードに $yearと入力しておきます

そして、PHP側で$year = xxxx;としておきます

これをPDOで値を呼び出した時に、レコードを変数に転換させる方法はないでしょうか?

普通に呼び出すと、ただの文字列としか認識してくれません。

なぜ、そんなことをしたいかというと、CSV出力の際のヘッダ部分をレコードとして
登録しておいたのですが、年数が可変なので、どうにかしたかったわけです。

無論、他の方法も考えてはいますが、もし、やり方次第で可能なら教えて欲しいです。

なお、ググってみたのですが、そんな阿呆なこと考える奴はいないのか、答えは出てきませんでした
0627デフォルトの名無しさん (ワッチョイ ffcd-JacX)
垢版 |
2017/09/25(月) 13:41:45.15ID:s/BxTNWl0
>>623
ちょっと何言ってるかわかんない
insertする前に年数を整形すりゃいいだけっしょ
なんでそんな意味不明で面倒なことするかな
0629デフォルトの名無しさん (ワッチョイ 0f23-7Jrl)
垢版 |
2017/09/26(火) 02:06:10.20ID:iIk2lbGJ0
Winサーバに.NETのアプリ置いて、それを外部の端末からブラウザ経由で操作したいんだけど出来るかな?
或いはPHPからAjaxとか使ってる動的ページもそのままブラウザでアクセスしたみたいにエミュレートしたい。
PhantomJSとかあるけど安価なレンタルサーバにインストールできない可能性もあるので前者を考えてるんだけど。
0630デフォルトの名無しさん (ワッチョイ 0f23-7Jrl)
垢版 |
2017/09/26(火) 02:06:29.86ID:iIk2lbGJ0
age
0632デフォルトの名無しさん (ワッチョイ 0f23-7Jrl)
垢版 |
2017/09/26(火) 02:47:00.78ID:iIk2lbGJ0
>>631
.net使えばブラウザコントロールとかあるので簡単にAjaxとか使ってるページでも動作させれるので
間接的に動かせないかなと思ってて。
それが無理なら直接PHPでJavaScript動かさないといけないからPhantomJSとかになるのかなと。
0633デフォルトの名無しさん (ワッチョイ 3bf7-Dc1X)
垢版 |
2017/09/26(火) 03:18:37.30ID:hdyDplTp0
こういうこと

* クライアント(ブラウザ) -[ネットワーク]-> サーバ(IIS etc.) -> .NETアプリケーション

をしたいと読めるわけだが, .NETからブラウザ操作する話がどうして出てくるのかとかPHPからJavaScript動かす話がどこに入るのか説明してくれ
0634デフォルトの名無しさん (ワッチョイ 0f23-7Jrl)
垢版 |
2017/09/26(火) 03:32:01.32ID:iIk2lbGJ0
> クライアント(ブラウザ) -[ネットワーク]-> サーバ(IIS etc.)
だとAjax使ってるページのエミュレートが面倒なので
.net使ってAjaxページも問題なく動作するプログラムをサーバに置いて
それをクライアントがアクセスした時に上手く動かせる仕組みを作れないかなと。
直接サーバサイドのPHPでAjaxページが簡単に動作させられるならそれに越した事はないけど。
0637デフォルトの名無しさん (ワッチョイ 0f23-7Jrl)
垢版 |
2017/09/26(火) 04:20:53.63ID:iIk2lbGJ0
じゃ質問をシンプルにするよ。
PHPでアクセスしてAjax使ってる動的ページを正しく動かす方法で
一番シンプルなものってなにかな?
色々調べてPhantomJSがあるのは分かったけど
レンタルサーバによってはインストールできない可能性があるのでその問題がありそう。
0640デフォルトの名無しさん (ワッチョイ 0f23-7Jrl)
垢版 |
2017/09/26(火) 08:09:15.81ID:iIk2lbGJ0
>>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をインストール
0643デフォルトの名無しさん (ワッチョイ 0f23-7Jrl)
垢版 |
2017/09/26(火) 14:11:14.60ID:iIk2lbGJ0
>>642
PhantomJS試してるんだけどformをsubmitする処理とかだとなんか面倒そうなので
やっぱり他のでやった方がいいのかもしれない。
Headless Chrome?それも後で試してみるよ。ありがとう。
0644デフォルトの名無しさん (ワッチョイ ffcd-JacX)
垢版 |
2017/09/27(水) 05:11:15.19ID:EHqNXxRy0
>>643
casperjsはphantomjsより扱いやすいよ
0645デフォルトの名無しさん (ワッチョイ 4dc2-asy+)
垢版 |
2017/09/28(木) 15:18:44.51ID:fKb4VnmR0
>>628
最後の1行読んだ感じでは
DBの正規化という言葉すら理解できてなさそうな臭いがするので
DBの設計から勉強し直してみてはどうだろうか?

根本的なところからおかしいので誰もまともに答えられないかと
0646デフォルトの名無しさん (ワッチョイ 2391-TWXg)
垢版 |
2017/09/30(土) 20:51:24.62ID:CiKOls/60
フレームワーク、例えばcakePHPを習得するまでに
みんなどのくらいの期間かかった?
フレームワーク初体験で
0648デフォルトの名無しさん (ワッチョイ cbf3-IQJU)
垢版 |
2017/10/01(日) 06:09:17.97ID:Ae9q61k/0
意欲の問題では
フレームワークは別になくてもいいわけで
なくてもいいものをわざわざ覚えるのかなんて思いながらやってると
なかなか身につかない
仕事でどうしても必要だとかそういう状況なら2週間で覚えるよ
0649デフォルトの名無しさん (ワッチョイ 4d84-bz6c)
垢版 |
2017/10/01(日) 15:24:34.49ID:mkxY3wW+0
>>646

初めてのフレームワークでCakePHPなんか触った時点で迷宮に迷い込んで成長止まる。
0656デフォルトの名無しさん (ワッチョイ 2391-TWXg)
垢版 |
2017/10/01(日) 21:39:11.63ID:eMQOw+pd0
>>649
んじゃ、初めてのフレームワークでおすすめって何よ?w
0658デフォルトの名無しさん (ワッチョイ a5e5-qEDe)
垢版 |
2017/10/01(日) 23:04:09.52ID:UOMkiKCA0
>>654
むしろWordPressだけで過半数以上
これらのユーザーがPHPを意識してるとは思えないが
世界中で稼働しているWEB言語のシェアとしてはPHPは圧倒的
逆にWordPressの代替となるアプリが流行すればPHPは一気に消え失せる可能性はある

とはいえWordPressのようなパッケージアプリを除いた純粋にPHPを開発言語として利用しているシェアも
けっこう高いはずなので急にRubyやPythonやその他の新興言語に入れ替わるもんじゃないとは思う
その他の言語がなぜ入り込んでこないかというと、Perlの頑張りがあるからじゃないかと密かに思ってる
派遣を即席で育てて現場に投入できるっていう利点もあるから少なくとも日本だと衰退しないんじゃないかな
0660デフォルトの名無しさん (ワッチョイ 4dc9-bz6c)
垢版 |
2017/10/02(月) 09:30:10.62ID:yY+xy6Qa0
>>658

代替となるアプリもPHPで作られるにきまってんじゃんw
PHPはフレームワークを作るための言語だよ?

なお、オレは最近は静的型付き言語ばかり書いている。とにかく、楽。
0661デフォルトの名無しさん (ワッチョイ 4de9-IQJU)
垢版 |
2017/10/02(月) 09:53:14.55ID:T1SDxagl0
おわったっていいじゃん
一生を捧げる言語を一つ選ぶような話じゃないでしょ。
今日の昼はA定食にしようかB定食にしようかって話で、B定食が今後なくなってもA定食食べればいい。

それより食堂がなくなる心配したほうがいい
0669デフォルトの名無しさん (ワッチョイ 46eb-8BZG)
垢版 |
2017/10/07(土) 03:33:19.78ID:E8QcxmPR0
cakeのヘンなURLはみんな一々普通の書式に書き換えてるの?

/index/limit:3/page:2 ←キモい
index/?page=2    ←普通こんな感じだよね

フレームワークってたいへんだね
0670デフォルトの名無しさん (ワッチョイ 457c-N+2N)
垢版 |
2017/10/07(土) 04:28:12.75ID:n7/qhps90
動けばいいのよ
0682デフォルトの名無しさん (ワッチョイ 2beb-KNNp)
垢版 |
2017/10/13(金) 21:02:49.56ID:NQNcqrHf0
Mac Sierra + XAMPPでCakePHP3のインストールが出来ないのだけど、
みんなどうやってインスコしてるの?
composerはインスコできたけど、intlが入らない

バージョン2はコピペで済んだから楽だったのにな〜・・・
0684デフォルトの名無しさん (アウアウエー Sae3-B6a6)
垢版 |
2017/10/13(金) 23:35:56.43ID:s758Uzmra
git for windowsを入れたら
gitbashの中でphpも実行できるので便利ですね?
コマンドラインと大差ないといえばないですが
gitbashは任意のフォルダから始められるところがいいです
0685デフォルトの名無しさん (ワッチョイ f97c-4jF/)
垢版 |
2017/10/14(土) 04:10:36.29ID:TNxvk7D00
sourcetreeでいいよ
どうしてもコマンド打ちたいなら別だけど
0687デフォルトの名無しさん (アウアウエー Sae3-B6a6)
垢版 |
2017/10/14(土) 16:05:22.67ID:sv7zl76da
正規表現では一重引用符、二重引用符ともに
エスケープする必要がないと知りました
エスケープをしても問題が出ないので今まで気づきませんでした

preg_match('/\"/','"',$matches);

var_dump($matches);



preg_match('/"/','"',$matches);

var_dump($matches);


どちらの結果も同じになります
何故エスケープする必要のない引用符をエスケープしても
問題が出ないのでしょうか?
0688デフォルトの名無しさん (アウアウエー Sae3-B6a6)
垢版 |
2017/10/14(土) 18:01:08.37ID:sv7zl76da
よく考えてみると、引用符をエスケープしなければいけないのは、
それが文字列と外界との境界を形成する特殊な文字だからで、
正規表現では文字列の境界をデリミタが形成するので、
引用符は普通の文字と全く変わりがない、
だから他の「普通の文字」をエスケープしても同じことではないか、
と思ってqで試してみたらやはり同じ動作になりました

preg_match('/\q/','q',$matches);

var_dump($matches);

正規表現エンジンは、
意味のないエスケープ文字
を単に無視するように出来ているのでしょうか?
0689片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-WP5G)
垢版 |
2017/10/14(土) 18:22:55.67ID:WLIJLkznd
エスケープされた文字列を解釈するのはPHPのエンジンであり、解釈された文字列は、PHPの文字列になる。
正規表現エンジンは、当然PHPの文字列を、正規表現を表す文字列として解釈する。
最初の解釈で、無意味なエスケープはバックスラッシュが無視されるのだから、何も悪いことは起きない。
0690デフォルトの名無しさん (アウアウエー Sae3-B6a6)
垢版 |
2017/10/14(土) 18:34:55.85ID:sv7zl76da
たしかにPHPの場合正規表現もまず最初に普通の文字列に入れられるので
>>688の言い方は適当ではなかったです
やはり正規表現エンジンは無意味なエスケープをただ無視するように作られているのですね
ありがとうございました
0691デフォルトの名無しさん (ワッチョイ 592a-fL/h)
垢版 |
2017/10/15(日) 11:18:23.57ID:CEYZTvIx0
PHP初心者です。
PHPの実行モデルがイマイチ分からないのですが、
これはイベントモデルではなくただのテンプレートエンジンで、
前回の結果(または鯖上でのコンテキスト)を引き継ぐことなく、
毎回毎回ゼロから構築する必要があるって認識で合っていますか?

具体的には、Webページ全体で使われるクラスやdefine()している場合、
それらを毎回includeする必要があるのでしょうか?(今のところそう見えます)

クライアントJavaScriptの場合はページ遷移がない限り一度構築した物は使えます。
Nodeは使ったことがないですが、多分同じです。
(これらはイベントモデルだからですが)
毎回毎回全構築となると、余分な構築を省かないと実行速度が気になります。
ドメイン全体で単一アプリを提供する場合は
PHPではなくNode等の方が向いているということなのでしょうか?

例えば、dbアクセス用にクラスを作った場合、
それぞれのWebページからはその全メソッドを使うことは通常あり得ません。
だからプログラム的に美しく一つのクラスに纏めるより、
フィールドを継承し、今使うメソッドだけの子クラスに無駄に分割した方が速いのか?とも思えます。
あるいはspl_autoload_register()した場合に、
名前参照だけではなくコンパイル済み状態で格納されるから速度上の問題はない、とかありますか?
0692デフォルトの名無しさん (ワッチョイ 795d-BSx0)
垢版 |
2017/10/15(日) 11:55:30.86ID:s8ygMoJ80
>>691
サーバサイドアプリケーションは大体そんなもんだと思うが
HTTPでセッションを跨いだクライアントの同一性保証なんて不可能だし

コードのパースとかの時間が気になるという意味ならopcacheのようなキャッシュ機構はある


とりあえずサーバサイドアプリケーションについて真面目に勉強するならLaravelとかSymfonyのチュートリアルくらいは触ってみたら
クライアントサイドとは全く違うから
0693デフォルトの名無しさん (ワッチョイ 592a-fL/h)
垢版 |
2017/10/15(日) 13:46:10.80ID:CEYZTvIx0
>>692
了解です。ありがとうございます。
何らかの機構を備えていると勝手に信じていたので、軽く衝撃でした。
(ちなみにGoとかも同じですかね?ご存知であれば)

ただこれならPHPは各ページ毎に様々なことをするのには向いていますが、
(とはいえこれが通常のHP用途の90%以上を占めますが)
掲示板サイト等、ドメインで単一アプリを提供する際には本質的に遅いことになります。
別サイトで「こんなのどうよ?」と提案したところ、
「PHPでは無理だから止めろ、どうせNodeを使うことになるぞ」と避難轟々だったのも分かります。
この状況でフレームワークを使っていること自体が結構信じがたいです。
とはいえ今回は共用鯖等超軽量環境向けの為、NodeやGoは選択出来ず、PHPしかないのですが。
(参考) http://postd.cc/websocket-shootout/


別件ですが、CSRF脆弱性対策について、
これは単発のリンクを踏んだ(表示した)時用の対策であって、
ガチでのクライアントスクリプト等による攻撃向けではない、という事で合っていますか?

例えば、あるページを表示し、そこのJavaScriptが実行されるなら、
ajaxでhtmlを取得し、CSRFトークンを取得して、
掲示板にその人が書き込んだように見せかけることは簡単に出来ますが。
0694デフォルトの名無しさん (ワッチョイ 795d-BSx0)
垢版 |
2017/10/15(日) 14:31:37.78ID:s8ygMoJ80
>>693
お前さんが何をしたいのか分からんし衝撃受けるのも勝手だが, クライアントサイドの常識をサーバサイドに持ち込むな
PHPに限らずRubyだろうがPythonだろうが何も変わらん

NodeやGoや更に言えばC/C++でサーバ作るというのは考えられるがメンテコストが膨らむしデプロイも面倒
その必要が本当にあるのかよく考えろ

> CSRF
Same Origin Policy
0695デフォルトの名無しさん (ワッチョイ d12a-fL/h)
垢版 |
2017/10/15(日) 17:17:04.22ID:u42Q3jAo0
>>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
0697デフォルトの名無しさん (ワッチョイ 8bb8-HXrW)
垢版 |
2017/10/15(日) 22:50:14.72ID:lMinf0FC0
遅い早いって2ch読み書きするのをストレスに感じないのであれば杞憂でしょう
ボトルネックになる部分はPHPの機構なんかよりもネットワーク間の問題のほうが大きいわけで
0698デフォルトの名無しさん (アウアウエー Sae3-B6a6)
垢版 |
2017/10/16(月) 00:01:36.25ID:OoF3Ic3Va
自分もリクエストのたびにこの巨大なフレームワークを読むのか?
とひるんだ時がありましたが
そこは実行コードをキャッシュする仕組みでカバーできるんですね
というか今の人はスタートがnode.jsとかなんだなーという驚きがあります
0705デフォルトの名無しさん (ワッチョイ 912a-fL/h)
垢版 |
2017/10/17(火) 06:07:25.14ID:C8ORuPRh0
質問です。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です。
0706デフォルトの名無しさん (ワッチョイ 795d-BSx0)
垢版 |
2017/10/17(火) 09:57:21.02ID:RHJUWC0z0
>>705
1回のクエリで実行しようとしたらそらそうなるでしょ
あと一意性を保証したいならトランザクション分離レベルをRepeatable Read相当(SQLiteではIMMEDIATEだったっけ)にする必要がある
0707デフォルトの名無しさん (ワッチョイ 31e9-89ZN)
垢版 |
2017/10/17(火) 10:56:38.81ID:s8lIkCI50
>>695みたいなPHPのコストについての話が出る度に思うが
こういう人って今までどの程度の規模のサービスを扱った事があるんだろ?

10年ぐらい前に俺が個人の趣味の延長で開発してaspとして金取ってたサービス
800万PV前後/日程度だったが
当時のPHP4系・MySQL3系・Apach1系の組み合わせのサーバー1台(DBすら分けてない)で運用できてた

レンタル費用をケチろうと思ったんだろう
貸出先が業者にまんまUIパクったようなものを数百万で作らせたら
全然PV裁けなくなって業者に文句言ったら
捌けるようになるまでサーバーを増やせと言われたという笑い話

800万PVなんてここのプロ様に比べたらレベルが低すぎるだろうから
最低1億PV/日ぐらいは想定してるんだろうなきっと
0710デフォルトの名無しさん (ワッチョイ 31e9-89ZN)
垢版 |
2017/10/17(火) 14:45:24.76ID:s8lIkCI50
>>709
UIまんまパクったものを業者に作らせてると知った時に
そっちへサービス切り替えた瞬間に全部停止する事にしたから当然今はやってない
当時は他でネタ扱いされる程に儲けてたし

ちなみに何故それを知ったかというとその業者の開発者の内の1名から
技術的な質問をされたから
当然教えるわけないというか「コイツ頭おかしいんじゃね?」と思った思い出

>>708
今はそうだろうね
当時のこの話の場合、結局パクったシステムのサーバー運用コストの方が高くなったという笑い話
0717デフォルトの名無しさん (ワッチョイ d12a-fL/h)
垢版 |
2017/10/18(水) 05:41:41.19ID:IAqZZNli0
>>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;";
http://www.sqlines.com/mysql/how-to/select-update-single-statement-race-condition

問題はSQLite3ではこれらが出来ないことです。

ググル限り、UPDATEとINSERTの戻り値はAndroidでは取れており、
http://naichilab.blogspot.jp/2013/06/sqliteinsertautoincrement.html
http://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
http://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には出来ません。
0718デフォルトの名無しさん (ワッチョイ d12a-fL/h)
垢版 |
2017/10/18(水) 05:42:26.75ID:IAqZZNli0
次の質問です。
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
0722デフォルトの名無しさん (ワッチョイ 31e9-89ZN)
垢版 |
2017/10/18(水) 12:36:34.56ID:v7V1Syde0
8Mpv/day=100pv/sが言い過ぎってさ…
実際に10年前に今より貧弱な環境で稼働させて
aspとして金を稼いでたサービスなんだけど(MAXで1000万/日超えた日もあった)

PHP4だったというのもあるけどさ
オブジェクト指向なんて全く理解してなかったしフレームワークも使ってない
クラス1個も使わずにfunctionとヒアドキュメントの組み合わせ
名前空間なんてものも当然なかった

DBへのアクセスが極力発生しないようにはしてたけど俺のレベルは糞低いぞ
サーバーのログはテキストでも壊れない…って事は全部テキストキャッシュにしてそれを読めばいい!と何でもテキストにしてたw
頭の悪い俺なりの発想
0723デフォルトの名無しさん (ワッチョイ 31e9-89ZN)
垢版 |
2017/10/18(水) 12:37:11.21ID:v7V1Syde0
昔こんな人と仕事をした事がある
色んな言語やデザインパターンを熟知してて
PHPも「これぞオブジェクト指向だ」と唸る程に素晴らしいコードを書ける
めちゃくちゃ頭が良いのが少し話すだけで分かるような人だった(後から知ったが東大卒だった)

でもその人が作ったサービスは激重で運用できなかった
俺は技術もないし頭が悪いからその人の何が悪いかは分からなかったけどw

お前らすごいね
実行レベル?イベントモデル?
pThreadだのGoだのNode.jsだのCloudFlareだの
俺には全然分からんわw

それでどんなサービスができるの?何人ぐらいに使ってもらってどれくらい捌けるの?
って事にしか興味がない

だってさ、使う人にとっては何の言語で書いてるとか関係ないじゃん
これだからPHPerは…って言われるんだろうけどこれでも金はそこそこ自慢できるぐらいは稼いできたからなぁ…
0727デフォルトの名無しさん (ワッチョイ 162a-B/u5)
垢版 |
2017/10/19(木) 04:05:45.17ID:lZeER9v70
>>721
こちらは桁が分かってないので助かります。
マシンは2007年製のポンコツで、書き込みは数文字だけですね。

レイテンシからスループットへの換算はやはり無理があるとして、
レイテンシだけにしても遅いので、問題もあるのだとは思います。(外部サイトの方が速い)
http://www.techempower.com/benchmarks/#section=data-r4&;hw=ph&test=db


>>722-723
opcacheの無い状態だと、コードを美しく整えれば整えるほど遅くなるから、
それを最初に確認したのです。>>691

君が書いたコードは細切れのバラバラで、
結果的に使う部分だけ走行するから速かったのでしょう。
それの方がよければそうすればいいだけです。

> 全部テキストキャッシュ
結果的に静的ファイルでキャッシュが効いたということでしょう。
今も同じ問題がCloudFlareにもあります。

> って事にしか興味がない
結果指向なのは正しいと思いますよ。
プログラミングはあくまで手段であり、目的ではないので。
特にネット上だと本末転倒になっている人も散見されます。
全く考えないのも問題ですが、考えすぎて手が止まっているのも問題です。
なおPHPerは最も馬鹿にされているらしいですが、JavaScripterよりマシな気はしますよ。
そしてデザインパターン/言語コレクターは使い物にならないと個人的には思います。
0728デフォルトの名無しさん (ワッチョイ 162a-B/u5)
垢版 |
2017/10/19(木) 04:06:52.86ID:lZeER9v70
次の質問です。
以下環境で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

或いは他プロファイラーでいいのがありますか?
0729デフォルトの名無しさん (ワッチョイ a55b-K+MB)
垢版 |
2017/10/19(木) 12:16:50.62ID:NzzKiK+50
> プログラミングはあくまで手段であり、目的ではないので。
> 特にネット上だと本末転倒になっている人も散見されます。
> 全く考えないのも問題ですが、考えすぎて手が止まっているのも問題です。

自己紹介乙
0731デフォルトの名無しさん (ワッチョイ d6b8-Y7bb)
垢版 |
2017/10/19(木) 22:44:13.21ID:KjwMHyuL0
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
このような記事を見つけて、書かれてる設定を加えてみたのですが、エラーは消えませんでした。
0733デフォルトの名無しさん (ワッチョイ d6b8-Y7bb)
垢版 |
2017/10/21(土) 08:07:53.66ID:7N/u1SNi0
>>732
もし数行で対処出来るようなら取り入れようという感じのもので、
出来ないなら出来ないで構わないのですが、
JISで上書きしなおされるというイレギュラーに対処するためです。
0734デフォルトの名無しさん (ワッチョイ a568-U5aN)
垢版 |
2017/10/21(土) 10:33:40.68ID:LXe9cSfz0
PHPで作った自作のフォームに書き込みがなされると
メールで通知してくれるようにしている。

鯖の移転を考えてるんだけど(具体的にはByetという海外無料鯖)
あいにく候補の移転先はsendmailに非対応だったりする
(スパムメール対策だとか)

こういうときってどうやったらフォームへの書き込みを自分宛に
通知させることができるかな?
0735デフォルトの名無しさん (ワッチョイ 555d-0GSP)
垢版 |
2017/10/21(土) 13:19:00.37ID:jXM7J8Fl0
>>733
PHPCSに掛けよう
大抵のルールセットはソースがUTF-8以外で書かれていればエラー扱いにしてくれる

internal_encodingの問題じゃないかとは思うが, 不正な文字コードで保存された場合にはリポジトリにpushされる時点でエラー通知が飛ぶようにするべきだな
0736デフォルトの名無しさん (アウアウエー Sa22-bcII)
垢版 |
2017/10/21(土) 13:59:33.75ID:ZxQy+kqda
PHPとGoって何が違うの?LIGが自社サービス開発にGo言語を採用したお話
https://liginc.co.jp/284306
>Go言語がPHP 7の30倍、PHP 5.6と比べるとなんと82倍にも及ぶスピード

こんな記事を見つけました
OPcacheなどを使った場合と比べてどうなのでしょうか?
自分の考えるPHPの魅力は、
Javaからパクったオブジェクト指向、
標準の関数でウェブやデータベースアクセスが色々できて面倒くさくない、
といったものがありますが、
Goのようなモダン言語ならそのあたりもクリアしてるんじゃないかと思います
どうなのでしょうか?
0743名無しさん@そうだ選挙に行こう! Go to vote! (アウアウエー Sa22-bcII)
垢版 |
2017/10/22(日) 18:46:14.40ID:N3puxcTpa
byetでRSSの出力をしようとしていたのですが、どうもうまくいかないので
調べていたのですが
byetに置かれたファイルを他のサーバから読むと、
This site requires Javascript to work, please enable Javascript in your browser
or use a browser with Javascript support
みたいなページに変わることに気づきました
ブラウザ以外のユーザエージェントから読まれることを禁じているようですね
やはり無料のサーバは何かしらあるのですね
ブラウザからPHPも編集できて、これこそプレイグラウンドやんと思ったのですが・・
0747デフォルトの名無しさん (ワッチョイ 4de9-I8tA)
垢版 |
2017/10/23(月) 18:29:23.56ID:n7tiHTCJ0
環境で詰まったというわけでなくプログラミングを勉強してる時に気になったことがあるのでテンプレ無しですがよろしくお願いします

インターフェースがクラスの設計書っていうのは説明読んでて理解出来たんだけど、例えば問い合わせインターフェースから最終的に問い合わせA,B,C,Dのクラスを作る前提で各クラスにはインターフェースで定義したメソッド1,2,3があるとします
メソッド2,3はクラスによって処理は違うけどメソッド1は処理が同じという場合はどう設計するのが良いのでしょうか?

共通の処理がなければ各クラス共にインターフェースを継承して作ればいいと思ったのですが、共通の処理がある場合まず問い合わせのベースとなるクラスを作ってそれを継承して各クラスを作るのが正解?
0752デフォルトの名無しさん (アウアウエー Sa22-bcII)
垢版 |
2017/10/23(月) 21:39:37.94ID:tJp0k/Rla
それを元にドキュメントを作るのがphpDocumentorの目的ですが
インターフェイスと関わらない部分のコメントはドキュメントに載らないので、
この記法で書く必要はない気もしますが
コメントの記法を揃えないと、それはそれで気持ち悪いです
0753デフォルトの名無しさん (ワッチョイ 7523-wYkv)
垢版 |
2017/10/23(月) 23:29:47.09ID:Tv/dpLrE0
>>745
mailだったら何もしなくてもメールサーバー設定すりゃいいだろ
PHPのマニュアルにそのままgmailの送信サンプルあるのに何が不満なんだ?
あまり無料鯖は使わないほうだが規制にひっかかったことないぞ
0755デフォルトの名無しさん (アウアウエー Sa22-bcII)
垢版 |
2017/10/24(火) 20:09:11.71ID:4zuQt35qa
PHPのバッチプログラムをcronで実行させた時に
期待した通りに動きませんでした
調べたらcron時はカレントディレクトリが
スクリプトのあるディレクトリではなく実行ユーザのホームディレクトリになるので
ファイルが思わぬ場所に作成されていたのでした
ファイルアクセスは基本的に絶対パスでやるべきなのですね
ですが、include_onceは相対パスで書いていたのに正常に動作していました
絶対パスで書く方が安心できるとは思いますが、
includeの場合は気にしなくていいのでしょうか?
0756片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd9a-f2Bm)
垢版 |
2017/10/24(火) 20:22:12.50ID:+CxSIN/Vd
>>755
データ展開を考えると、相対パスの方が便利だ。絶対パスがコロコロ変化する一方で、他方で相対パスが変化しないなら、相対パスの方がデプロイコストが低くなる。
0759デフォルトの名無しさん (ワッチョイ a568-U5aN)
垢版 |
2017/10/24(火) 20:59:24.65ID:yBPDUg+O0
>>754
> 素直にswiftmailerとか使うのが賢いと思うの

swifmailer調べてみた、インストール作業が必要なのね
レンタルサーバーだからインストール作業はちょっと・・・
代わりにPhpmailerってのが使えるみたい。これはファイル置くだけでいいっぽいから。

>>753
> PHPのマニュアルにそのままgmailの送信サンプルあるのに何が不満なんだ?

これのことかな?
Byetってレンサバだからsendmail.iniやphp.iniの改変は不可能なんだわ(´・ω・`)

http://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"
0761デフォルトの名無しさん (アウアウエー Sa22-bcII)
垢版 |
2017/10/24(火) 22:58:25.66ID:4zuQt35qa
絶対パスと言ってもベタ書きではなく__DIR__を使って
そのファイル基準の絶対パスを実行のたびに作るやり方なら
ファイルの場所が変わっても問題は起きにくいのでは?
でもたしかに絶対に絶対パスを使った方がいい、というわけでもありませんね
ありがとうございました
0762デフォルトの名無しさん (ワッチョイ 51e9-U5aN)
垢版 |
2017/10/25(水) 16:08:42.06ID:Cr59jy+d0
>>761
__DIR__ あたりで絶対パス取って
chdir()でカレントディレクトリはここだと決めて
それから後は全部相対パスを使うようにすればいい

そうすれば>>755で書いてるようなミスは絶対に起こらないし
テスト環境と本番環境の差異も簡単に吸収できる

あとライブラリの読み込みはなるべくオートローダーを使った方がいい
0763デフォルトの名無しさん (ワッチョイ 51e9-U5aN)
垢版 |
2017/10/25(水) 16:19:44.89ID:Cr59jy+d0
>>759
根本的に勘違いしてるっぽいし
あなたにレス付けてる人にも色々と問題があるので
今まで付いたレスは全部忘れた方がいい

まず、メールを送る方法は大雑把に2種類ある
1.自分のサーバーのMTAから送る方法
2.外部のSMTPサーバーを使って送る方法

あなたは今まで1の方法で送っていたが、
移転先では1の方法は使えないので2で送ると良い

例えば何らかのメールソフトを送ってメールを送ってると思うが、
それは2の方法なわけ(SMTPサーバーを設定するところがあるよね?)

だからPHPでも同じように2の方法で送れば良いだけ

お手軽なのはあなたも書いてるPHPMailer
WordPressなんかでも実績のあるライブラリで
メールソフトにSMTPサーバーを設定するのと同じ感覚で初心者にも簡単に使える

稀に脆弱性も見つかってるが、あなたの用途にはピッタリの筈


蛇足だが今時sendmailを使ってるところなんてまずない
PostfixあたりのMTAがsendmailと互換性があるように動いてるだけ
0764デフォルトの名無しさん (ワッチョイ 51e9-U5aN)
垢版 |
2017/10/25(水) 16:29:03.87ID:Cr59jy+d0
×何らかのメールソフトを送ってメールを送ってると思う
○何らかのメールソフトを「使って」メールを送ってると思う

訂正のついでに、ややトリッキーな手段としては、

A.MTAが使えるサーバーにおいた send.php
B.MTAが使えないサーバーおいた put.php

put.phpからsend.phpへ何らかの手段で送信メールの内容を送って(練習なら別にHTTP POSTとかでいい)、
send.phpを使ってメールを送るという手段なんかもある
APIみたいな使い方やね
0765デフォルトの名無しさん (ワッチョイ a55b-K+MB)
垢版 |
2017/10/25(水) 17:44:25.69ID:hphlT9kR0
レンサバのlocal mtaが使えないような環境のことで質問されてるのに
php.ini編集してmail()関数で送れといってみたり(つか今時mail()関数でメール送るやつなんかいねーよw)
composer使えといってみたり(composerと書きたかっただけだろw)
別の質問で相対パスか絶対パスかとかさ(てかnamespaceとオートローダー使えw)
色々酷すぎるとおもってレスしようとしたらほとんど全部書かれていたでござる
0766デフォルトの名無しさん (ワッチョイ 51e9-U5aN)
垢版 |
2017/10/25(水) 18:05:21.53ID:Cr59jy+d0
使えないSEや仕事の遅いPGとかに多い

たったそれだけの事に何故わざわざそんな事をやるわけ?と問いただすと
結局は知識や経験不足で特定の方法しか知らないのが理由
色んな方法を知った上で相手に合わせた方法を提案するのがまともな人

SMTP使ってメールを送れば良いだけの話なのに
いやいや流石にそれは待てと長文も書きたくなるw
0768デフォルトの名無しさん (アウアウエー Sa22-bcII)
垢版 |
2017/10/25(水) 20:09:10.79ID:eczzyF0za
>>762
カレントディレクトリを早い時点で設定していても
その後ライブラリの中で再設定されない保証もないのでは?
もちろん、そんなことするのはライブラリとして駄目ですが、
可能性としてないわけではありません
0769デフォルトの名無しさん (ワッチョイ a568-U5aN)
垢版 |
2017/10/25(水) 20:18:09.39ID:iHcJH4nT0
>>763
丁寧なレスありがとうm(_ _)m
おかげさまで安心してPHPMailer使えそう

ただ一点、SMTPサーバーのパスワードを平文で保存しないといけないのが気になるけど
ファイルのアクセス制御をしっかりかければ第三者から見られるわけでも無いし
レンタルサーバーの管理人からは見られちゃうけどそこは管理人を信用することにしますノシ
0770デフォルトの名無しさん (アウアウカー Sadd-976O)
垢版 |
2017/10/25(水) 20:59:55.31ID:JdF6ntjza
そりゃ手でも入れられるけどPHPMailerにせよSwiftMailerにせよcomposerの方が楽じゃん
グローバルに入ってなくてもphpコマンドさえ叩ければ使えるし最悪ローカルで操作してvendorごとアップロードもまぁ出来るしな
0773デフォルトの名無しさん (ワッチョイ 89e9-Eec1)
垢版 |
2017/10/26(木) 09:32:12.60ID:gzc+jHaK0
>>768
ただのヘリクツだな
それを言い出すとオートローダーにしたって
元の定義を上書きするような挙動を後付で定義して
めちゃくちゃにすることだってできる場合もあるわけでして

それよりPHPerはもうちょい鯖の知識を付けた方がいい
そもそもPHPが何のユーザーでどういう権限で動いてるのか分かってたら
cronでミスなんかしないんだよね
0774デフォルトの名無しさん (ワッチョイ 89e9-Eec1)
垢版 |
2017/10/26(木) 09:40:31.55ID:gzc+jHaK0
>>768
あと元のレスの

> include_onceは相対パスで書いていたのに正常に動作
に誰も答えてないみだから書くけど
phpinfo()でいいからinclude_path確認してみ
たぶんそっちから読んでたんでしょ
includeのPHPマニュアル読むといいかもね

なのでinclude_pathを変えるなんて方法もないわけじゃないけど
普通はやらない
0775デフォルトの名無しさん (ワッチョイ 89e9-Eec1)
垢版 |
2017/10/26(木) 10:21:31.02ID:gzc+jHaK0
>>769
> SMTPサーバーのパスワードを平文で保存しないといけないのが気になる
色々方法はあるけど

1.SMTPサーバーの設定を配列とかにしとく
2.1にserialize()かけて文字列にする
3.2に可逆式の暗号化をかける
4.どこか適当な場所に保存

設定を読み込む時は4⇒1の順に逆の事をすればいいだけ
これだと数行で書けそうだし楽かも

さらに言えばgmailなんて無料でいくらでもアカウント作れるので
新しく捨てアカ作ってそのID/PASSを使えばいいw
0779デフォルトの名無しさん (ワッチョイ ebb8-BUju)
垢版 |
2017/10/27(金) 07:15:15.66ID:XNLqI4Wk0
item(0)->length; //itemは配列としてitem[0]のstrlen
item->length; //itemは配列としてcount(item)のような感じ
プロパティの部分はメソッドでもいいですが
こういうのってどうやって実装するんですか?
$thisを返すとメソッドチェーンが出来るのはわかるのですが
$this配列にしないと返せないしそうするとitem(0)[0]みたいな参照になってしまって
カッコ悪いしそんな表記は見たこともないので
0782デフォルトの名無しさん (アウアウエー Sa23-nu9H)
垢版 |
2017/10/27(金) 17:25:24.66ID:nbs4Y8NPa
curlにオブジェクト指向のインターフェイスはないのだろうと思って調べていて
CURLFileというのを見つけたのですが、何か思っていたのと違います
普通curlへのアクセス自体をオブジェクト指向化しますよね?
http://php.net/manual/ja/curlfile.construct.php
を見ると、
オブジェクトを使って手続き型の処理をしていてびびりました
どうなっているのでしょうか?
0784デフォルトの名無しさん (アウアウエー Sa23-nu9H)
垢版 |
2017/10/27(金) 23:11:25.54ID:diny/lofa
CURLOPT_RETURNTRANSFER
をtrueにしたら結果が文字列で返ってくる→分かる
falseにしたら結果が標準出力に出力される→は?
curl実行の際の出力を抑制するためにはtrueにするのが必須になりますが
結果取得のためのtrueなのか出力抑制のためのtrueなのかがはっきりせず、
イケてないと言わざるを得ません
「標準関数なのだから相当の試行錯誤の結果作られているのだろう」
という予想がPHPの場合は通用しませんね?
0794片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd33-+nyC)
垢版 |
2017/10/29(日) 02:25:50.82ID:k1qoOab2d
C/C++などでも一般に言えることだが、IDEのデバッグ機能はユーザーによって実行を制御したり、変数の中身を確認できる。例えば、指定した行で実行を止めたり、少しずつ実行させたりできる。
0795デフォルトの名無しさん (ワッチョイ ebb8-BUju)
垢版 |
2017/10/29(日) 10:41:47.50ID:htd7uCcc0
file_get_contentsを何回かやるので、関数化しました。
header部分も欲しいので、$http_response_headerも一緒にreturnするようにしたのですが、
関数化前と違うものが返ってくるようになりました。
キャッシュか何か残ってるのでしょうか?何が原因でしょう?
Set-Cookieヘッダを使うので、返ってくるものが違って挙動がうまくいかなくなって困ってます。
ベタ書きすればうまく動作するのですが、コードがどうしても長くなって読みづらくて。
0796795 (ワッチョイ ebb8-BUju)
垢版 |
2017/10/29(日) 10:46:01.97ID:htd7uCcc0
補足です。関数内で何回かfile_get_contentsをやってるわけではありません。
関数内では1回しか使っていません。
前後に共通のコードが書かれてたり、file_get_contentsのリクエストヘッダを少し変えてます。
0799795 (ワッチョイ ebb8-BUju)
垢版 |
2017/10/29(日) 11:26:37.79ID:htd7uCcc0
>>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しています。

ベタ書きだとちゃんと動作します。
0800795 (ワッチョイ ebb8-BUju)
垢版 |
2017/10/29(日) 11:31:50.57ID:htd7uCcc0
>>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];
}
こんな感じです。
0801795 (ワッチョイ ebb8-BUju)
垢版 |
2017/10/29(日) 11:33:41.53ID:htd7uCcc0
インデント調整ミスって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];
}
0804795 (ワッチョイ ebb8-BUju)
垢版 |
2017/10/29(日) 12:40:46.31ID:htd7uCcc0
>>802
レスありがとうございます。
そこはドット演算子で連結しているのでそれで問題ありません。
って・・・ドットじゃなくてカンマになってる。
お恥ずかしい。エラーにもならないので気づきませんでした。
どうもありがとうございます。無事動くようになりました。
0806デフォルトの名無しさん (オイコラミネオ MMab-FkMA)
垢版 |
2017/10/29(日) 15:35:37.96ID:DVVe4DD2M
IDEとxdebug使ってのデバッグがイマイチ使いこなせないわ
毎回設定してはめんどくさくてやめる
フレームワークとか作る仕事ならまだしも、
フレームワーク使ってつくるもんだと変数トレースしたいとか
ブレイクポイント使いたいとかあまりない気がしてて
複雑怪奇なシステムとか作るなら必要なんだろうが
iOSアプリとかのSwiftとかだとないと厳しいけどさ
0809デフォルトの名無しさん (ワッチョイ 6beb-Jryx)
垢版 |
2017/10/29(日) 17:27:03.74ID:lZu6ERZg0
有料のPHPStormじゃなくて
無料のnetbeans使ってバグ全部取ったのに
ブラウザが真っ白のまま
もう何がなんだか・・・
0812デフォルトの名無しさん (ワッチョイ b123-tN/E)
垢版 |
2017/10/30(月) 00:11:23.58ID:UPoKErNA0
>>809
netbeansでもxdebug使えるからトレースすりゃいいんじゃないの?
バグじゃなくてエラーを全部なくしただけでしょ?
本当のデバッグはそこがスタートだよ
どうせエラー表示したら500エラーが出てるよ

>>806
作り方がうまいからじゃねーの
まぁ、新規で使うことは少ないけど、改修や保守開発だと必須じゃね
0817デフォルトの名無しさん (ワッチョイ 6b95-pShr)
垢版 |
2017/10/30(月) 14:24:02.82ID:6Zg8+NGr0
Google Apps Scriptで
http://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を正常に稼働させるには
何がいけないのでしょうか教えてください。
お願い致します。
0819デフォルトの名無しさん (ワッチョイ f166-Eec1)
垢版 |
2017/10/30(月) 14:52:57.48ID:xmd0Xo8s0
データベースに記事のデータを無数に登録しておき、それをPHPで読み出して
ブログサイトのように表示するみたいなプログラムを作りたいのですが
そういうのってWebサイトではありがちな気がするのですが、何か簡単に実現できる
フレームワークやツール的なものってあるのでしょうか
0821デフォルトの名無しさん (ワッチョイ 6b95-pShr)
垢版 |
2017/10/30(月) 15:38:04.49ID:6Zg8+NGr0
javaScriptがわからないのですが、
上記の>>817のソースをそっくりそのままコピペすると、正常に動くんです

else if (strpos(input_text, "寒い") !== false ) {
reply_text = "もう冬だね";
  }

ほかは何もいじらずこれだけを挿入するのですが、「寒い」のメッセージに無反応なんです。
0823デフォルトの名無しさん (ワッチョイ 6b95-pShr)
垢版 |
2017/10/30(月) 16:09:26.30ID:6Zg8+NGr0
////////////////////////////
var input_text = e.message.text;
var reply_text = "";
if (input_text == "こんにちは") {
reply_text = "元気?";
}
/////////////////////////

現状は「こんにちは」のテキストに完全一致でしか「元気?」と出力しない状態です。
これを文章中に「こんにちは」が含まれる部分一致の場合に「元気?」と出力する方法教えてください。
連投すんません、このくだらない問題に2日無駄にしてつらいです。
0825デフォルトの名無しさん (アウアウカー Saed-6HSk)
垢版 |
2017/10/30(月) 16:31:42.84ID:vEI+28/Ca
>>823
えっと、間違ってたらごめんだけど、見た感じ>>817はJavaScriptのコードで、strposはphpの関数だから、存在しない関数を使ってるせいでエラーになってるんじゃないかな
containsやindexOfみたいなJavaScriptの関数で判定してみたらどうでしょうか
0826デフォルトの名無しさん (ワッチョイ 6b95-pShr)
垢版 |
2017/10/30(月) 16:45:24.01ID:6Zg8+NGr0
>>824
>>825
ありがとうありがとうありがとうありがとう
ヒントくださって本当にありがとう
行き詰まって調べたくても何もなかったからどうにもできなかった
その二つ調べて頑張ります本当にありがとう
0828デフォルトの名無しさん (ワッチョイ 6b95-pShr)
垢版 |
2017/10/30(月) 17:34:29.87ID:6Zg8+NGr0
>>824
>>825
     )、._人_人__,.イ.、._人_人_人
   <´ indexOf使ったら動いたよ!! >
    ⌒ v'⌒ヽr -、_  ,r v'⌒ヽr ' ⌒
// // ///:: <   _,ノ`' 、ヽ、_ ノ  ;;;ヽ  //
///// /::::   (y○')`ヽ) ( ´(y○')    ;;|  /
// //,|:::     ( ( /    ヽ) )+ あ   ;| /
/ // |:::     +  ) )|~ ̄ ̄~.|( (   り   ;;;|// ////
/// :|::       ( (||||! i: |||! !| |) ) が    ;;;|// ///
////|::::    +   U | |||| !! !!||| :U と ;;; ;;;| ///
////|:::::       | |!!||l ll|| !! !!| |  う ;;;;;;| ////
// / ヽ:::::       | ! || | ||!!|    ;;;;;;/// //
// // ゝ:::::::: :   | `ー----−' |__////
0831デフォルトの名無しさん (ワッチョイ 89e9-Eec1)
垢版 |
2017/10/30(月) 19:38:09.54ID:EhzU2sDl0
>>806
初心者がいきなりフレームワークという最近の傾向には俺も疑問

フレームワークを知らなかったからこそ、
初めてチーム組んでフレームワークを使った開発をした時に
その必要性や有難味を理解できるもんだ

酷いのになるとフレームワークの使い方しか知らなくて
全く潰しの効かない人とかいるしね
最近のruby界隈は結構酷いのがいる(もちろんPHPよりはましだがw)
0832デフォルトの名無しさん (ワッチョイ 89e9-Eec1)
垢版 |
2017/10/30(月) 19:48:34.15ID:EhzU2sDl0
>>782,784
どうなってる?と言われても知らんがなw

そう思うなら自分で作ればいいじゃない
curlの関数群にOOPなインターフェースを与えるのなんて簡単な事だろ

CURLFileがいけてない?
PHPのcurlなんて単なるlibcurlのうっすーいラッパーに過ぎないが
PHPのcurlは「@」の扱いからして全然いけてないよw

他人が設計したクラスに文句垂れるだけでろくにラッパークラスも作れない人なの?
違うでしょ?

他のレス見ても君はPHPには明らかに向いてない
君の性格にはPhthonがおすすめ

PHPなんてクソ言語はさっさと捨てて
ついでにこんな糞スレにも二度と戻って来ない方がいい
0834デフォルトの名無しさん (オイコラミネオ MMab-FkMA)
垢版 |
2017/10/30(月) 21:19:35.82ID:6OnifbBOM
>>831
まあ、言いたいことは分かるよ
でも、たとえばAPCキャッシュがどういう理屈で速い機械語書き出してるか?
とかそういうことまで把握してるペチパーなんてほんの一握りだろう
それでもみんなAPCキャッシュ使ってるからな
どういう層までやりこんで覚えるかは時代の流れもあるんじゃないかなぁ
慢性的な技術者不足だし、この傾向はどんどん進んでいくと思うけどね
0838デフォルトの名無しさん (ワッチョイ 89c9-xXVv)
垢版 |
2017/10/31(火) 21:30:40.63ID:vrxKr+8C0
てか、APCにしろOPcacheにしろ、中間コードをキャッシュしてるだけで、そっこから実行コードにするのは別のとこでしょ?
0840デフォルトの名無しさん (ワッチョイ 533f-FkMA)
垢版 |
2017/11/01(水) 01:26:07.73ID:2VhajyTi0
目的次第か
ただサイト作りたいだけなら使うべきだろうし、
PHPを極めたいとかプログラミングを楽しみたいとかなら
使わずに一から作る方がいいかもしんない
0842デフォルトの名無しさん (ワッチョイ f189-Eec1)
垢版 |
2017/11/01(水) 08:06:41.70ID:y4RLmNPl0
車輪の再発明うんぬん言うのは、手っ取り早く目先の仕事を片付けたいなら
フレームワークのような既存コード使えって話であって、プログラマーとして
スキルを高めたいって話なら、例え誰かが既に実装してる機能であっても
自分で試行錯誤して作る経験をつむことに意味があるからね
この点については「プログラマが知るべき97のこと」にもあるね
0843デフォルトの名無しさん (ワッチョイ 89c9-xXVv)
垢版 |
2017/11/01(水) 12:25:32.18ID:6Bes9s9x0
97って多すぎるんだよな… 8つくらいに絞れよ…
0844デフォルトの名無しさん (ワッチョイ beeb-tZNS)
垢版 |
2017/11/03(金) 00:16:36.67ID:N/6B30hr0
ubuntuでphp7をpurgeしたんだけどphp -vでみたら
バージョンが7.0になったままなんだけど
php7がpurgeできてないってことですか?
0847デフォルトの名無しさん (アウアウエー Sa4a-Q/5A)
垢版 |
2017/11/03(金) 04:27:57.37ID:E/qemGJoa
PHPはコメントに#も使えますが
シバンは<?phpより前に書かれるので、
これはシェルスクリプトやPerlのように「コメントだから無視されている」
というわけではないですよね?
何故PHPでもシバンが無視されるのでしょうか?
0849デフォルトの名無しさん (アウアウエー Sa4a-Q/5A)
垢版 |
2017/11/03(金) 11:45:13.22ID:E/qemGJoa
「一行目が#!から始まっていたら無視をする」
という処理を行っているのでしょうか
たしかにふるまいを見るとそうしているように見えますが、
ドキュメントのどこに書いていますか?
0850デフォルトの名無しさん (ワッチョイ 31e4-cXHZ)
垢版 |
2017/11/04(土) 12:45:29.26ID:lmIJ2Kma0
ファイル単体が純粋にPHPのコードで書かれていても
PHPはテンプレート言語でもあるのでHTMLとの境界を定めるために<?php開始タグが必要
これはCGIとして動作させるためにシバンを書く時も例外ではないので
0852デフォルトの名無しさん (エーイモ SE8d-VfAY)
垢版 |
2017/11/05(日) 17:48:41.64ID:YrMOHTVWE
なんでここIPでないの?
0855デフォルトの名無しさん (アウアウエー Sa4a-Q/5A)
垢版 |
2017/11/06(月) 02:07:54.67ID:4QwjxNvAa
https://qiita.com/shinkuFencer/items/d7546c8cbf3bbe86dab8

file_get_contentsのタイムアウトを設定しても
何故か設定値の2倍の時間がタイムアウトまでの時間になる
という情報がネットにあります
これはstream_context_createで作成したストリームコンテキストを
fopenに渡した場合でも同じなのでしょうか?
0856デフォルトの名無しさん (エーイモ SE8d-VfAY)
垢版 |
2017/11/06(月) 09:37:09.15ID:RWNw7rPfE
自分で試せば分かることを聞くのかw
0857デフォルトの名無しさん (ワッチョイ 71b7-7T4N)
垢版 |
2017/11/06(月) 10:41:08.05ID:8ugsVuBB0
サーバーサイドで、PHPがNode.jsより得意なことってなんでしょう?

サーバーサイド・クライアントサイドで共通の言語を使うという夢を捨てきれずも
とりあえずPHPに甘んじているところです
0858デフォルトの名無しさん (アウアウエー Sa4a-Q/5A)
垢版 |
2017/11/06(月) 11:07:34.47ID:xs24eGnra
>>856
単に「試して終わり」の問題じゃないですから。
タイムアウトが2倍になるのがそもそも意味不明です
その意味不明の現象は今でも存在するのかとか
原因は分かったのか、そういう周辺の情報も知りたいので質問しました
0860デフォルトの名無しさん (エーイモ SE8d-VfAY)
垢版 |
2017/11/06(月) 11:39:06.57ID:RWNw7rPfE
>>858
タイムアウトが2倍になる理由を調べたいなら--enable-debug付けてコンパイルしたphpでgdbで調べるしかないんじゃないの?

>これはstream_context_createで作成したストリームコンテキストを
>fopenに渡した場合でも同じなのでしょうか?

file_get_contentsと同根の現象かは自分で試せば分かるよね
丸投げしないで試した上で質問してよ
0861デフォルトの名無しさん (エーイモ SE8d-VfAY)
垢版 |
2017/11/06(月) 11:43:22.57ID:RWNw7rPfE
file_get_contentsだとタイムアウトが2倍になるので
stream_context_createで作成したストリームコンテキストを
fopenに渡したどうなるか試してみたら2倍に(なりました|なりませんでした)
これはどうしてでしょうか?

なら答えたくなるのにな〜
0863デフォルトの名無しさん (ワッチョイ 71b7-7T4N)
垢版 |
2017/11/06(月) 12:07:52.24ID:8ugsVuBB0
>>859
なるほど、やはりPHPはWebに特化した言語だけに、汚らしいけど話が早い言語って
感じなんですかね、他と比べると
自分にとってはそれはけっこう魅力的かもしれません
サーバーサイドに労力使ってる場合じゃないって考えなので

しばらくはPHPで良い気がしてきました、どうもです
0867デフォルトの名無しさん (ワッチョイ 31e4-cXHZ)
垢版 |
2017/11/06(月) 17:39:49.53ID:GazGq00E0
元々MVCやWebフレームワークなんかの概念が薄かった時代に開発された
C言語用のWebフレームワークの前身みたいなもんで元々プログラム言語として開発されたものじゃない
他に飲まれるの嫌って発展優先させて作りなおすこともしなかったから
エイリアス作ったりJavaに似せたり文法的に扱いやすいものになったけど汚いもんになってしまった
省略可能な引数に後々問題が出てやっぱ省略だめ!って言いたくなるのは仕方ないとしても
歴史的理由を言い訳にしてるものはさっさと廃止すればいいのに
0868デフォルトの名無しさん (ワッチョイ 419f-x3Hc)
垢版 |
2017/11/06(月) 19:44:28.39ID:tjV5ukzM0
>>857
PHPは使うハードルが低いのがメリット
現にあなたが甘んじてるのが動かぬ証拠

Nodeはクラサバを共通化できても
導入のハードルが高い
そもそもJavaScriptが扱いにくい

ぶっちゃけJSの仕様も汚い
同じ汚いなら使いやすい方が良い
0869デフォルトの名無しさん (ワッチョイ 3de9-7T4N)
垢版 |
2017/11/06(月) 20:16:13.56ID:HXs9Xdf90
車輪の再発明をするな=「手を抜くこと」と勘違いしてるアホっているよな

Wikipediaにすら
> プログラマもしばしばその技術を深く理解して自身の技術を向上させるために敢えて「車輪の再発明」をすることもある
と書かれているのになぁ…

これじゃPHPer()と揶揄されるのも仕方ないわw
0870デフォルトの名無しさん (ワッチョイ 3de9-7T4N)
垢版 |
2017/11/06(月) 20:23:03.01ID:HXs9Xdf90
>>863
PHPは短時間で「とりあえず動きゃいい」って感じで書くのには良い言語だが
「正しく」書こうとすると、他言語の経験がないとかなり難易度が高い

例えばGETリクエストの値の取り方
例えばPDOでのDB接続
例えば正規表現
挙げればきりがないが、まともなコード載せてるページなんかほとんどないよ

知識がないと、うんこの海から金塊を探し出すぐらい難しい
0871デフォルトの名無しさん (ワッチョイ 3de9-7T4N)
垢版 |
2017/11/06(月) 20:35:09.12ID:HXs9Xdf90
ちなみに正規表現界隈では、PHP使いはもう正規表現をblogに書くな
なんて何年も前に言われてたし
今でもPHP使いが載せてる正規表現はレベルが低すぎて話にならない
とよく言われる

まぁでも「正しく」書く必要がないケースなら
結果を最短で出せる事もよくあるから書けたら便利よ

例えば手元でちゃちゃっとスクレイピング処理したい時とかね
下手すりゃ他言語の重いIDE起動してる時間でPHPなら結果まで出せる
0873デフォルトの名無しさん (ワッチョイ c2d2-C8M1)
垢版 |
2017/11/07(火) 02:54:22.53ID:2tGtnuO50
正規表現のスクリプトは基本コピペしかしたことないわ
エラー出たらまんま知恵袋に乗っけてベストアンサーをまた再コピペ
これで一度も困ったことない
今後もずっとこれで行くつもり
0878デフォルトの名無しさん (ワッチョイ 3dc9-euBz)
垢版 |
2017/11/07(火) 15:38:49.25ID:JdOQp9jh0
>>864 は、せめて自分が有能になってから発言すべきだったな。
0880デフォルトの名無しさん (ワッチョイ 41e4-cXHZ)
垢版 |
2017/11/07(火) 17:55:39.61ID:lL2IWG1w0
スマホアプリから始めてる最近の連中には1つの言語でいいから楽かもしれないけど
Javaは時間的な開発コストがかかりすぎ
PHPがいいかといったらPythonとかと比べちゃうと良くないけども
0882デフォルトの名無しさん (ワッチョイ 99b3-7bFm)
垢版 |
2017/11/07(火) 18:36:43.37ID:/3lRCBy00
ワールドワイドウェブ←PHP。
業務システム←Java。
こういう使い分け。
作られた目的で使うのが楽。
0884デフォルトの名無しさん (ワッチョイ 49b8-cXHZ)
垢版 |
2017/11/07(火) 19:53:28.62ID:1fNnAx110
Javaはガチガチすぎて自由度がないからな
コードは長ったらしいものが出来上がるし出来れば触れたくない
自由度高すぎでなんでも配列になりがちなPHPはコード汚くなりがちだけど個人の力量次第
簡単に始められるけど素人向けにみえて全然素人向けじゃないのがPHP
PythonはPHPerが次に学ぶには最適
オブジェクトと手続きが混在した同じようなパラダイムだからとっつきやすいだろう
Goは知らね 一度やろうとして入れたらアンチウイルスソフトが反応したから諦めた
0885デフォルトの名無しさん (ワッチョイ 99b3-7bFm)
垢版 |
2017/11/07(火) 20:21:31.14ID:/3lRCBy00
同じことが出来るなら好き嫌いで選ぶのも良いのだが、JavaとPHPは明らかに対象が違う。
0886デフォルトの名無しさん (ワッチョイ 99b3-7bFm)
垢版 |
2017/11/07(火) 20:22:50.59ID:/3lRCBy00
対象による分類でいえばPythonはJavaと同じグループに属するのではないか。
0888デフォルトの名無しさん (ワッチョイ 419f-Q/5A)
垢版 |
2017/11/07(火) 23:51:12.20ID:Sa0oaD5/0
>>875
汚いコードを書く癖、だな。

というか仕様が汚いから、綺麗なコードを(上級者でも)書きにくい。
だからPHPには本質的に綺麗なコードがない。(はず。或いは他言語と比べて圧倒的に少ない)
この結果、PHPのみのPHPerは綺麗なコードを見たことがなく、何が綺麗なのか理解出来ない。
たぶんこれがPHPerが強烈に馬鹿にされる理由ではないかな。

JavaScriptの問題は局所的なので上級者なら回避出来るし、ちゃんと書けばかなり速く動く。
(実際は糞コードが蔓延しているが)
PHPの場合は上級者でも「これでどうしろと?」になってしまう。腕があっても発揮しようもない。
これが上級者が強烈にPHPを敵視する理由だろう。
逆に言えば、腕が悪くても(上級者に)置き去りにされないし、
仕様の洗練具合も「ちょっと調子に乗り始めた」中級者に成り立ての頃と合致しているから、
その辺の人達にとっては非常に心地いいはず。これが多数から支持されてる理由だろう。
人数でいえば必ず上級者<<<中級者<<<初心者だし。

例えば、Cの関数ポインタの型宣言とか、洗練されてはいるが洗練されすぎてて意味不明だ。
そこはGoでは反省して仕様としての統一性より可読性を取ったと公式に言われてる。
https://blog.golang.org/gos-declaration-syntax
従来はほぼ全ての言語が「上級者用」に出来てた。
ただ今はもう全員がプログラミングする時代だから、変わりつつあるって事だろう。
PHPはある意味「馬鹿に丁度いい頃合い」の仕様だから、人数だけで言えば支持されることになる。

とはいえ、綺麗なコードを書くことも、後からのメンテと実行性能を上げる手段でしかないから、
使い捨て主体で早くリリースすることが重要なWebの世界では必ずしも必要ではない。
それがいまだにPHPが盛んな理由だろう。
0890デフォルトの名無しさん (ワッチョイ 99b3-7bFm)
垢版 |
2017/11/08(水) 07:48:26.15ID:2qR6LDLx0
二位か。
名誉である。
0900デフォルトの名無しさん (ワッチョイ dfa6-eyXV)
垢版 |
2017/11/09(木) 01:20:29.97ID:2oYBDwYL0
webプログラマーの俺が思う、PHPの気に入らない点

関数の引数に法則性がない、せめてhaystackとneedleの順序ぐらいは統一してくれ
変数にグローバルスコープがない(いちいちオブジェクト化しないといけないのが鬱陶しい)
0911デフォルトの名無しさん (ワッチョイ dfe9-cd7v)
垢版 |
2017/11/13(月) 11:23:34.57ID:4mbmImdF0
>>902
Pythonはプログラミングを初めてやる人にはいい言語
Web向けのフレームワークもいくつかある
PHPみたいに1つの事をやるのに複数のやり方がある言語は
とっつきやすいが学習にとってはデメリットも多い

言語なんか手段に過ぎないからな
近所のコンビニへ買い物いくのにF1カーに乗るアホはおらんだろ
特定の言語にケチ付ける人ってたぶん仕事やらせたら手が遅いんだろうなって思う
0912デフォルトの名無しさん (ワッチョイ dfe9-cd7v)
垢版 |
2017/11/13(月) 11:27:09.02ID:4mbmImdF0
>>900
グローバルスコープはあるが使うわけがない
もしその理由が分からないなら相当ヤバいと思う

グローバルスコープ汚染しまくる言語って大昔のperlや
アホの書いたJavaScriptのイメージが強いが
どの言語出身?
0914デフォルトの名無しさん (アウアウエー Sa0a-RjUU)
垢版 |
2017/11/16(木) 20:26:54.97ID:daoo5ECaa
久しぶりに紀伊國屋に行ったら
PHPとPythonの本棚におけるシェアが増えて、Rubyが減っていました
PHPの場所は一時はかなり減っていましたが、大分盛り返した様子です
Pythonの流行はあきらかに機械学習の興隆と連動しています
ウェブではまだまだPHPが存在感を発揮していくのでしょうか?
0916デフォルトの名無しさん (アウアウエー Sa0a-RjUU)
垢版 |
2017/11/16(木) 22:59:14.51ID:daoo5ECaa
Pythonもしていますが、定数がなかったり、
オブジェクトのメソッドの第一引数がオブジェクト自身だったりと
いまいちモダンじゃないですよね
PHPは節操なく流行りを取り入れる姿勢なので、
モダン性が保たれているところはありますね
0927デフォルトの名無しさん (アウアウエー Sa0a-RjUU)
垢版 |
2017/11/17(金) 13:10:05.05ID:lGyDcZb2a
PHP以外の言語は、ある機能を使いたかった時に
この関数が含まれているパッケージは〜とか、
いちいち調べなきゃいけないのが面倒くさいと思っていましたが
パッケージをクラス、関数をメソッドくらいの感覚で考えたら
そんなに面倒くさくないと気づきました
0928デフォルトの名無しさん (ワッチョイ d1b7-dUYE)
垢版 |
2017/11/17(金) 14:52:01.73ID:jmNY7gbT0
PHPは自分さえしっかりしてれば(スキルがあれば)エレガントに安全に書ける言語だと思うよ
だから個人でWebやる場合、そういう自信があるなら有力な選択肢だと思う

ただ仕事などチームでやる場合、糞コード生産しそうな奴がまじってるとPHPは
選択したくないかも(必ずいる)
0929デフォルトの名無しさん (ワッチョイ 1dc9-IKRN)
垢版 |
2017/11/18(土) 14:42:47.14ID:2G8xzSWu0
PHPは書くと楽な言語であって、読むのは最悪。他人が絡むから。
0932デフォルトの名無しさん (ワッチョイ 6ee8-LGLT)
垢版 |
2017/11/18(土) 23:59:16.26ID:AvOAupbn0
年収500万でPHPのソースレビュー要員募集してるところもあるくらい
規約は徹底したほうがいい
規模でかいなら尚更
0935デフォルトの名無しさん (ワッチョイ 1dc9-IKRN)
垢版 |
2017/11/20(月) 00:27:23.79ID:izNCqxH/0
どっちゃもいけるC++やPHPみたいな言語が、適材適所で使えて超便利。
0936デフォルトの名無しさん (アウーイモ MM05-/KPb)
垢版 |
2017/11/20(月) 09:21:45.62ID:5CA8WQiUM
AWS Lambdaでネイティブサポートする言語に
PHPが入っていないのって何故でしょうか?

GoとRubyは次にサポートする言語の投票対象になってましたが
PHPは入ってませんでした
0940デフォルトの名無しさん (アウアウカー Sa49-DesR)
垢版 |
2017/11/20(月) 17:53:01.40ID:jMZlCBbia
・むやみやたらに変数に再代入しなくなる
・参照透過性や副作用に気をつけるようになる
・小さな汎用関数を組み合わせて目的の処理を作り上げるのが楽しい
・汎用とまでは言わなくとも関数内で無名関数作って処理分離させるのが楽しい
・楽しいだけじゃなくそれぞれが細かく独立してるので保守しやすい
・宣言的に書けるため見通しがスッキリする
・大抵の場合で関数呼び出しのオーバーヘッドを気にする必要がないことに気づく
・いまいち使い道のわからなかったarray_map, array_filter, array_reduceあたりを息を吐くように使うようになる
・ただし大量の配列をmapしてfilterしてってやるのは遅延評価じゃないPHPではオススメしない
0941デフォルトの名無しさん (ワッチョイ 915d-8CrJ)
垢版 |
2017/11/20(月) 18:22:48.01ID:QCK988O10
手続き型より関数型に寄ってる言語は触った程度しか経験ないけど, 関数型のメリットは型システムとの関わりが強いことだと思ってる
この辺は上の宣言的に書けるとかその辺か

型無しラムダ?知らんな

あとPHPは型システムが極めて貧弱貧弱ゥなのがアレ
0942デフォルトの名無しさん (ワッチョイ cd5f-RJRh)
垢版 |
2017/11/20(月) 23:43:49.46ID:Qkk3FtfL0
業務中に少し行き詰ったので質問。サーバーPCの環境はwin32でPHP5.6、XAMPP上で動いてる
これを同一ネットワーク内の別PCでアクセスして、サーバーPC上のファイルをデスクトップ上に受け取りたい

単純にcopy関数を使っただけだと、access deniedで怒られたので、サーバーPC上のディレクトリに権限を
与えてみたが、これも駄目

php.iniのallow_file_uploadedなんかはすべてonにしてるだけど、どうやったらアクセス制限で弾かれずに
複写できる?
0944デフォルトの名無しさん (ワッチョイ cd5f-RJRh)
垢版 |
2017/11/20(月) 23:52:29.59ID:Qkk3FtfL0
そのファイルはxlsファイルで何十もある。ただ、ダウンロードするだけならheader関数で制御すればいいんだけど、
エクセルマクロをダウンロードしてから、それを一通り走査して値を代入する(図表も入ってるからPHPExcelは使えない)

流れとしては
サーバーPC上で元ファイルを複製

複製したファイルをローカル環境上に配置(Desktop/固定フォルダ/タイムスタンプ/hogehoge1.xls)

必要数を配置したら、xlsmファイルをダウンロード

xlsmファイル上のVBAマクロが動き、配置したxlsファイルに値を出力(図表が混じってるので、PHP_Excelが使えない)

こういう動きをさせたいので
0946デフォルトの名無しさん (ワッチョイ 915d-8CrJ)
垢版 |
2017/11/21(火) 00:06:48.02ID:ZEWdnSYv0
サーバ側のアプリケーションを作りたいのかクライアント側のアプリケーションを作りたいのか両方なのか
更にクライアント側でVBAを動かす処理系はどうするのか(Excel起動するの?)とか
0947デフォルトの名無しさん (アウアウエー Sa0a-RjUU)
垢版 |
2017/11/21(火) 00:36:29.65ID:nHtR4tFla
>>936
PHPは他言語の機能を積極的にパクってきましたが
PHPが他言語にパクられた機能というのは、特に思い当たりません
そういうところで軽視されがちなのは、
そんなPHPのオリジナリティのなさが原因ではないかと思います
0948デフォルトの名無しさん (ワッチョイ cd5f-RJRh)
垢版 |
2017/11/21(火) 00:41:02.65ID:tVCufCc10
当初ローカル環境だけで作ってたから、いざサーバーに載せ替えたときに、クライアント側で
ファイルの複製ができなくなったって所。ローカルだけだとPHPもVBAもちゃんと動いてたんだけど

Excelはクライアント側で起動させる
0949デフォルトの名無しさん (ワッチョイ 915d-8CrJ)
垢版 |
2017/11/22(水) 01:17:28.95ID:wJEVnqEH0
サーバサイドのコードもクライアントサイドのコードも書いて, どっちもローカルの環境では動いたけど
サーバサイドのコードを実環境にデプロイしたらサーバサイドのコードは正しく動くけどクライアントサイドのコードは正しく動かなかったってこと?
0950デフォルトの名無しさん (ワッチョイ 82d2-570e)
垢版 |
2017/11/22(水) 03:13:02.56ID:X0CV9K0Z0
禅問答か
0954デフォルトの名無しさん (ワッチョイ a22e-/KPb)
垢版 |
2017/11/22(水) 23:04:57.76ID:12pr/mHg0
うちの会社でもDockerやらAWSのサービス使って
Blue-Greenデプロイとかしたいけど
まだ手が出せてない
なんか難しそうだし

ローカルのPHP開発環境としてならDockerは使ってるんだが
0956デフォルトの名無しさん (ワッチョイ 079f-5mWG)
垢版 |
2017/11/24(金) 19:41:14.05ID:DaQyC7B30
質問です。
最新版のSQLiteを試してみたいのですが、やり方を知っている人は居ますか?

環境はPHP7.1.8+SQLite3.15.1(今年9月時点でのxampp最新版)で、
試しにSQLite3.21.0のDLLを公式からDLして差し替えてみましたが動作しませんでした。


他詳細を知りたければ以下で。
http://mevius.2ch.net/test/read.cgi/db/1345121656/646
0959デフォルトの名無しさん (ワッチョイ 079f-5mWG)
垢版 |
2017/11/24(金) 21:52:04.12ID:DaQyC7B30
>>957
いや、出来ない前提。というかしたくない。
自分でしないと駄目なのか?ググッたらそのまま使えるみたいな人も居たんだが。
https://www.dbonline.jp/sqliteinstall/install/index3.html
なおSystem32に置いても駄目でした。
ちなみにxampp on Windowsね。(すまんこれを言い忘れていた、重要だったかも?)
ビルドするにしてもどうせVCだし、同じバイナリが出来るはずだから意味無いと思っている。


>>958
勉強用だけどAGPLv3でリリースするよ。それなりに動く物を作るつもり。
プログラミング初心者ではないから。
xamppってまずい?一番簡単だったからこれにしたが、
(というか最初はこれくらい簡単でないと無理)
今ならvirtualBoxとかに鞍替えできるけど、そっちの方がいい?

まあそもそもSQLiteのATTACHが異常に遅いのが問題で、
それが無ければ旧版で(つまりxamppで)問題なかったんだけどね。
0960デフォルトの名無しさん (ワッチョイ 875d-lrN+)
垢版 |
2017/11/24(金) 21:57:17.25ID:C3/IvF2B0
XAMPP使わないからよく分からんのだけど, 同梱のphp_sqlite3.dllとかphp_pdo_sqlite3.dllのサイズを見る限りSQLite3は静的リンクされてるんじゃないのか?
ちゃんとDLLの中身見れば静的リンクされてるか動的リンクされてるかは分かるけど, 静的リンクされてるなら自分でリビルドが必要だよ
0961デフォルトの名無しさん (ワッチョイ 7f81-nM14)
垢版 |
2017/11/24(金) 21:59:01.78ID:lD80x27g0
>>959
そのサイトで「使える」と言っているのは、PHPでSQLiteの利用が出来るというだけで、
実際にSQL書いていく時はファイルオープン、ファイルクローズなどやらないと行けないはず
その辺は必要箇所を見つけて自分で直さないと行けないのではないかな?
PHPでSQLを利用するサンプルを一度移植してみると分かると思う。
0962デフォルトの名無しさん (ワッチョイ 079f-5mWG)
垢版 |
2017/11/24(金) 22:27:59.22ID:DaQyC7B30
>>960
Goみたいなキチガイじゃなければ、静的リンクなんてありえないと思うが。
また、静的リンクだったら差し替えても反応するはずが無く、そのまま3.15.1がリンクされっぱなしになるはずだが、
phpinfoで見ると消えてしまう。だから反応はしている。つまり動的リンクのはず。

サイズはほぼ同じ。
3.15.1(859,648Bytes)
3.21.0(852,754Bytes)
なお俺が使っているのは32bit版。


>>961
既に言ったが俺はプログラミング初心者ではないからその辺は分かっているし、
もう既に動かしている。
なおそのサイトは結構いいと思うよ。SQLはそこで基礎を確認した。
0965デフォルトの名無しさん (ワッチョイ 079f-5mWG)
垢版 |
2017/11/25(土) 00:49:57.60ID:hdwDPoQO0
>>964
違うぞ。てかお前動的リンクと静的リンクの違い分かってないだろ。
ソースがそこにある=パッケージ内でビルドされている、であって、動的/静的は関係ない。
自分でDLLを作るとき、プロジェクト内にソースは当然あるだろ。


こっちも調べた。DLLを直接確認したらget_module関数が無い。それでググったら以下が出た。
http://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.
> http://www.sqlite.org/releaselog/3_21_0.html
ただまあそれ以前に、ATTACHの仕方によっては遅くならないようなので、それも確認中。
0966デフォルトの名無しさん (ワッチョイ 079f-5mWG)
垢版 |
2017/11/25(土) 01:43:46.47ID:hdwDPoQO0
ちなみにバイナリはあった。
http://windows.php.net/qa/

そしてPHP7.1.12RC1のdllと差し替えたら反応はするのだがSQLite自体は3.15.1のまま。
おそらくPHP7.1系はSQLite3.15.1なのだろう。

ならばとPHP7.2.0RC6も試したが、
こちらはVC15のランタイムをインストールした際「再起動が必要」と出たが無視しているので結果は未定。
再起動無しの状態では使えない。(読みに行くがリンクできない関数があって落ちる)
0967デフォルトの名無しさん (ワッチョイ 875d-lrN+)
垢版 |
2017/11/25(土) 02:08:17.99ID:SR+igXjo0
理解してないのはお前だよ

php_sqlite3.dllやphp_pdo_sqlite.dllは実行時にPHPにロードされるいわゆるモジュールだが, こいつらとsqlite3.dllは同一じゃない
sqlite3.cのソースコードを使ってSQLiteはこれらのモジュールに「静的に」組み込まれている

sqlite3.dllならPHPから独立だろうがphp_sqlite3.dllはphp7ts.dllに依存しているからその辺で読めないんじゃないの
ちゃんとエラーログ見ればモジュール読めないってPHP Startup Error出てるだろうよ
0970デフォルトの名無しさん (ワッチョイ 079f-5mWG)
垢版 |
2017/11/25(土) 12:39:50.58ID:hdwDPoQO0
>>969
いや、virtualBoxの方がいいのか?
Unixにポーティングしたらそこで問題がー、って人も居るみたいだけど。
http://torhamzedd.halteria.com/2010/02/xamppwebvmplayer.html
まあ言っていることはごもっともなんだが。xamppで実運用する可能性は皆無だし。

なおいろいろ試した結果、ATTACHの問題というよりは特性であり、
こちらのプログラムで改善/回避できそうな雰囲気なので、環境が悪いわけではなさそうだ。
まだ詳細を詰め切れていないが。
0974デフォルトの名無しさん (ワッチョイ 875d-lrN+)
垢版 |
2017/11/27(月) 17:21:44.79ID:hfMnpxmx0
>>968
痛々しいわ

SQLite関数を使う上での依存関係は

PHPコア -> php_sqlite3モジュール -> SQLite3ライブラリ

なんだから,

PHPコア -> php_sqlite3モジュール : 実行時にphp.iniの設定を見てロード
php_sqlite3モジュール -> SQLite3ライブラリ : php_sqlite3モジュールのビルド時に静的に組み込み

で何も矛盾してない
最初から最後までSQLite3ライブラリの最新版を使いたいなら「php_sqlite3モジュールを新しいSQLite3ライブラリを使って再ビルドしろ」が結論
0975デフォルトの名無しさん (ワッチョイ 079f-5mWG)
垢版 |
2017/11/27(月) 19:07:02.53ID:pbeBNwkp0
>>973
3.21.0で追加された、transaction内でのATTACH/DETACHがあれば、
http://mevius.2ch.net/test/read.cgi/db/1345121656/663
に書いたtempの手法が使えるようになる。
ただ、今は、それ以前に、file_put_contentsでarchive用のjsonファイルを静的に作成する方法を試している。
速度は10倍ほど出ている。(DBに書くと40-60msかかるが、ファイルなら3-4ms)

今は本当にこれでいけるか、こちらに一本化すべきかを考えているところ。
(archiveは動的側面が全くないはずなのでいけるはずだが、運用上問題がないか?)


>>974
> 痛々しいわ
お前がな。最近この手の馬鹿は増えたが。
まあ永久に無知なままでいろ。
0977デフォルトの名無しさん (ワッチョイ 6323-nSRQ)
垢版 |
2017/12/14(木) 18:31:35.65ID:O42iwrkx0
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は諦める場合、エラーを検出したいのですがどうやったら良いでしょうか?
0978デフォルトの名無しさん (ワッチョイ 6323-nSRQ)
垢版 |
2017/12/14(木) 18:54:42.13ID:O42iwrkx0
なんか分かった気がします。
prepare? execute? がエラーを throw していたのですが、
それらをコールしている関数の外で try catch していたので、そこまで到達していなかったようです。
php.ini の設定なんですかね?
とりあえず自己解決しました。
ありがとうございました。
0979デフォルトの名無しさん (オイコラミネオ MM6e-JaCD)
垢版 |
2017/12/14(木) 21:55:30.52ID:c3uOfk7qM
解決したからいいけど、XAMPP環境での開発はお勧めできん
WindowsでもMacでもDocker使うなり仮想つかうなりで、
本番環境とほぼ同じ状態で開発しないと
PHPのバージョンや組み込まれてるライブラリ、php.iniもすべて合わせれば
そんなエラーで時間潰すこともまずなかろう
0980デフォルトの名無しさん (オイコラミネオ MMb3-35vn)
垢版 |
2017/12/14(木) 23:08:01.53ID:kcFY4zVmM
phpのフレームワークにララベル使おうかと思ってるんだけど、なんか他に良いフレームワークってあるの?
0982デフォルトの名無しさん (ワッチョイ 53c9-BImy)
垢版 |
2017/12/17(日) 12:52:10.72ID:hlhRQlj10
>>979

XAMPP全く関係ないじゃん。ヴァカなの?
0984デフォルトの名無しさん (アウアウウー Sac3-mLIQ)
垢版 |
2017/12/19(火) 10:43:30.09ID:lVjWNMP2a
Win10のコマンドラインからPHPを実行してUTF-8の文字列を表示すると
文字化けせずに表示されました
Win7以前はSJISに変換してから表示しないと化けたはずです
Win10のコマンドラインのエンコードはUTF-8になったのでしょうか?
だとすれば、コマンドライン=SJIS、を前提にして書かれたコードは
問題が出てきますよね
現に出ているから調べ始めたのですが・・
0989デフォルトの名無しさん (アウアウウー Sac3-mLIQ)
垢版 |
2017/12/20(水) 13:31:42.83ID:Wkwa3Cn2a
自分もXAMPPを使っているのですが
MySQLのデフォルトがInnoDBになっていたのでそのまま使っていたのですが、
データベースが壊れました
innodb_force_recoveryオプションを使って修復してもまたすぐ壊れます
MyISAMの時はmyisamchkにかければそれで直っていたのに。
InnoDBは同時アクセス対策の機能が豊富ですが
同時アクセスがさほど想定されない場合は
シンプルで堅牢なMyISAMを使うべきなのでしょうか?
0992デフォルトの名無しさん (ワッチョイ 6323-uT7k)
垢版 |
2017/12/20(水) 14:51:09.36ID:Xzv3JYGc0
InnoDBが壊れるってそうそう起きないだろ
ロック云々の人為的ミスで壊れるなんて今はまずないと思うけど
そのXAMPPのMySQLのバージョンいくつか知らんが、
5.1とか使ってるなら5.7に上げるのがいいと思うが
MyISAMにするってのはかなりズレてると思うよ
0993デフォルトの名無しさん (ワッチョイ ef5d-mLIQ)
垢版 |
2017/12/20(水) 15:34:56.61ID:8R4SVzVb0
>>3の修正案

関連リンク
■PHPマニュアル    http://www.php.net/manual/ja/
■日本PHPユーザ会  http://www.php.gr.jp/
■PHPNG        https://wiki.php.net/phpng
■メーリングリスト   http://ml.php.gr.jp/mailman/listinfo/

(以下英語)
■公式リポジトリ http://git.php.net/
■PHP-RFC https://wiki.php.net/rfc
■PECL http://pecl.php.net/
■Composer https://getcomposer.org/
■Packagist https://packagist.org/
■Zend Tech. Ltd. http://www.zend.com/

フレームワーク(一部)
■Zend Framework  https://framework.zend.com/
■Symfony   https://symfony.com/
■Laravel https://laravel.com/
■CodeIgniter https://codeigniter.com/
■Yii http://www.yiiframework.com/
■FuelPHP https://fuelphp.com/
■CakePHP https://cakephp.org/

テンプレートエンジン(一部)
■Twig https://twig.symfony.com/
■Blade https://laravel.com/docs/5.1/blade
0994デフォルトの名無しさん (ワッチョイ ef5d-mLIQ)
垢版 |
2017/12/20(水) 15:38:27.23ID:8R4SVzVb0
>>993 >>3
スペース直した

関連リンク
■PHPマニュアル    http://www.php.net/manual/ja/
■日本PHPユーザ会  http://www.php.gr.jp/
■PHPNG        https://wiki.php.net/phpng
■メーリングリスト   http://ml.php.gr.jp/mailman/listinfo/

(以下英語)
■公式リポジトリ     http://git.php.net/
■PHP-RFC       https://wiki.php.net/rfc
■PECL          http://pecl.php.net/
■Composer       https://getcomposer.org/
■Packagist        https://packagist.org/
■Zend Tech. Ltd.    http://www.zend.com/

フレームワーク(一部)
■Zend Framework   https://framework.zend.com/
■Symfony        https://symfony.com/
■Laravel         https://laravel.com/
■CodeIgniter       https://codeigniter.com/
■Yii            http://www.yiiframework.com/
■FuelPHP        https://fuelphp.com/
■CakePHP        https://cakephp.org/

テンプレートエンジン(一部)
■Twig           https://twig.symfony.com/
■Blade          https://laravel.com/docs/5.1/blade
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 280日 17時間 59分 33秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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