17/07/04 17:01:51.07 jjyWg722H.net
>>425
そのやり方だと、ターミナル閉じたら終わっちゃう環境もあるよ
437:415 (ワッチョイ 6d6c-vtNh)
17/07/04 17:32:02.24 1MjQBQYF0.net
>>426
ありがとうございます。
調べてみます。
>>427
マジですか。。。
ターミナル閉じて終わらないか確認しておきます。
幸いターミナルを起動するPCは1つだけなので、それで終わらなければ、、、
良い、、、ですよね、、、
438:デフォルトの名無しさん (ワッチョイ 6d6c-OatX)
17/07/04 17:39:59.80 Ij02Usie0.net
>>428
tty 切り離し でぐくれば色々出てくるかと
落としたくないならちゃんとデーモン化しないとダメだね
Supervisorもそのためのものです
screenとか使って手抜きの方法もあるけど
439:415 (ワッチョイ 6d6c-vtNh)
17/07/04 17:44:00.65 1MjQBQYF0.net
>>429
ありがとうございます。
Supervisorでデーモン化を頑張ってみます。
私鯖管じゃないんですけどね。
(なぜココまでやる必要があるのだろうか。。。これPHPerの仕事ですかね?)
440:デフォルトの名無しさん (JP 0H16-CicO)
17/07/04 18:22:31.77 jjyWg722H.net
>>430
起動するコマンドラインを
nohup php hogehoge.php --pidfile=/var/run/hogehoge.pid &
とすれば大丈夫。
大抵のプロセスはHUPシグナルを受け取ると終了しちゃうんだけど、ターミナルを閉じるときに
バックグラウンドジョブにHUPシグナルを送るかどうかは、ログインシェルの設定による。
システムのデフォルトで送るか送らないかは決まってるけど、個々人で設定もできる。
詳しい話は、こことか参照。
「技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他)」
URLリンク(www.glamenv-septzen.net)
441:デフォルトの名無しさん (ドコグロ MMe1-rRjJ)
17/07/05 14:32:35.13 54CdfmVIM.net
この言語なんなん?
explodeとか命名センスが意味不明
442:415 (ワッチョイ 6d6c-vtNh)
17/07/05 19:15:50.84 3RASZjRP0.net
>>431
ありがとうございます。
調べてみます。
443:デフォルトの名無しさん (ワッチョイ ffb1-KuRC)
17/07/07 21:30:48.34 gJwEGw/+0.net
「implodeは配列を内部で破裂させてバラバラにする感じ」
↑わかる
「逆の処理も作ったし対義語のexplodeって名前にしたろ!」
↑アホなの?
444:デフォルトの名無しさん (ワッチョイ 172b-rvkC)
17/07/07 22:38:42.30 x02w4L3o0.net
>>434
頭大丈夫?
445:デフォルトの名無しさん (ワッチョイ 77c2-1B52)
17/07/10 13:42:32.90 d1/L8Z5+0.net
他言語だとsplitで正規表現も使えるのが多いわな
PHPの場合
perlの動作と同じ正規表現対応のsplit()もあったけど、5の途中から非推奨で7で削除
正規表現を使うならpreg_split()で使わないならexplode()
他言語でexplodeというのは、少なくとも俺は聞いた事がない
他言語を使う人なら、ここら辺がPHPのイケてないところというか「何か気持ち悪い」というのは分からなくもない
446:デフォルトの名無しさん (アウアウカー Sa2b-L5XL)
17/07/10 14:08:35.69 XWLrQ2QUa.net
>>436
splitはバイナリセーフじゃないしPOSIX拡張正規表現相当じゃなかった?
447:デフォルトの名無しさん (ワッチョイ 77c2-1B52)
17/07/10 14:57:50.74 d1/L8Z5+0.net
>>437
PHPのsplit()はそうだね(正規表現でいうとereg()系)
だから非推奨→削除となった
448:デフォルトの名無しさん (スプッッ Sd3f-AoV0)
17/07/10 17:26:55.18 L6zA5hfHd.net
cakephpを入れました。
php -i grep intl ってやるとずらずら出てくるのですがこれってなんですか?
phpのバージョンは7.0です。
grep.phpを実行してるってことですか?
449:デフォルトの名無しさん (スプッッ Sd3f-AoV0)
17/07/10 17:30:53.25 L6zA5hfHd.net
php -r 'phpinfo();'て書いた時とおんなじ文字が流れてきます。
intlってなんなんだ
450:デフォルトの名無しさん (スプッッ Sd3f-AoV0)
17/07/10 17:32:40.21 L6zA5hfHd.net
どういうことかわかりました。
php -iでphpinfo()の中身が出るんですね。ほげー
451:デフォルトの名無しさん (オイコラミネオ MM4f-cxsd)
17/07/10 22:06:55.26 aPcSY6kVM.net
grepは便利だから覚えとくといいよ
452:デフォルトの名無しさん (ワッチョイ f72d-rE3N)
17/07/10 22:11:41.31 eOXntHhA0.net
g/re/p
453:デフォルトの名無しさん (ワッチョイ f791-KuRC)
17/07/11 10:58:05.61 9WLXDmTn0.net
お願いします。
以前、どこかのスレで、
「xamppを使ってPHPの開発してるなんて素人だけ。プロは使わない」
というレスを見ました。
xamppの何がいけないんでしょうか?
xamppでは開発できないことってあるんですか?
454:デフォルトの名無しさん (ワッチョイ f76c-cxsd)
17/07/11 11:43:10.26 oWge628W0.net
自分が使いやすいのを使えば良い
いちいち人の意見に流されるな
ただ、XAMPPの環境はかなり独自だから、使い方をを誤ると失敗することもある
ある程度の人数で共同開発する場合は、環境の差異をできるだけ少なくすることが大事で、
そういう意味ではXAMPPが向かないのも事実
Dockerとか使えて色々な環境に合わせられる人の方が重宝されると思う
455:デフォルトの名無しさん (ワッチョイ 77c2-1B52)
17/07/11 11:43:40.90 /I8grlwO0.net
どこのプロかは知らないけど普通にxampp+PhpStormで開発してるし
たぶんそこらのプロよりは今まで稼いできたと思う
「何で」作るかなんかどうでもいいんだよ
大事なのは「何を」作るか
そこんところ勘違いしてる自己満が多すぎるのがこの世界
456:デフォルトの名無しさん (ワッチョイ d7e3-A4lm)
17/07/11 11:53:22.03 1hL73PK30.net
素人でもプロでもXAMPPは使う価値は低いだろ。
PHP自体、単体動作するし、HTMLサーバーが必要なら実運用と同環境にすればいいし。
457:デフォルトの名無しさん (ワッチョイ d7e3-A4lm)
17/07/11 12:01:38.00 1hL73PK30.net
大抵のエディタなら、編集中のPHPファイルを保存して
PHPへコマンドライン渡すのをボタン一つに割り当てられるし、
初心者がわざわざ手間のかかる、複雑なXAMPPを導入する必要はないかと。
出力をテキスト出力したければteeとかいうlinuxコマンドつかえばいい。
458:デフォルトの名無しさん (JP 0H4f-rvkC)
17/07/11 13:25:40.02 eDZ2eR9HH.net
xamppを使ってると、いつまでたってもプロビジョニングのスキルが付かないという問題はある
459:デフォルトの名無しさん (ワッチョイ 172b-rvkC)
17/07/11 14:14:23.17 17VXZGZl0.net
使うことを否定はしないけど, あえて使う理由は全くない, という認識だなぁ
初心者がXAMPP使うって言ったらPHPビルトインサーバじゃダメなの?って必ず聞く程度には
460:デフォルトの名無しさん (ワッチョイ fc6c-Xm5V)
17/07/14 18:54:08.74 JfSdowtd0.net
phpにdefineを書いて、そのphpをrequireで読み込むのと、
DBからselectして読み込むのと、どちらが早いのでしょうか?
環境はphp7.0です。
461:デフォルトの名無しさん (アウアウカー Sa11-keXt)
17/07/14 18:56:12.40 jnI4lmfma.net
後者が速い道理がないと思うが
462:デフォルトの名無しさん (ワッチョイ aef3-sRAo)
17/07/14 19:11:27.17 HO8OiFgU0.net
ちょとしたマスターはphpで配列で記述するな。いちいちデータベースにテーブル作るのが面倒臭いし
463:デフォルトの名無しさん (ワッチョイ 0f2c-oLxb)
17/07/17 14:15:03.61 skPTPWAp0.net
[NEET@]$ sudo pecl upgrade --force
pear.php.net is using a unsupported protocol - This should never happen.
PEAR Version: 1.10.1
PHP Version: 7.0.18-0ubuntu0.16.04.1
Zend Engine Version: 3.0.0
bosukete
464:デフォルトの名無しさん (ワッチョイ e168-S4qQ)
17/07/17 22:44:40.32 JiDb02xz0.net
(*´ω`*)敗北獣クヤシタン達が使う単語は「キチガイ」
(*´ω`*)むぅは基地外基地外連呼されている未来が見えるむぅ
(*´ω`*)語彙力に乏しいチンパン達むぅ
(*´ω`*)予想できてしまうむぅ
465:デフォルトの名無しさん (ワッチョイ e168-S4qQ)
17/07/17 22:46:08.35 JiDb02xz0.net
(*´ω`*)だだだだだだれもむぅの相手してねーし!俺は放置してたし!
(*´ω`*)これも簡単に予測できてしまうむぅ
(*´ω`*)悲しいまでにむぅの予測の範囲内の行動と言動むぅ
(*´ω`*)いつまでもむぅには勝てないむぅ
466:デフォルトの名無しさん (スプッッ Sd9e-6y5b)
17/07/18 01:48:33.36 C9WrI85dd.net
>>456
tasukete
467:デフォルトの名無しさん (ワッチョイ a72e-wRDQ)
17/07/19 10:50:46.59 /cP3Nfpt0.net
OPCache Control Panelで項目値を見ると、
Num Cached Scripts、Num Cached Keys、Misses
これらが全部1,000越えで同じ数値です。
これはMissesということは悪いことなんですよね?
これはどの項目を調整するのでしょうか?
468:デフォルトの名無しさん (ワッチョイ a72c-sZOJ)
17/07/20 18:55:16.33.net
Downloader.php kara error message otteru
bosukete;;
469: (ワッチョイ a7db-HOSA)
17/07/21 12:38:52.89.net
>>459
syoboiyo, masarusan
470:デフォルトの名無しさん (ワッチョイ a72c-sZOJ)
17/07/21 15:55:04.27 A3+KSiPv0.net
犯人をついに突き止めたお。やっぴょんやっぴょん
471:デフォルトの名無しさん (ワッチョイ a72c-sZOJ)
17/07/21 16:58:17.71 A3+KSiPv0.net
バージョン1個違うだけで変なエラー起きるとか怖すぎる
しかもグーグルにも載って中田
472:デフォルトの名無しさん (ワッチョイ 673a-QK4i)
17/07/24 09:41:11.23 ec5+WQ9L0.net
じゃ、グーグルに載せといて
473:デフォルトの名無しさん (スプッッ Sddb-twOH)
17/07/24 12:15:14.49 L9kPqg7Vd.net
xmlの読み込みモジュールとchannel見比べてるとわかるお
474:デフォルトの名無しさん (ワッチョイ a72c-sZOJ)
17/07/24 13:59:06.94 12EOQT380.net
まぁ困ってない奴にはどうでもいいエラーだし変にスレで騒いですまんかったお
rom
475:デフォルトの名無しさん (ワッチョイ 2768-QK4i)
17/07/25 20:58:38.97 kCK3fogD0.net
(*´ω`*)今月からお給料が上がって幸せむぅ
(*´ω`*)>>1000なら母港拡張に書類一式を購入してを由良改二に渡して幸せにするむぅ
476: (ワッチョイ 7bdb-dA36)
17/07/27 19:35:33.46 Csut7k2B0.net
教えてください。
以下のような多次元配列で、
[result]-[name]のWIN値をカウントしたい
(もしくはこのKeyに入ってる値それぞれカウント)のですが、
いい方法ありますでしょうか。
array_count_valuesかなと思いましたが、
多次元だとKeyの指定がよくわからず詰まっています。
よろしくお願いします。
Array(
[0] => Array(
[time] => 1500819445
[num] => 148
[result] => Array(
[hoge] => PERFECT
[name] => WIN
)
)
[1] => Array(
…
)
477:デフォルトの名無しさん (アウアウカー Safb-DM25)
17/07/27 20:05:23.44 sZy4zkwKa.net
>>467
いまいち何がしたいのかわからんけど、array[i]['result']['name']に'WIN'という文字列が入っている要素の個数を知りたいってこと?
478: (ワッチョイ 7bdb-dA36)
17/07/27 20:24:38.68 Csut7k2B0.net
>>468
そうですね、要は勝利(敗北)数と勝率を出したいです。
479:デフォルトの名無しさん (ワッチョイ bef3-V1Wy)
17/07/27 21:08:37.22 XkpzjwEU0.net
URLリンク(ideone.com)
自分ならこんな感じにするでえ
480:デフォルトの名無しさん (ワッチョイ bef3-V1Wy)
17/07/27 21:13:57.44 XkpzjwEU0.net
ERRORになった部分は除外したけど無効試合とするのもありやな
481: (ワッチョイ 7bdb-dA36)
17/07/28 11:38:43.28 QA+Om+Ws0.net
>>470
おお、勉強になります。
自分の方でも調べましたが、
array_count_values自体は指定したキーを
再帰的になめてカウントしてくれるような機能じゃないみたいですね…勘違いしてました。
やはり配列ループの中で条件判定が良さそうですね。
ご教授のコードは汎用性が高そうなので、
検証してベースにしてみます。
ありがとうございました!
482:デフォルトの名無しさん
17/08/04 04:22:27.98 ZjmB654k0.net
質問です
jcode.phpを使っているRSSリーダーが突然読み込まなくなりました
まさかとは思いますが、配布元のURLリンク(www.spencernetwork.org)が死んでると使えないのでしょうか?
483:デフォルトの名無しさん
17/08/04 13:33:36.78 xSyituw+M.net
ソースコード読んで怪しいところ探してみなよ
484:デフォルトの名無しさん
17/08/04 20:43:08.37 PWtrz3SN0.net
質問です。
特定のアドレスに届いたメールを転送するさい、MLのように転送するスクリプトを書いています。
配信されるユーザのメアド: A
MLのメアド: B
実際に配信されるメールの中を
To: B
としたいのですが、テストをしてみると
To: A, B
となってしまいます。解決策はありますでしょうか?
以下、コードです。
$headers .= "To: " . $B . "\n";
$headers .= "Reply-To: " . $B . "\n";
mail($A, $subject, $body, $headers);
485:デフォルトの名無しさん
17/08/09 20:55:24.38 pAntvA3G0.net
>>475
初心者の俺にソースコード全部見せてみな
486:デフォルトの名無しさん
17/08/10 00:02:22.23 VfqLhNcf0.net
SMTPレイヤでRCPT TOヘッダで宛先指定すればよい
が, そもそもmail関数, というかバックエンドのsendmailコマンドでSMTPレイヤの操作って出来るのか?
リレーが設定されてなければ単にメールヘッダのToをSMTPのRCPT TOヘッダにコピーしているだけじゃなかろうか
まぁfsocketとかでSMTPサーバと会話すればいけるんじゃなかろうか
487:デフォルトの名無しさん
17/08/10 00:30:25.23 ukk4ErN50.net
>>475
$header に "To~"を入れずに、
mail($B,~ってやってみたら?
488:デフォルトの名無しさん
17/08/10 19:53:21.78 LQiYfoLSp.net
教えてください
入力フォーム→確認画面→完了画面、という流れがあったとき、
それぞれの画面をそれぞれ1ファイルで作るのは普通なんでしょうか。
たとえば、
input.php、chech.php、kanryo.php みたいな。
間に、修正画面 edit.phpが入ったりします。
自分のイメージだと、同一ファイル内(たとえばform.php)でPOSTとかsubmitされてきたフラグか何かで画面切り替えるように作るのがいいと思っているのですが、
ファイルを分ける方が一般的なのでしょうか。
489:デフォルトの名無しさん
17/08/10 20:01:27.03 VfqLhNcf0.net
フレームワーク使ってるならリクエストの振り分けはrouterの仕事
PHP側をREST APIとかにしてしまうならUI側はJavaScriptの管轄
全部スクラッチからやるなら好きにすればよい
490:デフォルトの名無しさん
17/08/10 20:38:23.52 LT6YffV+0.net
何が普通かは色々だが、
一つのソースで全部こなしたいなら
フォームにhiddenで現在のステップを埋め込み
その値をみてphp側の表示や処理を切り替えれば
491:デフォルトの名無しさん
17/08/11 16:26:25.43 cXbjkXwe0.net
>>480-481
どっちも質問の答えになってないw
質問に答えず、自分のいいたいことばっか言ってる。
こういうのがマの悪いとこだね。
492:デフォルトの名無しさん
17/08/11 18:05:30.47 IvoVUaP30.net
まずは好きに作ってみろ
答えなどないのだから
余裕ができたら他人のプログラム見ると
493:かしてみればいい
494:デフォルトの名無しさん
17/08/11 18:22:23.78 cXbjkXwe0.net
>>483
だからそれは質問の答えじゃない。
てか、なんでそんなに上から目線なの?
495:デフォルトの名無しさん
17/08/11 18:46:14.61 KjR7l4H4M.net
>>483
じゃ、お前が答えろよ
一番偉そうにしてるのもお前だし
お前みたいな口だけ番長が一番たちが悪い
496:デフォルトの名無しさん
17/08/11 19:57:59.57 cXbjkXwe0.net
ネット弁慶多すぎw
なんですぐ「~しろ」と偉そうな口調になるんだろう。
もういいや、俺が答えちゃおう。
はっきり言うと、どちらが一般的かはわからない。
すべての開発者にアンケート取って聞いたわけでもないし、
世界中に転がってる入力フォームのソース調べて集計とったわけでもないから。
でも、どちらがより合理的かといえば、1ファイルで完結させる方。
たぶん質問者はフレームワークを使わずオブジェクト指向で書いてもいないみたいなので、
1ファイル完結の方が手間は少ないはず。
画面部分にしてもロジック部分にしても同じようなこと何度もやることになる。
だから、単純なphpで書く場合、ファイルわけちゃうと面倒なんだよね。
でもまあ、こんなこと考えるくらいならフレームワーク使った方が早いよ。
無駄なこと考えなくてよくなる。
497:デフォルトの名無しさん
17/08/12 11:35:16.93 A4v2+zpKH.net
>>486
フレームワーク使う/使わないと、1ページで完結させる/させないは別問題
498:デフォルトの名無しさん
17/08/13 11:49:31.99 7mRWDzm30.net
>>487
別問題だからこそ、余分なこと考えなくてよくなるんだよ。
499:デフォルトの名無しさん
17/08/13 12:42:20.05 8bOINrWDH.net
>>488
> 別問題だからこそ、余分なこと考えなくてよくなるんだよ。
別問題だから、フレームワークを使う場合でも使わない場合でも、1ページで完結させるかどうかは
考えないといけないということ
500:デフォルトの名無しさん
17/08/13 13:24:12.29 7mRWDzm30.net
>>489
ちゃうちゃうw
そもそもなぜこんな質問が出たのかといえば、controllerとviewが分離できていないからでしょ。
さらにいえば、controllerとbusiness logicが分離できていないから。
そのへんがちゃんと出来ていれば、1ページ(1controller、1class、1function・・・)完結でも
そうでなくてもたいした問題じゃなくてなる。
そういう分離はフレームワークの基本設計の範囲に含まれるから、
何も考えなくても自然とできるようになるよ。
てかさ、元々の質問は「一般的かどうか」でしょ。
なぜ俺以外答えてやらないんだよ。
わからないならわからないでもいいじゃん。
それなのに偉そうに講釈たれるのはホントみっともない。
社会的にプログラマーの地位が低いのはそういうとこに原因がある。
501:デフォルトの名無しさん
17/08/13 13:32:39.79 8bOINrWDH.net
>>490
> そもそもなぜこんな質問が出たのかといえば、controllerとviewが分離できていないからでしょ。
controllerとviewが分離できているかどうかと、1ページで完結させるかどうかは別問題
> それなのに偉そうに講釈たれるのはホントみっともない。
関係ないこと垂れ流してるという自覚はないんですかね
502:デフォルトの名無しさん
17/08/13 13:39:51.33 8bOINrWDH.net
まあどうしても一般的かどうかを知りたいということであれば、
> 入力フォーム→確認画面→完了画面、という流れがあったとき、
> それぞれの画面をそれぞれ1ファイルで作るのは普通なんでしょうか。
は、もはや一般的ではないでしょうね。
さらに言えば、確認画面を挟むというやり方も古いと思うよ。
ユーザーは確認画面で確認なんかめったにしない。邪魔に思う人が大半。
503:デフォルトの名無しさん
17/08/13 13:46:06.21 8bOINrWDH.net
こんな感じでやればいいと思うよ。
・GET form.phpで入力ページ表示
・form.phpのsubmit先は自分自身
・入力内容をチェックしてエラーがあるなら、それも含めてまたform.phpを表示
・エラーがないなら、確認画面や完了画面にリダイレクト
504:デフォルトの名無しさん
17/08/13 14:22:04.36 7mRWDzm30.net
こういう過剰反応もアレだよなw
こんなんじゃ実際の仕事でも苦労しそうだね。
505:デフォルトの名無しさん
17/08/13 14:40:52.47 8bOINrWDH.net
>>480-481で十分なのに、自分の承認欲求を抑えられないお子様よりはましだと思うよ
506:デフォルトの名無しさん
17/08/13 17:10:21.18 YepLcy2FM.net
479
507:の質問 1ファイルで作るのは一般的か? どう作ればいいか聞いてない 読解力の問題ですね
508:デフォルトの名無しさん
17/08/13 17:20:01.06 dm/KZ1el0.net
A. ケースバイケースです
とか
A. 設計に依ります
とか, そんな回答求められてないと思うんだけど, 最終的には質問者が判断することでしょ
内容に明らかな誤りがあるとかなら分かるけどわざわざ突っかかる必要あったかね
509:デフォルトの名無しさん
17/08/13 17:20:34.33 8bOINrWDH.net
>>483が正しいかな
最近あちこちのスレで上から目線がどうのとか言ってる奴見かけるけど、同一人物か?
510:デフォルトの名無しさん
17/08/21 13:36:52.44 Eyk6c/J70.net
echoそのものにhtmlspecialcharsを仕込むことって可能ですか?
HTML側の出力を常に<?=$hoge?>にしたいです
今はエイリアスのh関数を作って<?=h($hoge)?>で出力しています
511:デフォルトの名無しさん
17/08/21 13:41:30.93 KruMS+wFH.net
>>499
> echoそのものにhtmlspecialcharsを仕込むことって可能ですか?
できません
512:デフォルトの名無しさん
17/08/21 13:49:34.80 e6Asz/TwM.net
>>500
了解す
あざした
513:デフォルトの名無しさん
17/08/21 21:05:28.15 qHWC5mXrM.net
フレームワークとかテンプレートエンジンとか使わんのは理由あるのかな?
514:デフォルトの名無しさん
17/08/22 09:05:09.59 FeXVI5vr0.net
PHP7.1を使っています。
$_SERVER['REQUEST_TIME_FLOAT']をvar_dumpしてみたところ
float(1503359895.526)
のように表示されました。
PHPマニュアルにはマイクロ秒単位でタイムスタンプを取得できるように
書いてありますが、これってミリ秒単位ですよね?
どういうことでしょうか。
515:503
17/08/22 10:27:34.58 FeXVI5vr0.net
なんとなく自己解釈すると、マイクロ秒単位まで出せる可能性があるけど
環境によっては精度が落ちるってことなんですかね…。
そう納得することにしました。
516:503
17/08/22 10:37:25.65 FeXVI5vr0.net
いや、まてよ、float型の有効桁数の問題かな?
517:デフォルトの名無しさん
17/08/22 10:38:14.89 +Na4Vgs50.net
>>504
自分も初心者なのでさっぱりんこだけど、paiza.ioとかcodechefのようなオンライン実行環境だと100マイクロ秒(小数点4位)までは出力されてるから、そういう事なんかなと
518:デフォルトの名無しさん
17/08/22 11:04:05.27 FeXVI5vr0.net
>>506
貴重な情報ありがとうございます。
microtime関数の場合だと、
microtime(false)で実行すると
"0.31535500 1503365783"のように小数部と整数部を分離した文字列が返るので
マイクロ秒の精度が得られますが
microtime(true)でfloat型の返り値を得ると
1503365783.3154のように精度が落ちますね
有効桁数の問題なんでしょうかね。このへんあやふやなんですが…。
519:デフォルトの名無しさん
17/08/22 12:24:32.06 JvbUbNw40.net
floatというか倍精度での有効桁数は十進数で16桁未満ですしおすし
520:503
17/08/22 12:36:42.11 FeXVI5vr0.net
Unixタイムスタンプによる表現だと、整数部がでかくなればなるほど
つまり時代が進めば進むほど、小数部の精度が悪くなるってことですかね。
昔は精度高かったのかな。
521:デフォルトの名無しさん
17/08/22 13:19:56.03 BcNwm5wtH.net
そもそも100nsの桁ですら、正しいかどうかあやしいんでないの?
522:デフォルトの名無しさん
17/08/22 13:21:31.58 BcNwm5wtH.net
というか、1us以上の部分も正しいかどうか怪しいかもね
523:デフォルトの名無しさん
17/08/22 13:23:20.25 JvbUbNw40.net
浮動小数を使うのがそもそもまともではない
で, 日本語版の訳が誤りであるというのが妥当で, 英語版では,
> If get_as_float is set to TRUE, then microtime() returns a float, which represents the current time in seconds since the Unix epoch accurate to the nearest microsecond.
とあるから, マイクロ秒単位で精度が出るとは書いてない, floatの精度内で現在のマイクロ秒時刻に最も近い値を返すと読める
524:デフォルトの名無しさん
17/08/22 19:47:15.02 j9x479W/a.net
ファイルアップロード時の上限チェックについて質問させてください
ページAでファイルをアップロードして、「次へ進む」ボタンでページBに遷移させています
このとき、アップロードしたファイルのサイズが5MB以上ならエラーメッセージを表示させ、ページBに進めないようにしたいです
今はページBに進んでから$_FILESを使い上限チェックし、超過していたらメッセージを表示しています
何かいい方法はありますか?
525:デフォルトの名無しさん
17/08/22 20:01:31.47 DD2Z1rs5a.net
>>513
クライアントサイドでやればよい
勿論B側のチェック処理は省略出来ない
526:デフォルトの名無しさん
17/08/23 14:06:56.01 uLyJ+EYn0.net
指定したサイトのサイトマップを取得したいのだが
何かいい方法はないだろうか?
単純にトップページURLの後に「/sitemap.xml」や「/sitemaps.xml」と付けるだけでは
拾えないサイトが多い
527:デフォルトの名無しさん
17/08/23 15:19:10.69 iFIz/3ujM.net
任意のサイトってこと?
だったら、サイトマップに厳格なルールなんかないし無理だろ
528:デフォルトの名無しさん
17/08/23 16:12:18.84 uLyJ+EYn0.net
やっぱり無理か…
あと思いつくのは
リンク辿ってサイトマップをつくるかくらいか
529:デフォルトの名無しさん
17/08/23 17:12:28.30 ZFc7oTWj0.net
>>517
まぁ
sitemap.xml
robots.txt
辺りは見てそこでサイトマップに関する記述があればそれを拾うというのは
「まず最低限やるべきこと」ではあるだろうな
この質問をする人がそもそもサイトマップの定義を理解しているのかという点は甚だ疑問ではあるけど
530:デフォルトの名無しさん
17/08/23 17:33:26.33 uLyJ+EYn0.net
サイトマップの定義は全然知らない
サイトマップを取得と言うよりそこに書かれているURLが欲しかった
531:デフォルトの名無しさん
17/08/23 18:08:01.30 ZFc7oTWj0.net
> サイトマップの定義は全然知らない
だろうね
特定ドメイン以下のファイルパスを全部取得したいって事じゃない?
であれば
サイトマップを使うのももちろん手ではあるけど
例えばGoogleでsite:URLで検索した結果を使うとか
他の賢い人が作った賢い機能をありがたく流用させてもらって
自分の作りたいものを作るという考え方「も」ある
リンクを辿ってURLを拾うのも
超簡単なものならPHPだと10数行ぐらいあれば書けるけど
再帰的な処理になるからサーバー側に与える負荷とかが
分かってないなら(というか分かってなさそうなので)自分ではやらない方がいい
532:デフォルトの名無しさん
17/08/23 18:46:21.93 iroQ6hXm0.net
>超簡単なものならPHPだと10数行ぐらいあれば書ける
横入り申し訳ない
再帰というのを丁度勉強してるところなのでどんな風に書けるのか教えてもらえないだろうか
533:デフォルトの名無しさん
17/08/23 18:57:26.81 ZFc7oTWj0.net
function fetchUrlList($url)
{
static $urlList = array();
if (isset($urlList[$url])) { return $urlList; }
$html = file_get_contents($url);
$urlList[$url] = '';
if (preg_match_all('/=\s*[\'\"]\s*(https?\:\/\/' . parse_url($url, PHP_URL_HOST) . '[\w\-\.\!~\*\'\(\);\/\?\:@&\=\+\$,%]+\.html?)\s*[\'\"]/i', $html, $matchs)) {
foreach ($matchs[1] as $match) {
if (!isset($urlList[$match])) {
fetchUrlList($match);
}
}
}
return $urlList;
}
5分程で超適当に書いてほとんど検証してない糞ソースでも良ければ
再帰は12行目のところね
2chの仕様上仕方なくインデントを全角空白にしてるから注意(他へソースを載せるのすら面倒w)
一度取得したURLを再取得しない程度で負荷には全く配慮してないので自己責任で
処理の流れさえ分かれば良いと思ったから、正規表現(超適当だからこれも直してw)の部分見れば分かる通り
相対パスは無視して末尾.htmか.htmlしか取ってない
相対パスまで処理する時は正規表現書き換えて相対パスをURLに変換する処理を自分で書いて
ソースより↑の説明書く方が時間かかったかもw
534:デフォルトの名無しさん
17/08/23 19:04:23.13 iroQ6hXm0.net
ありがとうございます
ほえーこの短時間ですごい
10数行ぐらいって言って本当に18行で書けてるのってもうレスを書きながら頭の中でソースができてるのかな。。。
正規表現をまだ勉強してないのでそこも勉強します
535:デフォルトの名無しさん
17/08/23 19:23:50.69 ZFc7oTWj0.net
>>523
> 10数行ぐらいって言って本当に18行で書けてるのってもうレスを書きながら頭の中でソースができてるのかな。。。
この程度の「流れだけ」なら脳内で一瞬でできるけど行数は感覚で超適当に書いただけ
実際、最初書いたソースは20行超えたのでちょっと無理やり18行にしただけw
自転車に乗るのと同じで慣れよ慣れ
たくさん書いてたら自然とできるようになる
繰り返すけど流れ「だけ」が分かればと適当に書いたものだから
悪しからず
536:デフォルトの名無しさん
17/08/23 19:24:12.20 JR0zQXPDa.net
ふむふむ、$urlListは引数で渡すよりstaticの方がいいのかな?
連想配列にしてるのはin_arrayよりissetの方がハッシュで早く判定出来るから?
537:デフォルトの名無しさん
17/08/23 19:47:50.10 ZFc7oTWj0.net
再帰はstatic使うと楽と他言語の経験で脳死判断しただけで深くは考えてない
連想配列でisset()にしてるのはただそう書く方がタイプ数が少なくて楽だと思っただけ
すまん
ほんと何も深いことは考えてない
もう今日はたぶんこのスレみないのでおかしなところがあったら自由になおしておいて
538:デフォルトの名無しさん
17/08/24 17:55:55.75 j3LgFviI0.net
cron使えない、サーバーに実行時間制限がある、アクセス毎の処理じゃダメって前提で定時処理する方法教えてくらはい
この三つを使えるなら余裕なんだけど…
539:デフォルトの名無しさん
17/08/24 18:29:02.16 CR+/HOHSH.net
>>527
cron使えるサーバからキックすればいいじゃん
540:デフォルトの名無しさん
17/08/24 19:01:00.75 KQlNvtYs0.net
webなら<img>や<iframe>で埋め込んでおいて
クライアントからの呼び出し時に
前回の実行から一定時間が空いてる時だけ実行とか
指定時間内に1回だけ実行みたいなやり方
(アクセスが無いならそもそも処理しなくていいだろうという考え方)
で擬似的にcronっぽい事はできなくもないが…
そう単純な話でもなさそうかな
>>528が普通だと思うよ
541:デフォルトの名無しさん
17/08/24 19:23:49.66 j3LgFviI0.net
>>528
なるほど、じゃあ1サーバーでってのも条件になっちゃうな…無理か…仕様変えてもらうかサーバー変えるしかないか
>>529
その方式は簡単だし言ってることも尤もなんだけど一度の処理に5分は掛かるからアクセスより先に処理しておきたくて
もう少し考えてみる、ありがとう!
542:デフォルトの名無しさん
17/08/24 20:07:11.66 BbHHCYzKa.net
久しぶりにこの板来たけど
haskellのスレがpart30なのに、php質問スレがまだ8って
php勢いなさすぎ・・?
543:デフォルトの名無しさん
17/08/24 21:56:12.99 /TMksNVg0.net
自分もPHPの質疑応答など、PHPの議論が活発な掲示板を
探してはいるけど見つからないね
2chでこれだもんなぁ
ペチパーは多いはずなんだけど…
もっともみんな顔だそうよ
544:デフォルトの名無しさん
17/08/24 22:30:51.11 kOThvMF20.net
PHPスレの歴史
* 2004/11/02 WebProg板に 【PHP】くだらねぇ質問はここに書き込みやがれ が立つ
* 2008/09/20 73スレ目でID表示派/非表示派で分裂
* 【PHP】下らねぇ質問はID出して書き込みやがれ 74 と 【PHP】ID出さなくても質問OKなスレ【初心者歓迎】 に分かれる
* 2009/01/29 ID無し質問スレが1スレで終了, くだすれPHP(超初心者用) 5 に合流する
* 2014/10/28 ID表示質問スレは138スレまで継続する
* 2014/12/22 強制ID表示を求めム板に移動
* この際スレタイとスレ番がリセットされ 【PHP】下らねぇ質問はここに書き込みやがれ になる
* 2016/04/22 ム板の 【PHP】下らねぇ質問はここに書き込みやがれ 4 から分岐し, WebProg板に PHP質問・雑談スレ4【初心者お断り(ROM歓迎)】 が立つ
* 2016/05/11 5スレ目が重複し後に立てられた方でワッチョイが導入される
* 2016/08/02 6スレ目が終了し上記の重複した5スレ目が再利用される
* 2016/11/09 7スレ目から現在に至るまでワッチョイが慣例化
545:デフォルトの名無しさん
17/08/24 23:13:17.10 iioA6atj0.net
俺毎日来てるで
546:デフォルトの名無しさん
17/08/25 00:52:13.63 6HHnDZTR0.net
WebProg板には無いここの良さって気楽なところ?
547:デフォルトの名無しさん
17/08/25 02:34:54.73 ioV3o5pi0.net
質問がないからみんなダンマリしてるだけよ
548:デフォルトの名無しさん
17/08/25 07:22:00.66 /FbaV4v20.net
なんどarray_filterとarray_mapで引数の順番逆なのん?
549:デフォルトの名無しさん
17/08/25 13:51:54.08 9UHaUDqjM.net
そんなんゴロゴロあるだろ、PHPは
550:デフォルトの名無しさん
17/08/25 14:23:12.64 wjqW6pO20.net
>>532
「議論」ではないが「質疑応答」なら
アホー知恵遅れの方が2chなんかより余程活発
かなり前からね
>>533が詳しく書いてくれてるが
このスレには色々と過去があって
人の揚げ足取りたいだけの暇人も多いからなぁ
俺がもし初心者だったら知恵遅れの方で聞くわw
551:デフォルトの名無しさん
17/08/25 14:28:31.37 wjqW6pO20.net
>>537
implode()みたいに
引数の順番はどっちでも良いよ
なんてものまであるw
PHPの組み込み関数の命名規則や引数の順番の統一性の無さは
PHPがダメだと言われる理由の1つだろうね
そんなもんだと諦めてくださいw
552:デフォルトの名無しさん
17/08/25 21:25:05.81 6HHnDZTR0.net
今はIDEの保管機能とかカンニング機能が進化してるからあんまり気にならないけどなぁ
553:デフォルトの名無しさん
17/08/25 22:50:28.06 WV+v2bcZ0.net
>>540
流石にimplodeみたいなのはアレひとつきりじゃなかったっけ・・・?
まぁ関数の命名についてはいろいろな言語から引っ張ってきてるからな・・・
それがnullバイト攻撃みたいなのを引き起こしたりもしたわけだが
554:デフォルトの名無しさん
17/08/26 06:57:56.90 HVjmWJTza.net
そろそろ無名関数にラムダ記法を使わせてくださいお願いします
毎回functionとreturn書くのしんどいです
555:デフォルトの名無しさん
17/08/26 07:17:36.69 pf1RytR80.net
>>532
ペチパーって何?
556:デフォルトの名無しさん
17/08/26 09:21:36.48 vbvtGdDa0.net
>>543
記法がちょっと違ってて違和感半端ない方はrejectされてたなー
URLリンク(wiki.php.net)
ES6に合わせた記法の方はとりあえず複数行不可なものが提案されてはいる
URLリンク(wiki.php.net)
しかしPHPは => を別のsyntaxで採用してるからこれもrejectされそうな気がする
557:デフォルトの名無しさん
17/08/26 20:13:37.28 +C0w0kbf0.net
>>544
phpマニュアルにさコアハッカーの手引きってあるじゃん?
今C言語勉強しながらそこ読んでるんだけど実務で役にたつかな?
558:デフォルトの名無しさん
17/08/27 17:46:19.84 Fxw5J8WBM.net
>>546
だからペチパーってなんだよ?w
559:デフォルトの名無しさん
17/08/30 11:04:02.45 ewso/TS40.net
ローカルで作業してるのだけど
外付けのHDDに保存してある画像を表示させることってできないだろうか?
直接表示させる事はできなくてもfile_get_contentsで読み込んでならできるような気がするが
これ以上はよく分からない
できるなら教えてください
560:デフォルトの名無しさん
17/08/30 11:18:06.40 KBT3c7j30.net
表示ってのはいったいどういう意味で言ってるの?
561:デフォルトの名無しさん
17/08/30 11:26:52.94 ewso/TS40.net
ブラウザに画像として表示させたいと思っている
file_get_contentsで文字化けした文字列みたいになるから
これを画像に戻せないかなと思った
562:デフォルトの名無しさん
17/08/30 11:32:30.44 KBT3c7j30.net
> file_get_contentsで文字化けした文字列みたいになるから
の部分の意味が分からない(大抵の画像ファイルの中身とってきたらバイナリに決まってるだろ)が,
1. Base64エンコードしてHTML中に埋め込む
2. Content-typeヘッダを適切にセットしてfile_get_contentsでとってきたデータを単に出力
563:デフォルトの名無しさん
17/08/30 11:36:19.64 ViOUv0iA0.net
ローカルでやっているなら、シェル経由でブラウザ起動できるんじゃない?
564:デフォルトの名無しさん
17/08/30 11:41:49.52 ewso/TS40.net
>>551
ありがとうございます。
やってみます。
565:デフォルトの名無しさん
17/08/30 12:10:57.76 eIYoYTDf0.net
>>550
header('Content-type: image/jpeg');
readfile('D:/hoge/fuge/hage.jpg');
readfile()は
echo file_get_contents()としても別にいい
ブラウザに画像を表示させたいだけなら
そもそもPHPを使う必要すらないわけで
HTMLファイルに
<img src="D:/hoge/fuge/hage.jpg">
じゃダメなのか?とも思ったり
566:デフォルトの名無しさん
17/08/30 12:13:03.53 eIYoYTDf0.net
>>554訂正
×<img src="D:/hoge/fuge/hage.jpg">
○<img src="file:///D:/hoge/fuge/hage.jpg">
スレ汚しスマン
567:デフォルトの名無しさん
17/08/30 12:25:02.08 ewso/TS40.net
できました。
ありがとうございます。
<?php
$img = base64_encode(file_get_contents('H:/picture/001.jpg'));
?>
<img src="data:image/jpeg;base64,<?php echo $img; ?>">
568:デフォルトの名無しさん
17/08/31 07:23:43.15 FdPQNQVJ0.net
なんでスキームがfileのときってfile:///みたいにスラッシュ3つなんだっけ?
569:デフォルトの名無しさん
17/08/31 09:39:47.81 tLO8kr/O0.net
自ホスト名は省略できるから
570:557
17/08/31 11:23:33.84 FdPQNQVJ0.net
なるほど、どうも
571:デフォルトの名無しさん
17/09/01 03:36:29.30 JBM8M4Dg0.net
ログってどうやって吐くのがベター?
572:デフォルトの名無しさん
17/09/01 04:33:59.30 l+TKOuiZ0.net
テキストかDBかって話?
573:デフォルトの名無しさん
17/09/01 10:29:11.06 oR+JyZza0.net
>>560
そういう質問をする人は
素直に既存フレームワークを使うことをおすすめしとく
574:デフォルトの名無しさん
17/09/01 14:05:00.30 JBM8M4Dg0.net
>>561
>>562
error_log関数がベターってこと?
575:デフォルトの名無しさん
17/09/01 14:12:47.10 RTadbuNn0.net
自分でフレームワークを作るな。
車輪の再発明はダメ
自分で作ると、テストなどで時間も掛かるし、品質も最悪となる。
セキュリティ修正も出来ない
フレームワークを使うべし
576:デフォルトの名無しさん
17/09/01 14:41:35.55 oR+JyZza0.net
ログといっても色々あるわけで
エラーログ、ログインログその他諸々etc
そのログのフォーマットにしたってテキスト or DBのどちらにするのかという根本的なところから
テキストならテキストでcsv、tsvその他諸々etc
目的も何も分からないのに
>>560の質問にまともに応えられる人なんていないから
>>562のような解答になる
真面目な解答がほしいなら相応の情報は出すこと
577:デフォルトの名無しさん
17/09/01 14:48:55.35 74EhTRr60.net
新人の教育係もやってるけど
慣れてくると質問の仕方だけでこの先やっていけるかどうか分かってくるね
だめな子は超能力者じゃないと答えられない聞き方をしてくる
できる子は下調べして自分はこう思うがどうですか?という聞き方をしてくる
逆の立場から物事を考えられないタイプは何やらしてもだめだなと思う今日この頃
578:デフォルトの名無しさん
17/09/01 14:56:35.72 oR+JyZza0.net
>>566
その通りだとは思うけどここは「下らない質問」スレだし
別に質問は好きにすりゃいいよ
ただ、質問の仕方のレベルが低ければ
解答もそれ相応のものにしかならないよ
って事は分かって欲しい
答える方はそれこそ超能力者じゃないので
質問の仕方から手取り足取り教えてもらいたいなら
Yahoo知恵袋でもオススメしときますw
579:デフォルトの名無しさん
17/09/02 12:31:23.10 qzG0zbyB0.net
初心者なんですが、仮想サーバーをたてるのにlocalhostを使いたいのですが表示されません。どなたか詳しくおしえてもらえないでしょうか?
580:デフォルトの名無しさん
17/09/02 12:47:34.54 gvEt05T80.net
仮想サーバのIPを調べてhostsで対応させればいいのでは
581:デフォルトの名無しさん
17/09/02 12:50:45.57 C4sYfteN0.net
意味が分からんなぁ…
>>567を読んでの質問だろうか?
あえて超能力で回答してみるけど、
仮想化したサーバーが立ってるとして、それはlocalhostじゃないんじゃないか?
仮想化ソフトのネットワーク設定次第だが、別のIPアドレス割り当てられてないか?
どうしてもlocalhostでアクセスしたいならポートフォワードの設定を入れろ
582:デフォルトの名無しさん
17/09/02 13:25:01.99 qzG0zbyB0.net
>>570
返信ありがとうございます、どこをどう言えば伝わるのかよく分かってなくて、本を買って勉強してるのですが、XamppをDLして、apacheを起動させて、localhostを検索したら表示されるって書いてあったんです
583:デフォルトの名無しさん
17/09/02 13:26:39.50 qzG0zbyB0.net
一応、プログラミングを教えてくれる先生に質問したのですが、ポートは関係ないんじゃといわれたのですが、見ないことにはどうにもと言われてしまいました
584:デフォルトの名無しさん
17/09/02 13:45:55.41 5VeVx4oe0.net
>>571
URLリンク(localhost) にアクセスしてみたとかそういう話?
だとしたら完全に板違いなんだけど?
585:デフォルトの名無しさん
17/09/02 14:12:08.38 qClwfsEs0.net
自分のPCでapache動かしているなら、それは仮想サーバーではないと思うが
586:デフォルトの名無しさん
17/09/02 14:45:44.11 cKo1r/zaM.net
>>571
まず、XAMPPのことを仮想サーバーと書かれると質問がまったく意味をなさないことになる
最初からXAMPPと書いてほしい
で、XAMPPでApache立ち上げたら基本はlocalhostでアクセスできるはず
まずはXAMPPのコントロールパネルできちんとApacheが立ち上ってるか?
たしか緑色のランプみたいのがついてる状態になるばず
立ち上がってるなら、ポートの指定がどうなってるか?
80番なら URLリンク(localhost)<) みたいにアクセスしないとダメ
587:デフォルトの名無しさん
17/09/02 14:49:25.19 cKo1r/zaM.net
あとは localhost を 127.0.0.1 に変えてみるとか
これでアクセスできるなら hosts の設定を確認して、書き換えれば localhost でもアクセスできるようになる
書き換え方はぐぐれ
588:デフォルトの名無しさん
17/09/02 15:07:27.71 1ZUpnTUIM.net
>>573~576返信ありがとうございます、いわれた通りやってみたいと思います。板違いとの指摘もあり、ご迷惑おかけしました。
589:デフォルトの名無しさん
17/09/02 16:02:02.80 qClwfsEs0.net
XAMPPのスレってある事はあるが、
3年くらい誰も書いて無かったりだから
誘導も出来ないな
590:デフォルトの名無しさん
17/09/02 20:20:44.62 qzG0zbyB0.net
>>575
無事にできました。ありがとうございました。
591:デフォルトの名無しさん
17/09/02 23:28:00.60 DPBo5x/i0.net
XAMPPのMってひっそりMySQLからMariaDBになってるんだな
今後MariaDBが頭角を現すなんてことあるのかな
Googleもオラクルと喧嘩してMySQL切り捨ててMariaDB採用してるしな
592:デフォルトの名無しさん
17/09/02 23:38:36.49 5VeVx4oe0.net
そもそもRHELが大分前にMySQLからMariaDBに切り替えてるしOracleはほんまもう
593:デフォルトの名無しさん
17/09/03 00:08:04.41 r6C/vDVJ0.net
そもそもMySQLの創始者はなんでMySQLをオラクルに渡しちまったんだ?
594:デフォルトの名無しさん
17/09/03 00:19:22.76 V7jBjx0H0.net
もともと、他の多くのオープンソースプロジェクトと異なり、スウェーデンの単一の営利企業である
「MySQL AB」によって維持されていた。2008年2月26日に MySQL AB がサン・マイクロシステムズ
に買収されたことをもって、サン・マイクロシステムズの所有となった。
その後、2010年1月27日、サン・マイクロシステムズがオラクルに買収されたことにより、商標権
ならびに著作権もオラクルに移管された。
URLリンク(ja.wikipedia.org)
595:デフォルトの名無しさん
17/09/03 00:30:54.83 r6C/vDVJ0.net
食物連鎖みてぇだな
596:デフォルトの名無しさん
17/09/06 04:03:33.47 /AYrWRAX0.net
IP192.168.1.1/24を192.168.1.1-192.168.255.255?に直したいのです
597:デフォルトの名無しさん
17/09/06 08:01:05.65 dNCjYifFM.net
正規表現とNet_IPv4を組み合わせて書けばできると思う
598:デフォルトの名無しさん
17/09/06 11:18:38.46 /M6wkDL00.net
>>585
PHPには long2ip() と ip2long() という便利な組み込み関数があるので
それとビット演算子を使えば比較的簡単にできると思う
$cidr = '192.168.1.1/24';
list($ip, $prefix) = explode('/', $cidr);
var_dump($ip . '/' . long2ip(0xFFFFFFFF << (32 - $prefix)));
// 俺にはこの程度の処理にPEARを使う理由と正規表現をどこで使うかがよく分からない
599:デフォルトの名無しさん
17/09/06 11:24:02.99 /M6wkDL00.net
>>580
というかそれまでMySQLでやってたような簡単な案件は
もう何年か前からとっくにMarinaに移行しちゃったけどなぁ
Oracleに買収された時点でこうなる事は予想してた人も多いと思う
PHPならPDO使ってれば何も修正するところなんて無いし
600:デフォルトの名無しさん
17/09/06 13:14:48.52 /AYrWRAX0.net
>>587
ありがとうございました
601:デフォルトの名無しさん
17/09/06 16:11:20.28 /M6wkDL00.net
>>589
>>585の内容を
192.168.1.0/24 ⇒ 192.168.1.0/255.255.255.0
という話と読み間違えてしまい
>>587のコードを書いたのだけどこれで良かった?
192.168.1.0/24 ⇒ 192.168.1.0 - 192.168.1.255
とするなら
$cidr = '192.168.1.0/24';
list($ip, $prefix) = explode('/', $cidr);
$ipLongStart = ip2long($ip);
$ipLongEnd = $ipLongStart + pow(2, 32 - $prefix) - 1;
var_dump($ip . ' - ' . long2ip($ipLongEnd));
流れはこんな感じ
よく読んでなくて申し訳ない
602:デフォルトの名無しさん
17/09/10 15:02:47.71 tcGc4Q6l0.net
// ディレクトリ階層以下のコピー
// 引数: コピー元ディレクトリ、コピー先ディレクトリ
// 戻り値: 結果
function dir_copy($dir_name, $new_dir)
{
if (!is_dir($new_dir)) {
mkdir($new_dir);
}
if (is_dir($dir_name)) {
if ($dh = opendir($dir_name)) {
while (($file = readdir($dh)) !== false) {
if ($file == "." || $file == "..") {
continue;
}
if (is_dir($dir_name . "/" . $file)) {
dir_copy($dir_name
603: . "/" . $file, $new_dir . "/" . $file);} else { copy($dir_name . "/" . $file, $new_dir . "/" . $file);} } closedir($dh); } } return true; } このコードの引数はどう指定したら動くのでしょうか? $dir_name = '../x'; $new_dir = '../y'; ↑こう指定したりFTPのフルパスを指定したりしましたが全く動く気配がありません、、 よろしくお願いいたします。
604:デフォルトの名無しさん
17/09/10 17:07:03.98 DbuZOcLu0.net
文字と数値を相互変換すれば、元に戻るはずなんですが、
これは一方がtrueにならないですが、原因わかりますか?
packの"v"は、16bit-Little-Endianの指示ですが、
元に戻るかはソースコードのエンコードも関係しますか? しないはずだとおもってます。
$moji = "亜";
$su = unpack("v", "亜"); $su = $su[1];
$moji2 = pack("v", $su);
$su2 = unpack("v", $moji2); $su2 = $su2[1];
echo "su==su2? "; var_dump($su==$su2);
echo "moji==moji2? "; var_dump($moji==$moji2);
605:デフォルトの名無しさん
17/09/10 17:08:32.93 DbuZOcLu0.net
上の修正しました
$moji = "亜";
$su = unpack("v",$moji); $su = $su[1];
$moji2 = pack("v", $su);
$su2 = unpack("v", $moji2); $su2 = $su2[1];
echo "su==su2? "; var_dump($su==$su2);
echo "moji==moji2? "; var_dump($moji==$moji2);
606:デフォルトの名無しさん
17/09/10 18:02:41.43 hHLCpQAf0.net
>>592
UTF-8なら日本語は3byteで符号化される
亜は\xE4\xBA\x9Cだからリトルエンディアンのunsigned shortでunpackすると先頭2byte分の0xBAE4 = 47844だけとれる(残りは1byteしかないからunsigned shortでない=>無視)
これをリトルエンディアンのunsigne shortとしてpackしようとすると0xBAE4しかないから\xE4\xBAになる
したがって符号化が偶数bytesなら戻ることが期待されるがそもそもunpackの用途が間違ってる
607:デフォルトの名無しさん
17/09/10 18:18:05.52 DbuZOcLu0.net
>>594
サンクス。理解しました。くわしくありがとうございます。
608:デフォルトの名無しさん
17/09/13 04:50:40.83 xiEJvESo0.net
Seesaaブログでは、blogger,metaWeblog,mt 互換のXML-RPC APIをサポートしております。
URLリンク(faq.seesaa.net)
とあるんだけど、いいライブラリない?
packagistで調べてもどれがいいのかさっぱりわからん。
609:デフォルトの名無しさん
17/09/17 03:12:57.17 MBf3v3660.net
phpのrename関数ではなく、
system関数でwindowsのrenを使いたいのですがどう書けばよいのでしょうか?
610:デフォルトの名無しさん
17/09/17 05:06:59.87 NGMuhuel0.net
自分で言うてもうてるやん
611:デフォルトの名無しさん
17/09/20 05:30:54.15 uxx4ir4xa.net
phpをwindowsで自動化処理するのに使っていたんだが(使い慣れてるから)
node.jsでも出来るんじゃね?と思って書いてみたら出来た
イベント駆動型の設計思想が染み渡っているから書き心地がモダンで気持ちいい
phpもそろそろ寿命だよね?
612:デフォルトの名無しさん
17/09/20 07:01:36.97 wgVu7EJP0.net
自動化処理とかなんでもいいだろ
書き心地の問題じゃねえな
そのプラットフォームで最初から使えるかどうかの問題だ
windowsの場合どちらもあてはまらないわけで実にどうでもいい
613:デフォルトの名無しさん
17/09/20 08:45:24.51 hP30PlfN0.net
自動化処理って例えばどんな処理?
614:デフォルトの名無しさん
17/09/20 10:18:28.79 uxx4ir4xa.net
JavaScriptはPHPにあるような気軽さもあるし
それでいて育ちの良さもある
気取ったところのない、優秀ないい子って感じ
PHPも頑張ってたけど、もともとが魔改造されたPerlだからねぇ
MySQLの時代の言語だったのだ
615:デフォルトの名無しさん
17/09/20 16:01:01.72 UsXhYfbU0.net
>phpもそろそろ寿命だよね?
WordPressが存在する限り、PHPが無くなるわけない。
616:デフォルトの名無しさん
17/09/20 18:21:07.42 iy+cXLwo0.net
質問です。
PHP5.3でpostgresql9.4のクエリを書いたのですが、
テーブル名, 列名が日本語なのですが、
pgAdminIII上では日本語部分を""で囲めば動作するのですが、
PHP上だとrelation "テーブル名" does not exist となってしまいます。
$sql = "SELECT * FROM テーブル名"; //ダメ
$sql =
617:デフォルトの名無しさん
17/09/20 18:22:28.53 iy+cXLwo0.net
書き掛けで送信してしまったので再送
質問です。
PHP5.3でpostgresql9.4のクエリを書いたのですが、
テーブル名, 列名が日本語なのですが、
pgAdminIII上では日本語部分を""で囲めば動作するのですが、
PHP上だとrelation "テーブル名" does not exist となってしまいます。
$sql = "SELECT * FROM テーブル名"; //ダメ
$sql = "SELECT * FROM \"テーブル名\""; //ダブルクォートで囲ってエスケープしてもダメ
どのように書けばいいのでしょうか?
よろしくお願いします。
618:デフォルトの名無しさん
17/09/20 18:40:43.67 sgJ5KlC6a.net
文字列をシングルクォートで囲んでテーブル名をダブルクォートで囲んでもダメ?
619:デフォルトの名無しさん
17/09/20 18:42:00.70 7KzHzKme0.net
pgAdminIIIじゃ、win環境からだよね。
文字コードが postgresqlコンパイル時や設定と一致してないんじゃ無いの?
620:605
17/09/20 19:00:12.39 iy+cXLwo0.net
すいません。自己解決しました。
データベースのEncodingがSQL_ASCII になっていたからでした。
EncodingをUTF-8にして作り直したら
クォーテーションで囲まなくても動作しました。
ありがとうございました。
621:デフォルトの名無しさん
17/09/21 09:40:04.80 lfGfuJSn0.net
PHPは寿命どころか7で速くなったしセキュリティも改善されてきてるし
いい感じでないの
622:デフォルトの名無しさん
17/09/21 10:25:01.79 huYSseyKa.net
まぁJavaScript界隈と較べれば流れが遅い感はあるがどちらかといえば向こうが速過ぎる
フロントエンドとバックエンドで両方使うことが多いから比較してしまうのは分かるが
623:デフォルトの名無しさん
17/09/23 10:23:03.44 K87ZdYGi0.net
$obj = new stdClass;
$obj->hello = function() {
return "Hello World\n";
};
echo $obj->hello();
こういう書き方出来ないですか?
624:デフォルトの名無しさん
17/09/23 10:54:33.00 eYrz81G90.net
URLリンク(qiita.com)
625:デフォルトの名無しさん
17/09/23 11:07:31.38 K87ZdYGi0.net
>>612
ありがとうございます
stdClassじゃなくて無名クラス使うんですね
7はまだ導入できないので別の方法にしようと思います
626:デフォルトの名無しさん
17/09/23 11:07:33.25 CVbArZcy0.net
>>611
javascriptかよ
できないだろ普通
627:デフォルトの名無しさん
17/09/23 12:21:32.68 7ekNuEcJa.net
すごい感性だな
628:デフォルトの名無しさん
17/09/23 12:39:55.15 +Iwgt1nH0.net
>>611
URLリンク(ideone.com)
629:デフォルトの名無しさん
17/09/23 17:48:18.32 oX3foi7H0.net
$obj = new stdClass;
$obj->hello = function() { return "Hello World\n"; };
echo ($obj->hello)();
これは知らなかったな
630:デフォルトの名無しさん
17/09/23 19:19:16.21 X+9EjmZ60.net
なに、結局できるわけ?
631:デフォルトの名無しさん
17/09/23 20:39:16.95 +Iwgt1nH0.net
URLリンク(ideone.com)
こうしてやると見かけがJavaScriptっぽくなるな
632:デフォルトの名無しさん
17/09/24 00:58:26.35 tB2K64wQ0.net
スレ違いでしたら申し訳ありません
現在ワードプレスでサイトを作っていて
カスタム投稿に対して
サーバーから日付を取得して、今月だったらこの記事、来月の日付だったらこの記事というように条件分岐させた表示をさせたいです
別の箇所にはループ処理でカスタム投稿自体を表示させています
カスタム投稿投稿のうち、Aというタクソノミーを持つ投稿のみを対象にして
サーバーから取得した月と投稿月が同じものをモジュールクリックで表示、そうでないものはまとめてループ処理で取得させたいです
またカスタム投稿自体もタクソノミーで分けています
モジュールをクリックをする
→もしAというタクソノミーを持つ記事があったら
→サーバーから日付を取得
→取得した月(今なら9月)に投稿されているタクソノミーAの記事を取得
という形にしたいのですが書き方が全く思い浮かびません
お知恵をお貸しください
633:デフォルトの名無しさん
17/09/24 14:47:00.16 VatsPnR2a.net
WPで聞けよ
634:デフォルトの名無しさん
17/09/24 15:19:53.61 HTSoBxcb0.net
WP用のスレがあったんですね、失礼いたしました
635:デフォルトの名無しさん
17/09/24 21:57:03.16 u8f/hRUs0.net
Mysqlのカラムyearのレコードに $yearと入力しておきます
そして、PHP側で$year = xxxx;としておきます
これをPDOで値を呼び出した時に、レコードを変数に転換させる方法はないでしょうか?
普通に呼び出すと、ただの文字列としか認識してくれません。
なぜ、そんなことをしたいかというと、CSV出力の際のヘッダ部分をレコードとして
登録しておいたのですが、年数が可変なので、どうにかしたかったわけです。
無論、他の方法も考えてはいますが、もし、やり方次第で可能なら教えて欲しいです。
なお、ググってみたのですが、そんな阿呆なこと考える奴はいないのか、答えは出てきませんでした
636:デフォルトの名無しさん
17/09/24 22:29:04.81 GR7wHhZz0.net
URLリンク(php.net)
コレのこと?
637:デフォルトの名無しさん
17/09/25 01:38:24.44 mD+bXPPZ0.net
確かにアホっぽい
セキュリティホールにもなりかねないし
638:デフォルトの名無しさん
17/09/25 09:43:12.67 oQOcCvcr0.net
そのアホな思いつきのままだと evalになっちまう
たんに置換かけりゃいいだろ
639:デフォルトの名無しさん
17/09/25 13:41:45.15 s/BxTNWl0.net
>>623
ちょっと何言ってるかわかんない
insertする前に年数を整形すりゃいいだけっしょ
なんでそんな意味不明で面倒なことするかな
640:デフォルトの名無しさん
17/09/25 21:03:17.46 H7OZHsHG0.net
>>626
実際、そうしました
>>627
出力が必要な帳票のヘッダが不定数だったからです
641:デフォルトの名無しさん
17/09/26 02:06:10.20 iIk2lbGJ0.net
Winサーバに.NETのアプリ置いて、それを外部の端末からブラウザ経由で操作したいんだけど出来るかな?
或いはPHPからAjaxとか使ってる動的ページもそのままブラウザでアクセスしたみたいにエミュレートしたい。
PhantomJSとかあるけど安価なレンタルサーバにインストールできない可能性もあるので前者を考えてるんだけど。
642:デフォルトの名無しさん
17/09/26 02:06:29.86 iIk2lbGJ0.net
age
643:デフォルトの名無しさん
17/09/26 02:19:28.45 hdyDplTp0.net
何言ってるのか全然分からねぇ
その文脈で何でPhantomJS出てくるんだ?
644:デフォルトの名無しさん
17/09/26 02:47:00.78 iIk2lbGJ0.net
>>631
.net使えばブラウザコントロールとかあるので簡単にAjaxとか使ってるページでも動作させれるので
間接的に動かせないかなと思ってて。
それが無理なら直接PHPでJavaScript動かさないといけないからPhantomJSとかになるのかなと。
645:デフォルトの名無しさん
17/09/26 03:18:37.30 hdyDplTp0.net
こういうこと
* クライアント(ブラウザ) -[ネットワーク]-> サーバ(IIS etc.) -> .NETアプリケーション
をしたいと読めるわけだが, .NETからブラウザ操作する話がどうして出てくるのかとかPHPからJavaScript動かす話がどこに入るのか説明してくれ
646:デフォルトの名無しさん
17/09/26 03:32:01.32 iIk2lbGJ0.net
> クライアント(ブラウザ) -[ネットワーク]-> サーバ(IIS etc.)
だとAjax使ってるページのエミュレートが面倒なので
.net使ってAjaxページも問題なく動作するプログラムをサーバに置いて
それをクライアントがアクセスした時に上手く動かせる仕組みを作れないかなと。
直接サーバサイドのPHPでAjaxページが簡単に動作させられるならそれに越した事はないけど。
647:デフォルトの名無しさん
17/09/26 03:39:41.11 hdyDplTp0.net
もうさ, [Winサーバ], [.NETアプリ], [外部端末のブラウザ], [PHP], [Ajaxとか使ってる動的ページ]使って何がしたいのか図示してくれよ
648:デフォルトの名無しさん
17/09/26 03:50:19.75 mvSUAuA/0.net
Docker Hub で、公式イメージでも探せ
それか、VirtualBox, Vagrant, Chef など
649:デフォルトの名無しさん
17/09/26 04:20:53.63 iIk2lbGJ0.net
じゃ質問をシンプルにするよ。
PHPでアクセスしてAjax使ってる動的ページを正しく動かす方法で
一番シンプルなものってなにかな?
色々調べてPhantomJSがあるのは分かったけど
レンタルサーバによってはインストールできない可能性があるのでその問題がありそう。
650:デフォルトの名無しさん
17/09/26 06:31:31.27 M58WkJeo0.net
ちょっと調べて見たければphp製のjavascriptエンジンはないので無理ではないかなぁ
651:デフォルトの名無しさん
17/09/26 06:32:15.60 M58WkJeo0.net
ちょっと調べて見たければ→ちょっと調べてみたけれど
652:デフォルトの名無しさん
17/09/26 08:09:15.81 iIk2lbGJ0.net
>>638
そうか。しょうがないので自分のPCにPhantomJSをインストールして使う事にしてみたんだけど
今度はどうやってもステータスが0で困ってる。。
file_get_contents()だと表示されるのでPhantomJSの部分で問題が起こってるんだと思うけど。
ここの通りしたんだけど。$response->getStatus()で確認すると常にゼロで。
URLリンク(pg.kdtk.net)
PHPは5.6、Apacheは2.4、両方64bit
PhantomJSはcomposerで2.1.1をインストール
653:デフォルトの名無しさん
17/09/26 09:50:15.42 iIk2lbGJ0.net
自己解決
落としたバイナリがぶっ壊れてた。。
654:デフォルトの名無しさん
17/09/26 13:57:41.18 cwFxqDCFM.net
Headless Chromeもあるし
どうしてもPHPでやりたいってんならv8拡張がある
この場合ブラウザ側API全部再実装が必要だが
655:デフォルトの名無しさん
17/09/26 14:11:14.60 iIk2lbGJ0.net
>>642
PhantomJS試してるんだけどformをsubmitする処理とかだとなんか面倒そうなので
やっぱり他のでやった方がいいのかもしれない。
Headless Chrome?それも後で試してみるよ。ありがとう。
656:デフォルトの名無しさん
17/09/27 05:11:15.19 EHqNXxRy0.net
>>643
casperjsはphantomjsより扱いやすいよ
657:デフォルトの名無しさん
17/09/28 15:18:44.51 fKb4VnmR0.net
>>628
最後の1行読んだ感じでは
DBの正規化という言葉すら理解できてなさそうな臭いがするので
DBの設計から勉強し直してみてはどうだろうか?
根本的なところからおかしいので誰もまともに答えられないかと
658:デフォルトの名無しさん
17/09/30 20:51:24.62 CiKOls/60.net
フレームワーク、例えばcakePHPを習得するまでに
みんなどのくらいの期間かかった?
フレームワーク初体験で
659:デフォルトの名無しさん
17/09/30 22:47:17.93 h2RlFi9m0.net
新しい言語や技術は書籍で入門するのが当たり前という人にとっては
フレームワークはどれもたいへんだよ。
660:デフォルトの名無しさん
17/10/01 06:09:17.97 Ae9q61k/0.net
意欲の問題では
フレームワークは別になくてもいいわけで
なくてもいいものをわざわざ覚えるのかなんて思いながらやってると
なかなか身につかない
仕事でどうしても必要だとかそういう状況なら2週間で覚えるよ
661:デフォルトの名無しさん
17/10/01 15:24:34.49 mkxY3wW+0.net
>>646
初めてのフレームワークでCakePHPなんか触った時点で迷宮に迷い込んで成長止まる。
662:デフォルトの名無しさん
17/10/01 20:10:56.14 GM1LmHU+0.net
PHPって将来あるの?5年もしたらもうオワコンじゃないの?
663:デフォルトの名無しさん
17/10/01 20:19:14.76 Ae9q61k/0.net
言語を意識するような時代が終わりはじめてるのでは
一定のユーザがいる状態であれば安泰だよ
664:デフォルトの名無しさん
17/10/01 20:24:12.95 qGSPhC6b0.net
>>650
そう思うならNode.jsでも使っとけばいいんじゃね?
665:デフォルトの名無しさん
17/10/01 20:43:25.47 xDL2/91Y0.net
PHPが終わるとは思わん
ただタイプヒンティング強化してるからジェネリクスが欲しい
RFCにはあるけど誰も実装書かないんだろうなー
666:デフォルトの名無しさん
17/10/01 20:51:44.63 ycCVTNJ30.net
世界中にある動的Webサイトの過半数がPHPで動いてるんでしょ?
WordPressも含めて
667:デフォルトの名無しさん
17/10/01 20:53:18.27 qGSPhC6b0.net
なんか知らんけど恨みがあるんじゃね?PHPに
668:デフォルトの名無しさん
17/10/01 21:39:11.63 eMQOw+pd0.net
>>649
んじゃ、初めてのフレームワークでおすすめって何よ?w
669:デフォルトの名無しさん
17/10/01 22:53:55.25 UOMkiKCA0.net
>>656
CodeIgniter
670:デフォルトの名無しさん
17/10/01 23:04:09.52 UOMkiKCA0.net
>>654
むしろWordPressだけで過半数以上
これらのユーザーがPHPを意識してるとは思えないが
世界中で稼働しているWEB言語のシェアとしてはPHPは圧倒的
逆にWordPressの代替となるアプリが流行すればPHPは一気に消え失せる可能性はある
とはいえWordPressのようなパッケージアプリを除いた純粋にPHPを開発言語として利用しているシェアも
けっこう高いはずなので急にRubyやPythonやその他の新興言語に入れ替わるもんじゃないとは思う
その他の言語がなぜ入り込んでこないかというと、Perlの頑張りがあるからじゃないかと密かに思ってる
派遣を即席で育てて現場に投入できるっていう利点もあるから少なくとも日本だと衰退しないんじゃないかな
671:デフォルトの名無しさん
17/10/02 01:21:56.57 VyNVpuqG0.net
Laravelって誰も触れんな
日本では流行ってないか?
めちゃくちゃ使いやすいと思うけど
672:デフォルトの名無しさん
17/10/02 09:30:10.62 yY+xy6Qa0.net
>>658
代替となるアプリもPHPで作られるにきまってんじゃんw
PHPはフレームワークを作るための言語だよ?
なお、オレは最近は静的型付き言語ばかり書いている。とにかく、楽。
673:デフォルトの名無しさん
17/10/02 09:53:14.55 T1SDxagl0.net
おわったっていいじゃん
一生を捧げる言語を一つ選ぶような話じゃないでしょ。
今日の昼はA定食にしようかB定食にしようかって話で、B定食が今後なくなってもA定食食べればいい。
それより食堂がなくなる心配したほうがいい
674:デフォルトの名無しさん
17/10/02 21:00:14.97 fIRtXeXL0.net
ec-cubeのソースを見ていたら
require_once が書かれてなくて、useだけ書かれているファイルが沢山ありました。
なんで、エラーにならないの?
675:デフォルトの名無しさん
17/10/02 21:17:59.72 T8QXjIur0.net
>>662
composer.jsonのautoloadセクションにオートローディングの設定書いてりゃrequire_onceが必要なのはエントリポイントだけ
676:デフォルトの名無しさん
17/10/02 21:28:04.49 V+ucx/B30.net
ソース見ないとわからんけど、__autoload とか使ってるんじゃ無い?
677:デフォルトの名無しさん
17/10/02 21:30:47.93 fIRtXeXL0.net
>>663
おー、わかった
サンクス
678:デフォルトの名無しさん
17/10/05 12:46:13.98 HZkkfHm10.net
テスト
679:デフォルトの名無しさん
17/10/05 13:00:26.21 HZkkfHm10.net
コード貼ると書き込めないようで・・・
URLリンク(ideone.com)
いずれも問題なく動作するのですが
mb系の関数ってどういうところで使うんでしょう?
680:デフォルトの名無しさん
17/10/05 13:48:00.22 PIRKucuZ0.net
strlenの値見てみればいいじゃん
681:デフォルトの名無しさん
17/10/07 03:33:19.78 E8QcxmPR0.net
cakeのヘンなURLはみんな一々普通の書式に書き換えてるの?
/index/limit:3/page:2 ←キモい
index/?page=2 ←普通こんな感じだよね
フレームワークってたいへんだね
682:デフォルトの名無しさん
17/10/07 04:28:12.75 n7/qhps90.net
動けばいいのよ
683:デフォルトの名無しさん
17/10/07 07:48:18.63 gc7GFpiH0.net
>>669
むしろ下のURLの方が汚らしいんじゃね
684:デフォルトの名無しさん
17/10/07 08:58:47.62 CQDT89una.net
>>671
あまり言ってやるな
685:デフォルトの名無しさん
17/10/08 06:58:12.38 CWK8ZE8n0.net
>>669
反吐が出そうなスタイルから一般的なスタイルにしたきゃ
paramType を querystring にすりゃいい
686:デフォルトの名無しさん
17/10/08 19:54:00.65 31mgpPhM0.net
>>673
㌧クス 直った。あー気持ち悪かったw
687:デフォルトの名無しさん
17/10/08 21:19:07.77 Uwv5PG/i0.net
静的Pathにするのって、Google対策だっけ?
688:デフォルトの名無しさん
17/10/09 12:03:26.40 YlLc/E6M0.net
>>659
世界ではLaravel主流になろうとしてるけど、ちょこちょこバージョン上げすぎなんじゃ
日本語翻訳された頃には次のバージョン出てたらかなわん
689:デフォルトの名無しさん
17/10/09 13:13:37.43 h4S41BKFa.net
cake3も同じだわ
690:デフォルトの名無しさん
17/10/10 17:56:47.10 xdjFdlld0.net
Symfonyはどうなの?
合計10億ダウンロードを達成したようだが
URLリンク(symfony.com)
691:デフォルトの名無しさん
17/10/11 03:47:35.08 KMdfjBPl0.net
Symfonyは文字数が多くなる気がして
個人的にはイマイチ子
692:デフォルトの名無しさん
17/10/13 20:01:46.42 s758Uzmra.net
phpのプレイグラウンドサイトでいいところがあれば教えて下さい
URLリンク(www.tehplayground.com)
とりあえず検索して見つかったここを使ってますが
もっといいところありますか?
693:デフォルトの名無しさん
17/10/13 20:02:50.62 s758Uzmra.net
>>678
すごいスピードで増えてますね
日本の借金のようです
694:デフォルトの名無しさん
17/10/13 21:02:49.56 NQNcqrHf0.net
Mac Sierra + XAMPPでCakePHP3のインストールが出来ないのだけど、
みんなどうやってインスコしてるの?
composerはインスコできたけど、intlが入らない
バージョン2はコピペで済んだから楽だったのにな~・・・
695:デフォルトの名無しさん
17/10/13 21:28:05.09 s758Uzmra.net
>>667
ここ良さそうですね
php以外にも大量に書けますし
696:デフォルトの名無しさん
17/10/13 23:35:56.43 s758Uzmra.net
git for windowsを入れたら
gitbashの中でphpも実行できるので便利ですね?
コマンドラインと大差ないといえばないですが
gitbashは任意のフォルダから始められるところがいいです
697:デフォルトの名無しさん
17/10/14 04:10:36.29 TNxvk7D00.net
sourcetreeでいいよ
どうしてもコマンド打ちたいなら別だけど
698:デフォルトの名無しさん
17/10/14 07:17:33.63 sv7zl76da.net
atlassianってtrello買収のニュースで聞いたことがありましたが
こういうものを作っていたんですね
とりあえずインストールしてみました
699:デフォルトの名無しさん
17/10/14 16:05:22.67 sv7zl76da.net
正規表現では一重引用符、二重引用符ともに
エスケープする必要がないと知りました
エスケープをしても問題が出ないので今まで気づきませんでした
preg_match('/\"/','"',$matches);
var_dump($matches);
preg_match('/"/','"',$matches);
var_dump($matches);
どちらの結果も同じになります
何故エスケープする必要のない引用符をエスケープしても
問題が出ないのでしょうか?
700:デフォルトの名無しさん
17/10/14 18:01:08.37 sv7zl76da.net
よく考えてみると、引用符をエスケープしなければいけないのは、
それが文字列と外界との境界を形成する特殊な文字だからで、
正規表現では文字列の境界をデリミタが形成するので、
引用符は普通の文字と全く変わりがない、
だから他の「普通の文字」をエスケープしても同じことではないか、
と思ってqで試してみたらやはり同じ動作になりました
preg_match('/\q/','q',$matches);
var_dump($matches);
正規表現エンジンは、
意味のないエスケープ文字
を単に無視するように出来ているのでしょうか?
701:片山博文MZ
17/10/14 18:22:55.67 WLIJLkznd.net
エスケープされた文字列を解釈するのはPHPのエンジンであり、解釈された文字列は、PHPの文字列になる。
正規表現エンジンは、�
702:桝RPHPの文字列を、正規表現を表す文字列として解釈する。 最初の解釈で、無意味なエスケープはバックスラッシュが無視されるのだから、何も悪いことは起きない。
703:デフォルトの名無しさん
17/10/14 18:34:55.85 sv7zl76da.net
たしかにPHPの場合正規表現もまず最初に普通の文字列に入れられるので
>>688の言い方は適当ではなかったです
やはり正規表現エンジンは無意味なエスケープをただ無視するように作られているのですね
ありがとうございました
704:デフォルトの名無しさん
17/10/15 11:18:23.57 CEYZTvIx0.net
PHP初心者です。
PHPの実行モデルがイマイチ分からないのですが、
これはイベントモデルではなくただのテンプレートエンジンで、
前回の結果(または鯖上でのコンテキスト)を引き継ぐことなく、
毎回毎回ゼロから構築する必要があるって認識で合っていますか?
具体的には、Webページ全体で使われるクラスやdefine()している場合、
それらを毎回includeする必要があるのでしょうか?(今のところそう見えます)
クライアントJavaScriptの場合はページ遷移がない限り一度構築した物は使えます。
Nodeは使ったことがないですが、多分同じです。
(これらはイベントモデルだからですが)
毎回毎回全構築となると、余分な構築を省かないと実行速度が気になります。
ドメイン全体で単一アプリを提供する場合は
PHPではなくNode等の方が向いているということなのでしょうか?
例えば、dbアクセス用にクラスを作った場合、
それぞれのWebページからはその全メソッドを使うことは通常あり得ません。
だからプログラム的に美しく一つのクラスに纏めるより、
フィールドを継承し、今使うメソッドだけの子クラスに無駄に分割した方が速いのか?とも思えます。
あるいはspl_autoload_register()した場合に、
名前参照だけではなくコンパイル済み状態で格納されるから速度上の問題はない、とかありますか?
705:デフォルトの名無しさん
17/10/15 11:55:30.86 s8ygMoJ80.net
>>691
サーバサイドアプリケーションは大体そんなもんだと思うが
HTTPでセッションを跨いだクライアントの同一性保証なんて不可能だし
コードのパースとかの時間が気になるという意味ならopcacheのようなキャッシュ機構はある
とりあえずサーバサイドアプリケーションについて真面目に勉強するならLaravelとかSymfonyのチュートリアルくらいは触ってみたら
クライアントサイドとは全く違うから
706:デフォルトの名無しさん
17/10/15 13:46:10.80 CEYZTvIx0.net
>>692
了解です。ありがとうございます。
何らかの機構を備えていると勝手に信じていたので、軽く衝撃でした。
(ちなみにGoとかも同じですかね?ご存知であれば)
ただこれならPHPは各ページ毎に様々なことをするのには向いていますが、
(とはいえこれが通常のHP用途の90%以上を占めますが)
掲示板サイト等、ドメインで単一アプリを提供する際には本質的に遅いことになります。
別サイトで「こんなのどうよ?」と提案したところ、
「PHPでは無理だから止めろ、どうせNodeを使うことになるぞ」と避難轟々だったのも分かります。
この状況でフレームワークを使っていること自体が結構信じがたいです。
とはいえ今回は共用鯖等超軽量環境向けの為、NodeやGoは選択出来ず、PHPしかないのですが。
(参考) URLリンク(postd.cc)
別件ですが、CSRF脆弱性対策について、
これは単発のリンクを踏んだ(表示した)時用の対策であって、
ガチでのクライアントスクリプト等による攻撃向けではない、という事で合っていますか?
例えば、あるページを表示し、そ�
707:アのJavaScriptが実行されるなら、 ajaxでhtmlを取得し、CSRFトークンを取得して、 掲示板にその人が書き込んだように見せかけることは簡単に出来ますが。
708:デフォルトの名無しさん
17/10/15 14:31:37.78 s8ygMoJ80.net
>>693
お前さんが何をしたいのか分からんし衝撃受けるのも勝手だが, クライアントサイドの常識をサーバサイドに持ち込むな
PHPに限らずRubyだろうがPythonだろうが何も変わらん
NodeやGoや更に言えばC/C++でサーバ作るというのは考えられるがメンテコストが膨らむしデプロイも面倒
その必要が本当にあるのかよく考えろ
> CSRF
Same Origin Policy
709:デフォルトの名無しさん
17/10/15 17:17:04.22 u42Q3jAo0.net
>>694
> PHPに限らずRubyだろうがPythonだろうが何も変わらん
いや多分PHP特有ですよ。RubyやPythonは自前で鯖起動しますので。
Railsチラ見しましたがそんな感じです。
URLリンク(railsguides.jp)
ただ現実的にRubyやPythonは超軽量環境でも使えるのでRailsは選択肢になりますね。
とはいえPHPでもopcacheでほぼ問題ないはずですが。
まあとにかく今は味見中です。
作ろうとしているのは掲示板アプリで、GoやNodeの高性能版はOSSで既にあります。
もちろんPHP版も既にあるのですが、こちらも大体高性能化を目指しているので、
超軽量環境向けの廉価版を作ってみようかと。
AGPLv3で公開する予定ですので、興味があればどうぞ。
URLリンク(meguca.org)
710:デフォルトの名無しさん
17/10/15 17:24:11.11 L1ItWz+aa.net
>>695
Webrickのこと言ってんのか?
テストはともかく実用環境でWebrickなんか使わねぇよ
実環境ならUnicorn, PumaとかPassengerがアプリケーションサーバだよ
711:デフォルトの名無しさん
17/10/15 22:50:14.72 lMinf0FC0.net
遅い早いって2ch読み書きするのをストレスに感じないのであれば杞憂でしょう
ボトルネックになる部分はPHPの機構なんかよりもネットワーク間の問題のほうが大きいわけで
712:デフォルトの名無しさん
17/10/16 00:01:36.25 OoF3Ic3Va.net
自分もリクエストのたびにこの巨大なフレームワークを読むのか?
とひるんだ時がありましたが
そこは実行コードをキャッシュする仕組みでカバーできるんですね
というか今の人はスタートがnode.jsとかなんだなーという驚きがあります
713:デフォルトの名無しさん
17/10/16 00:42:39.22 DJrtJlQd0.net
node.jsってレンサバで動くんか???
714:デフォルトの名無しさん
17/10/16 02:50:04.46 N7MUl21Ra.net
vpsでやろ。
715:デフォルトの名無しさん
17/10/16 08:53:25.48 twPANPDV0.net
>>699
URLリンク(qiita.com)
716:デフォルトの名無しさん
17/10/16 23:32:43.30 DJrtJlQd0.net
ふぇ~さくらってスゴいのね
717:デフォルトの名無しさん
17/10/17 01:14:58.17 HUD/bT/k0.net
別にサクラはすごくないだろ
この手の方法はわりとどのレンサバでもできる
718:デフォルトの名無しさん
17/10/17 04:14:34.59 UUhSDchZ0.net
>>698
メモリを犠牲にして専用のアプリケーションサーバとそれ専用のフレームワークを作るのは
非常に面倒だけど別に難しいことじゃないのでPHPで作ってもいいのよ
719:デフォルトの名無しさん
17/10/17 06:07:25.14 C8ORuPRh0.net
質問です。PHPとSQLite3共に初心者です。
PHP+SQLite3でatomic counterが欲しいのですが、変更前の値が上手く取れません。
(unique保証が必要です)
散々ググって試行錯誤もしたのですが、上手くいきません。もしかして綺麗には無理ですか?
$sql = "BEGIN;";
$sql .= "SELECT count FROM counters WHERE id = 'post';";
$sql .= "UPDATE counters SET count = count+1 WHERE id = 'post';";
$sql .= "COMMIT;";
// $result = $db->exec($sql); // インクリメントされるが肝心の値が取れない
$result = $db->querySingle($sql); // なぜかNULLが入っており、インクリメントされない
// $result = $db->query($sql); // その後で fetchArray(): Unable to execute statement: cannot start a transaction within a transaction と出てインクリメントされない
var_dump($result);
なお奇特な方のためのDB設定用コードは以下です。
$db->query('CREATE TABLE counters (id TEXT PRIMARY KEY, count INTEGER)');
$db->query('INSERT INTO counters VALUES ("post", 0)');
atomic自体はUPDATEだけで保証されているのですが、変更前の値をuniqueに掴みたいのです。
用途は例えば掲示板で、自分の投稿が何番か知りたい、とかです。
BEGIN/COMMITでくくらず別々にした場合はunique保証が出来ないのでNGです。
720:デフォルトの名無しさん
17/10/17 09:57:21.02 RHJUWC0z0.net
>>705
1回のクエリで実行しようとしたらそらそうなるでしょ
あと一意性を保証したいならトランザクション分離レベルをRepeatable Read相当(SQLiteではIMMEDIATEだったっけ)にする必要がある
721:デフォルトの名無しさん
17/10/17 10:56:38.81 s8lIkCI50.net
>>695みたいなPHPのコストについての話が出る度に思うが
こういう人って今までどの程度の規模のサービスを扱った事があるんだろ?
10年ぐらい前に俺が個人の趣味の延長で開発してaspとして金取ってたサービス
800万PV前後/日程度だったが
当時のPHP4系・MySQL3系・Apach1系の組み合わせのサーバー1台(DBすら分けてない)で運用できてた
レンタル費用をケチろうと思ったんだろう
貸出先が業者にまんまUIパクったようなものを数百万で作らせたら
全然PV裁けなくなって業者に文句言ったら
捌けるようになるまでサーバーを増やせと言われたという笑い話
800万PVなんてここのプロ様に比べたらレベルが低すぎるだろうから
最低1億PV/日ぐらいは想定してるんだろうなきっと
722:デフォルトの名無しさん
17/10/17 11:13:26.21 RHJUWC0z0.net
でも実際物理で殴る方がお安く済む, でしょう?
723:デフォルトの名無しさん
17/10/17 14:02:18.91 0jVjcAN80.net
>>707
800万pvのサイト今もやってるの?
724:デフォルトの名無しさん
17/10/17 14:45:24.76 s8lIkCI50.net
>>709
UIまんまパクったものを業者に作らせてると知った時に
そっちへサービス切り替えた瞬間に全部停止する事にしたから当然今はやってない
当時は他でネタ扱いされる程に儲けてたし
ちなみに何故それを知ったかというとその業者の開発者の内の1名から
技術的な質問をされたから
当然教えるわけないというか「コイツ頭おかしいんじゃね?」と思った思い出
>>708
今はそうだろうね
当時のこの話の場合、結局パクったシステムのサーバー運用コストの方が高くなったという笑い話
725:デフォルトの名無しさん
17/10/17 21:06:15.90 rwpxP9zha.net
PHPでHTMLをパースして、
JavaScriptのquerySelectorみたいなもので要素を選択したいのですが
そういうライブラリみたいなものありますか?
726:デフォルトの名無しさん
17/10/17 21:39:14.67 uXsqtlL/0.net
phpquery
727:デフォルトの名無しさん
17/10/17 21:50:33.21 rwpxP9zha.net
>>712
自分でしこしこ書いてたんですが、もうあったんですね
この数日の努力とはなんだったのか・・。
でもありがとうございます
728:デフォルトの名無しさん
17/10/18 00:06:15.43 catz1Ji3a.net
>>680の件ですが
URLリンク(phpfiddle.org)
を見つけました
関数の補完があるのが良さそうです
729:デフォルトの名無しさん
17/10/18 00:30:04.05 catz1Ji3a.net
JavaScriptのプレイグラウンドはcdnからライブラリを読み込めますが
PHPのプレイグラウンドでライブラリを読めるものはないのでしょうか?
730:デフォルトの名無しさん
17/10/18 00:45:02.72 c6Rft4Lma.net
というかプレイグラウンドなのにライブラリ読み込めないって
全然遊べないですよね・・
731:デフォルトの名無しさん
17/10/18 05:41:41.19 IAqZZNli0.net
>>706
少し紛らわしかったので補足します。
705のコードはSQLite3では意図したようには動きません。
ただしMySQL等他DBなら動くようです。(FOR UPDATEはSQLite3ではエラー)
URLリンク(dba.stackexchange.com)
或いは以下の書き方も出来るようです。
$sql .= "UPDATE counters SET count = (@cur_value := count)+1 WHERE id = 'post';";
$sql .= "SELECT @cur_value;";
URLリンク(www.sqlines.com)
問題はSQLite3ではこれらが出来ないことです。
ググル限り、UPDATEとINSERTの戻り値はAndroidでは取れており、
URLリンク(naichilab.blogspot.jp)
URLリンク(android.roof-balcony.com)
これらはPHPでは SQLite3::changes SQLite3::lastInsertRowID であり、
rowID===INTEGER PRIMARY KEY なので、INSERTして取る方法でとりあえず回避しました。
URLリンク(www.dbonline.jp)
URLリンク(www.sqlite.org)
以下コードになります。
$sql .= "BEGIN EXCLUSIVE;";
$sql .= "INSERT INTO logs VALUES ((SELECT count FROM counters WHERE id = 'post'), date('now'), '$data');";
$sql .= "UPDATE counters SET count = count+1 WHERE id = 'post';";
$sql .= "COMMIT;";
$result = $db->exec($sql);
var_dump($db->lastInsertRowID());
カウンタに対して2回クエリしているのが無駄なんですが、何とかなりませんかね?
(とはいえこちらは我慢できる範囲ですが)
なおスレ毎にtableを分ける予定ですのでAUTOINCREMENTには出来ません。
732:デフォルトの名無しさん
17/10/18 05:42:26.75 IAqZZNli0.net
次の質問です。
PHPの出力の終了を宣言することは出来ますか?
(そこで一旦通信を終了させ、その後は(ユーザから見て)バックグラウンド的に処理する)
ob_end_clean()はバッファのオフであって終了宣言ではないように見えます。
register_shutdown_function でリクエストの一部にはならない版が欲しいのです。
具体的には、PVの話が出てきて、それもいいなと思ってRead側にもカウンタをつけたものの、
Read/Writeで100倍くらい違うのでこの処理を分けたいのです。
・マルチスレッド(pThread) ← インストール必要
・非同期 ← フレームワーク必須
のため、
・</html>送信後はユーザー側には見えなくなるのでここでやらせる
という作戦を考えましたが、見た目それようの関数がなさそうです。
詳細は後述しますが、これが出来ればユーザ側レスポンスが0.2秒ほど早くなります。
或いはReadに関してはApacheのログをcron等で処理させる方がいいのでしょうか?
ちなみに速度ですが、もう既に遅いです。
XAMPPのローカル環境ですが、純粋にReadだけなら100pv/s程度で、
PVカウンタをDBに持たせるとそこに書き込みが行われ、2pv/s程度まで落ちます。
投稿ならこの倍遅く、1pv/sec程度になります。
まだ味見程度で、全部で100行くらいしか実行してないんですけどね。DBもスカスカですし。
8Mpv/day=100pv/sというのは、ちょっと言い過ぎでは?
或いは304にするかCloudFlare等活用しないと厳しいと思われます。
8ch.netはvichan(PHP+MariaDB)で40kposts/day=0.46posts/sを処理できませんでしたし、
桁はこれで合っていると思います。
だからってGoやNodeがどれほど速いのかは知りません。
(なお上記はスループットではなくレイテンシからの算出なので、実際はこれより早いはずですが)
なお実はBBx規制されており、代行してもらってます。
あまり面倒をかけるのも悪いので、以下に来てくれれば歓迎します。
URLリンク(meguca.org)
733:デフォルトの名無しさん
17/10/18 06:48:41.64 QGH5jOmla.net
>>718
迷惑だな
734:デフォルトの名無しさん
17/10/18 09:38:34.01 ZpnTdM5ra.net
>>713の件ですが
動作を確かめていますが、
phpquery、jqueryのセレクタが全部動いて素晴らしいですね
735:デフォルトの名無しさん
17/10/18 09:42:25.90 rF9hS7IgM.net
>>718
どんなマシン使ってるか知らんし、どれくらい書き込んでるし分からんが、いくら何でも遅すぎる
根本的になにかが間違ってると思うよ
736:デフォルトの名無しさん
17/10/18 12:36:34.56 v7V1Syde0.net
8Mpv/day=100pv/sが言い過ぎってさ…
実際に10年前に今より貧弱な環境で稼働させて
aspとして金を稼いでたサービスなんだけど(MAXで1000万/日超えた日もあった)
PHP4だったというのもあるけどさ
オブジェクト指向なんて全く理解してなかったしフレームワークも使ってない
クラス1個も使わずにfunctionとヒアドキュメントの組み合わせ
名前空間なんてものも当然なかった
DBへのアクセスが極力発生しないようにはしてたけど俺のレベルは糞低いぞ
サーバーのログはテキストでも壊れない…って事は全部テキストキャッシュにしてそれを読めばいい!と何でもテキストにしてたw
頭の悪い俺なりの発想
737:デフォルトの名無しさん
17/10/18 12:37:11.21 v7V1Syde0.net
昔こんな人と仕事をした事がある
色んな言語やデザインパターンを熟知してて
PHPも「これぞオブジェクト指向だ」と唸る程に素晴らしいコードを書ける
めちゃくちゃ頭が良いのが少し話すだけで分かるような人だった(後から知ったが東大卒だった)
でもその人が作ったサービスは激重で運用できなかった
俺は技術もないし頭が悪いからその人の何が悪いかは分からなかったけどw
お前らすごいね
実行レベル?イベントモデル?
pThreadだのGoだのNode.jsだのCloudFlareだの
俺には全然分からんわw
それでどんなサービスができるの?何人ぐらいに使ってもらってどれくらい捌けるの?
って事にしか興味がない
だってさ、使う人にとっては何の言語で書いてるとか関係ないじゃん
これだからPHPerは…って言われるんだろうけどこれでも金はそこそこ自慢できるぐらいは稼いできたからなぁ…
738:デフォルトの名無しさん
17/10/18 14:36:39.14 ZpnTdM5ra.net
PHPもwebrickやnode.jsみたいに
それ自体でサーバになればテストに便利なのに
と思って検索したら標準でビルトインウェブサーバーっていうのがあったんですね
739:デフォルトの名無しさん
17/10/18 21:26:02.74 451ejlL00.net
君は知らなかったかもしれないがそれ標準で組み込まれてもう5年半なんだ
740:デフォルトの名無しさん
17/10/18 22:56:18.69 /mn5vVDsa.net
長い間情報収集を怠っていたので
世の中想像以上に便利になっててびっくりします
741:デフォルトの名無しさん
17/10/19 04:05:45.17 lZeER9v70.net
>>721
こちらは桁が分かってないので助かります。
マシンは2007年製のポンコツで、書き込みは数文字だけですね。
レイテンシからスループットへの換算はやはり無理があるとして、
レイテンシだけにしても遅いので、問題もあるのだとは思います。(外部サイトの方が速い)
URLリンク(www.techempower.com)
>>722-723
opcacheの無い状態だと、コードを美しく整えれば整えるほど遅くなるから、
それを最初に確認したのです。>>691
君が書いたコードは細切れのバラバラで、
結果的に使う部分だけ走行するから速かったのでしょう。
それの方がよければそうすればいいだけです。
> 全部テキストキャッシュ
結果的に静的ファイルでキャッシュが効いたということでしょう。
今も同じ問題がCloudFlareにもあります。
> って事にしか興味がない
結果指向なのは正しいと思いますよ。
プログラミングはあくまで手段であり、目的ではないので。
特にネット上だと本末転倒になっている人も散見されます。
全く考えないのも問題ですが、考えすぎて手が止まっているのも問題です。
なおPHPerは最も馬鹿にされているらしいですが、JavaScripterよりマシな気はしますよ。
そしてデザインパターン/言語コレクターは使い物にならないと個人的には思います。
742:デフォルトの名無しさん
17/10/19 04:06:52.86 lZeER9v70.net
次の質問です。
以下環境でtidewaysが動作している人は居ますか?
A. PHP7.1, Win32, x86
B. PHP7.1, Win32, x64
C. PHP7.1, Linux on VM (つかPHPerの標準環境ってこれ?)
または
D. tidewaysのWindows用ビルドに成功した人、または挑戦する気がある人
こちらはA環境で入れてはみたものの、上手く動きません。
(ライセンス無し、XHPROFの代用での使用)
反応はしており、walltimeが 0, -2,147,483,648, -4,294,967,296 なので、31bitずれています。
おそらくHPETの問題で、以下の
URLリンク(github.com)
のところを修正すれば動く可能性があります。
ただこれはマシンにもよるし、ビルドは嵌る可能性が高い為、
VM等含めて動いている人が居るのであれば動くマシンを探し、駄目なら諦めかと。
誰かビルドに挑戦するのであれば協力はします。
なおビルドオプションは以下が参考になります。
URLリンク(ci.appveyor.com)
或いは他プロファイラーでいいのがありますか?
743:デフォルトの名無しさん
17/10/19 12:16:50.62 NzzKiK+50.net
> プログラミングはあくまで手段であり、目的ではないので。
> 特にネット上だと本末転倒になっている人も散見されます。
> 全く考えないのも問題ですが、考えすぎて手が止まっているのも問題です。
自己紹介乙
744:デフォルトの名無しさん
17/10/19 12:28:28.36 FE92wYZta.net
僕はプログラミングが目的で仕事はついでです
745:デフォルトの名無しさん
17/10/19 22:44:13.21 KjwMHyuL0.net
Windows CLIアプリで、EMAILなんかのJIS(ISO-2022-JP)文字コードのファイルを、
読み込んで変換して表示することは出来るのですが、
PHP自体をJISにして、そのPHPに書かれている日本語をechoすると、
undifined variable $Bのようなnoticeが出ます。
もちろんちゃんとコードページにあった文字コード(cp932)に変換はしているのですが、
変換以前に日本語が変数と認識されてしまうようで、うまくいきません。
PHPをJISで保存するなんてことは普通しませんが、
JISでPHPを保存した場合でも、Windows CLIでうまく動作させる方法はありますか?
URLリンク(tsuttayo.jpn.org)
このような記事を見つけて、書かれてる設定を加えてみたのですが、エラーは消えませんでした。
746:デフォルトの名無しさん
17/10/20 20:31:39.76 OAuKO2/4a.net
PHPをJISで実行しなければいけない理由は何ですか?
747:デフォルトの名無しさん
17/10/21 08:07:53.66 7N/u1SNi0.net
>>732
もし数行で対処出来るようなら取り入れようという感じのもので、
出来ないなら出来ないで構わないのですが、
JISで上書きしなおされるというイレギュラーに対処するためです。
748:デフォルトの名無しさん
17/10/21 10:33:40.68 LXe9cSfz0.net
PHPで作った自作のフォームに書き込みがなされると
メールで通知してくれるようにしている。
鯖の移転を考えてるんだけど(具体的にはByetという海外無料鯖)
あいにく候補の移転先はsendmailに非対応だったりする
(スパムメール対策だとか)
こういうときってどうやったらフォームへの書き込みを自分宛に
通知させることができるかな?
749:デフォルトの名無しさん
17/10/21 13:19:00.37 jXM7J8Fl0.net
>>733
PHPCSに掛けよう
大抵のルールセットはソースがUTF-8以外で書かれていればエラー扱いにしてくれる
internal_encodingの問題じゃないかとは思うが, 不正な文字コードで保存された場合にはリポジトリにpushされる時点でエラー通知が飛ぶようにするべきだな
750:デフォルトの名無しさん
17/10/21 13:59:33.75 ZxQy+kqda.net
PHPとGoって何が違うの?LIGが自社サービス開発にGo言語を採用したお話
URLリンク(liginc.co.jp)
>Go言語がPHP 7の30倍、PHP 5.6と比べるとなんと82倍にも及ぶスピード
こんな記事を見つけました
OPcacheなどを使った場合と比べてどうなのでしょうか?
自分の考えるPHPの魅力は、
Javaからパクったオブジェクト指向、
標準の関数でウェブやデータベースアクセスが色々できて面倒くさくない、
といったものがありますが、
Goのようなモダン言語ならそのあたりもクリアしてるんじゃないかと思います
どうなのでしょうか?
751:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 07:41:34.63 6vhnloCO0.net
他スレへGo!
752:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 08:49:39.36 FIB6YbKNa.net
>>734
このbyetってところいいですね
cronも使えるし
753:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 11:43:49.92 hechdin40.net
>>738
うん、いいところだな、と思ったら肝心のsendmailが動いて無くてな・・・
フォームに書き込みがあるとリアルタイムでメールで通知してくれるプログラムを
PHPで組んでいたんだが、さてどうしたものか・・・
754:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 12:04:54.94 UtqkZ3+I0.net
例えばプロバイダ等のメールサーバを使えばいいんじゃないか?
もしくはAWSのSEDとかも少量なら無料。
755:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 12:08:52.24 hechdin40.net
>>740
PHP(しかも管理人でも無い末端のユーザーに)からGmailのSMTPサーバー利用できるの?
756:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 13:05:50.25 4HKeVMJe0.net
ソケット使ってサーバーとお話し合いすれば出来そう
757:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 18:46:14.40 N3puxcTpa.net
byetでRSSの出力をしようとしていたのですが、どうもうまくいかないので
調べていたのですが
byetに置かれたファイルを他のサーバから読むと、
This site requires Javascript to work, please enable Javascript in your browser
or use a browser with Javascript support
みたいなページに変わることに気づきました
ブラウザ以外のユーザエージェントから読まれることを禁じているようですね
やはり無料のサーバは何かしらあるのですね
ブラウザからPHPも編集できて、これこそプレイグラウンドやんと思ったのですが・・
758:名無しさん@そうだ選挙に行こう! Go to vote!
17/10/22 19:45:40.22 UtqkZ3+I0.net
>>741
出来ない理由がないでしょ?
sendmailにこだわるんだったら話は別だけど
759:デフォルトの名無しさん
17/10/22 20:10:10.98 hechdin40.net
>>744
今までmail()を使ってメールを送信していたんだけど
この関数使ってsendmail以外を選ぶことって可能?
760:デフォルトの名無しさん
17/10/23 15:31:30.11 fxiC9AE30.net
>>735
面白そうなものを紹介していただき、どうもありがとうございます。
早速導入して検証してみようと思います。
761:デフォルトの名無しさん
17/10/23 18:29:23.56 n7tiHTCJ0.net
環境で詰まったというわけでなくプログラミングを勉強してる時に気になったことがあるのでテンプレ無しですがよろしくお願いします
インターフェースがクラスの設計書っていうのは説明読んでて理解出来たんだけど、例えば問い合わせインターフェースから最終的に問い合わせA,B,C,Dのクラスを作る前提で各クラスにはインターフェースで定義したメソッド1,2,3があるとします
メソッド2,3はクラスによって処理は違うけどメソッド1は処理が同じという場合はどう設計するのが良いのでしょうか?
共通の処理がなければ各クラス共にインターフェースを継承して作ればいいと思ったのですが、共通の処理がある場合まず問い合わせのベースとなるクラスを作ってそれを継承して各クラスを作るのが正解?
762:デフォルトの名無しさん
17/10/23 18:54:12.29 EbwleLYx0.net
>>747
抽象クラス
763:デフォルトの名無しさん
17/10/23 19:03:19.99 n7tiHTCJ0.net
>>748
もう少し本読み進めてから質問すればよかった・・・
ありがとうございます!
764:デフォルトの名無しさん
17/10/23 19:53:41.90 1HzbJqCQ0.net
>>747
トレイト
765:デフォルトの名無しさん
17/10/23 21:05:52.52 tJp0k/Rla.net
phpDocumentorの書き方ですが
クラスや関数や変数宣言ではない部分に書くコメントの場合でも
/**
*/
という記法で書くのでしょうか?
766:デフォルトの名無しさん
17/10/23 21:39:37.94 tJp0k/Rla.net
それを元にドキュメントを作るのがphpDocumentorの目的ですが
インターフェイスと関わらない部分のコメントはドキュメントに載らないので、
この記法で書く必要はない気もしますが
コメントの記法を揃えないと、それはそれで気持ち悪いです