PHP質問・雑談スレ4【初心者お断り(ROM歓迎)】 [無断転載禁止]©2ch.net

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

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

前スレ
http://medaka.2ch.net/test/read.cgi/php/1486956982/

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

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

このスレで扱わない話題
・直接関係ない○○特有の質問(専スレへ)
 (HH,エディタ,IDE,サーバ,OS,DB,SQL,FW,テンプレート,非公式ライブラリ・アプリケーション等)
・PHPの改造

2nobodyさん2017/06/29(木) 05:05:56.62ID:???
いちおつ

3nobodyさん2017/06/29(木) 09:16:10.00ID:???
サーバー変えたら動かなくなりました。
OSアップデートしたら動かなくなりました。
OS変えたら動かなくなりました。
WEBサーバー変えたら動かなくなりました。
WEBサーバーにパッチプログラムをあてたら動かなくなりました。
DB変えたら動かなくなりました。
DBをアップデートしたら動かなくなりました。
PHPのアップデートプログラムを更新したら動かなくなりました。
PEARのバージョン変えたら動かなくなりました。
PEARのアップデートプログラムを更新したら動かなくなりました。
WordPressのバージョン変えたら動かなくなりました。
WordPressのプラグインのアップデートプログラムを更新したら動かなくなりました。
Railsアップデートプログラムを更新したら動かなくなりました。
Rubyアップデートプログラムを更新したら動かなくなりました。
高負荷になったら動かなくなりました。 無償で修理してください。損害も請求します。
しばらく放置していて、最近動かしたら動かないです。原因はわかりません。これは御社の不具合なので無償で修理してください。

5年後ごとに起こるであろうこと PHPバージョン変えたら動かなくなりました。無償で修理よろしく
3年後ごとに起こるであろうこと Railsバージョン変えたら動かなくなりました。無償で修理よろしく
1年後ごとに起こるであろうこと Rubyバージョン変えたら動かなくなりました。無償で修理よろしく

無償で修理してください。損害も請求します。無視するなら瑕疵担保責任法で訴えるぞ!

納品先の会社 10社から同時に

重大な脆弱性が現バージョンから発見されました。こちらでアップデートしたところ、起動ができなくなりました。
至急弊社に来て修正作業をお願いします。なおお金は払わない。また営業に損失が出たので損害請求もします。

4nobodyさん2017/06/29(木) 09:16:40.50ID:???
瑕疵担保責任(かしたんぽせきにん)

瑕疵担保責任のポイント

民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない

http://www.atmarkit.co.jp/ait/articles/1706/26/news014.html
http://itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt

改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、
通知後5年以内は修正や報酬の減額などを求められるとしている

全ベンダーが泣いた民法改正案を解説しよう その1
http://www.atmarkit.co.jp/ait/articles/1609/14/news009.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html

ポイント1:修補や損害賠償、契約解除の期限がなくなる

従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、
11年後まで請求可能なのだ。

もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。

5nobodyさん2017/06/29(木) 09:33:55.83ID:???
ガイキチ

6nobodyさん2017/06/29(木) 09:35:02.39ID:???
飛んでいって無償改修なんてしねーから

7nobodyさん2017/06/29(木) 10:22:20.91ID:???
>>6

じゃあ瑕疵担保責任法で訴えるまでだ。損害賠償請求もする

8nobodyさん2017/06/29(木) 10:23:07.04ID:???
いい加減にしろ

9nobodyさん2017/06/29(木) 10:27:17.18ID:???
お前らこそいい加減にしろ

10nobodyさん2017/06/29(木) 10:56:16.90ID:???
おまえら世間ではペチパーと言われてバカにされているんだよ。

バカにバカと言っているだけだよ

11nobodyさん2017/06/29(木) 11:01:30.56ID:???
友達がいないとこうなるからお前らも気をつけろよ

12nobodyさん2017/06/29(木) 11:18:22.36ID:???
友達いないだけじゃこうはならんわ

13nobodyさん2017/06/29(木) 11:39:41.27ID:???
ペチパーとかいうバカな生き物が何か言ってるwww

14nobodyさん2017/06/29(木) 12:52:25.56ID:???
豊田真由子の新音声公開されたけど
たぶんあんな感じの自分エリート周り糞みたいな思考のやつなんだろう

15nobodyさん2017/06/30(金) 20:32:41.42ID:???
Aを渡すとBに変換する関数
Bを渡すとAに変換する関数
しかしこの関数の中身は同じなのです
例えばAからBをencode
BからAをdecodeとすると
Bをencoderに渡してもAになってしまうのです
こんな関数はおかしいですか?
なんかいい関数名ないですか?

16nobodyさん2017/06/30(金) 20:41:13.31ID:???
前スレ埋めろ
AとBが確実に二分できて機械的に判定可能なのかによる

17nobodyさん2017/06/30(金) 21:03:00.41ID:???
>>16
お遊びで作ったソース難読化です

function give_me_a_name($src){
$hex=bin2hex($src);
$len=strlen($hex);
$buf="";
for($i=$len-1;$i>=0;$i--){
$tmp=15-hexdec($hex[$i]);
$buf.=dechex($tmp);
}
return hex2bin($buf);
}

18nobodyさん2017/06/30(金) 23:05:25.39ID:???
今日はム板のスレ立てるまでもない〜スレでくだらないゴミみたいなオレオレ解釈法律談義相手してもらえてよかったね

19nobodyさん2017/06/30(金) 23:30:13.98ID:???
>>17
0-9a-fだけで構成された、しかし難読化を経たものではない $srcが指定されたらどうすんの
ソース難読化なら$srcに<や;が含まれてるかどうかなどによって
自動判別する関数をお前が作るのは自由だし、それは特におかしい関数ではない
しかし、全ては目的、用途、処理次第であるため、
その手の変換および自動判別を行う、汎用的な関数の存在を期待するのはおかしい

20nobodyさん2017/06/30(金) 23:35:13.34ID:???
向こうじゃ話ついていけなくてぺちぱースレに戻ってきたぺちぱー()
法律オジサンちゃんとこっちでしっかり軟禁しとけよ

21nobodyさん2017/06/30(金) 23:46:16.09ID:???
あっちはどこもワッチョイスレなんだよなあ

22nobodyさん2017/07/01(土) 06:52:37.12ID:???
的を得ない自分勝手なオナニー講釈たれるアスペ野郎はどこでも嫌われるんだなw
なんか見ててちょっとお気の毒

23nobodyさん2017/07/02(日) 07:11:14.70ID:???
今日はJSスレで遊んでもらってるんだね

24nobodyさん2017/07/02(日) 07:46:30.35ID:???
なんだ負け惜しみか?

25nobodyさん2017/07/02(日) 16:07:35.43ID:???
ビョーキだな

26nobodyさん2017/07/12(水) 18:00:04.40ID:z8l7m4aE
質問させてください

PHPで受信メールを解析しています。
添付ファイルなしで本文取得は出来るのですが
添付ファイルありだと本文の取得が出来ません
下記がコードです。よろしくお願いします。

switch(strtolower($data->ctype_primary)){
case "text":
$text = $data->body;
break;
case "multipart":
foreach($data->parts as $part){
switch(strtolower($part->ctype_primary)){
case "text":
$text = $part->body;
break;
case "image":
$type = strtolower($part->ctype_secondary);
break;
}
}
break;
}

27nobodyさん2017/07/12(水) 18:12:20.00ID:???
>>26
できあいのparser使った方がいいと思う

28nobodyさん2017/07/12(水) 19:07:05.55ID:z8l7m4aE
>>27
レスありがとうございます
できあいのparserでも結果は同じでした
マルチパートの本文の取得方法がわかりません…
よろしくお願いします

29nobodyさん2017/07/12(水) 19:43:28.53ID:???
>>28
なにをどう試してどう失敗したかを書くと
答えやすいと思うよ

30nobodyさん2017/07/12(水) 21:16:20.79ID:???
\r\n\r\nで区切ってみりゃいいんじゃね
共通ヘッダ テキストヘッダ テキストボディ 添付1ヘッダ 添付1ボディ 添付2ヘッダ 添付2ボディ・・・
みたいな感じになってる気がするけど
メールのことは詳しくないしRFC読むの面倒だから適当回答ですまんが

31nobodyさん2017/07/12(水) 21:27:52.08ID:???
あ、よく見たらboundary情報が書いてあった

32nobodyさん2017/07/12(水) 23:13:57.16ID:???
parser自分で書いてるなら
添付ファイル付きメールをparserと同じように手で解いていって確認すりゃいいだろよ・・・

33nobodyさん2017/07/13(木) 23:46:01.51ID:???
どうやって?

34nobodyさん2017/07/14(金) 10:08:54.80ID:???
>>28
> できあいのparserでも結果は同じでした
何使ったの?

35nobodyさん2017/07/14(金) 10:22:30.46ID:???
定期的に出没するカスだよ

36nobodyさん2017/07/14(金) 22:30:07.02ID:???
とカスが申しております

37nobodyさん2017/07/15(土) 19:32:54.46ID:+oN2dI32
シングルトンパターンってなぜ必要なんでしょうか?

例えばとあるソースでHttp通信(RESTAPI通信)を行っているクラスがシングルトンパターンで
作られているのを見かけたことがあったんですが
複数のインスタンスが作られると何がまずいんでしょうか?

38nobodyさん2017/07/15(土) 21:09:19.25ID:???
なぜ必要か
  どんな状況にも通じる絶対的な必要性などないし使われてる状況による

とあるソースで 〜〜 何がまずいか
  んなもん書いた奴に聞けマジで

39nobodyさん2017/07/16(日) 04:25:56.15ID:2UeiIHQZ
>>37

dbやcurlなどの接続を開始するためにコネクタクラスを毎回newしていると、
無駄にメモリ消費が増える。
インスタンスの共有が問題にならない局面でのみ有効な考え方。

40nobodyさん2017/07/16(日) 23:51:12.19ID:???
たいてい、DBマネージャーとか、何々マネージャーと言う、
何かを管理するオブジェクトは、シングルトンにする

もし、2つあると、管理できないから

41nobodyさん2017/07/18(火) 02:33:26.59ID:Ro/ZKJYI
>>40
管理できないのはhogefugaマネージャの実装の問題で(仕様とも言えるが)、
本質的にシングルトンにすべきかどうかの問題じゃないと思うが。

42nobodyさん2017/07/18(火) 04:45:36.30ID:???
正論
だがそれ以前にシングルトンについての質問であってphpの質問ではないように思われる

43nobodyさん2017/07/18(火) 15:39:52.79ID:???
シングルトンって同じリソース使いまわす時に使うんでないの?
ユニキャストやらマルチキャストやらスレッドやら非スレッドやら同期やら非同期やら
その辺で使い分けるようなきがするがよくわかっていない

44nobodyさん2017/07/18(火) 23:16:13.87ID:???
>>39
>>37

>dbやcurlなどの接続を開始するためにコネクタクラスを毎回newしていると、
>無駄にメモリ消費が増える。
>インスタンスの共有が問題にならない局面でのみ有効な考え方。

毎回newしても
ガベージコレクタがいい感じにメモリ解放してくれるからあまり問題にはならないんじゃないの?
違うの?
だれか詳しい人教えて!

45nobodyさん2017/07/19(水) 01:31:28.00ID:???
新しい手法だな

46nobodyさん2017/07/20(木) 06:30:51.15ID:???
インスタンスを作っては削除し、これを繰り返すのは、
ループ内で、10万回もするなら、性能低下を引き起こす

回数が少なければ、気にならない

47nobodyさん2017/07/20(木) 17:10:00.57ID:???
for($i = 0; $i < 100000; $i++)
{
  $dbh = new PDO();
  $dbh->query("INSERT INTO tbl(id) VALUES({$i})");
  unset($dbh);
}

48nobodyさん2017/07/20(木) 18:59:56.25ID:GrpxDoI3
[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

Downloader.phpからエラーメッセージ追っとる;;;

49nobodyさん2017/07/21(金) 02:37:43.22ID:Jz40TgFn
>>44
PHPやJAVAのガベージコレクションはどこまで信頼できる?
タイミングを含め盲目的な依存は危険だろ。

>>46
10万回って数を持ち出してくるとは恐れ入るなw
一般的にDBに設定されてる同時最大接続数を知らないとしか思えん。
貴重なリソースを一人占めするんじゃないぞ。

50nobodyさん2017/07/21(金) 06:27:30.33ID:???
phpの話というよりDBの話になってるような

gcがどんな感じでも、1つのプログラムが長時間実行され続けることが
多くないphpにおいては、DB接続とgcはあんまり関係ない気がするんだが
javaのgcとは状況が色々と違うべ
むしろ全体でコネクションプーリング考えなきゃかなとかそっちのほう

51nobodyさん2017/07/21(金) 16:02:01.16ID:ap6/579G
お前ら手動でビルドしてるのかよー。頼むから教えてくださいお;;

52482017/07/21(金) 16:07:32.65ID:ap6/579G
お前らとか言ってすんませんした。pecl詳しい人居たら教えてくださいよろしくお願いします。

53482017/07/21(金) 16:57:09.81ID:ap6/579G
すいません自己解決しました。。

54nobodyさん2017/07/22(土) 21:48:31.78ID:???
マルチのキチガイ初心者

55nobodyさん2017/07/26(水) 07:53:31.11ID:???
HLSネイティブサポートがSafariだけとかで、
そんな中でもいち早く対応プレイヤー登場させたクロスプラットフォームなFlashさんもとうとう死ぬんか・・・
これからが真のブラウザ競争の幕開けやなぁ
ブラウザにネイティブPHPサポート入れたら流行るでえ

56nobodyさん2017/07/26(水) 16:25:06.78ID:???
なんでcsv関係関数もSplFileObjectも全部、改行コードの指定がないんだろう

57nobodyさん2017/07/26(水) 18:35:13.70ID:???
>>56
> なんでcsv関係関数もSplFileObjectも全部、改行コードの指定がないんだろう
別に指定しなくても読めるから

58nobodyさん2017/07/26(水) 20:09:16.13ID:???
>>57
enclosureだってRFC的にはencloseは " だから指定なくても読めるけど変更可能じゃん?
エスケープ文字は…\と""連続があるからまあわかる
区切り文字はtsvを読みたい人もいるだろうからなのかな

59nobodyさん2017/08/08(火) 11:52:15.62ID:???
strpos(string haystack, string needles)
なんだよhaystackって干し草の山?意味わからんでえ

60nobodyさん2017/08/08(火) 20:00:46.14ID:???
while (!feof($fp)) {
 fgets($fp);
}
fclose($fp);

これが終わらない$fpにはどうしたらベストですかね?

61nobodyさん2017/08/08(火) 20:25:54.45ID:???
EOFが返ってこないもの(/dev/zeroとか/dev/urandomとか)を読むなら終了条件がEOFまで読んだらってのがおかしい

62nobodyさん2017/08/08(火) 20:33:25.81ID:???
>>61
すみません説明不足でした
fsockopenで開いたwebサーバですね
サーバによっては返さないみたいで
その場合どうしたらいいのかなと

63nobodyさん2017/08/08(火) 20:43:22.70ID:???
え、keep-aliveの話?
http(s)で繋ぐだけならfile_get_contentsやcurlでいいじゃん
ストリーミングだっつーなら・・・・・・

64nobodyさん2017/08/08(火) 21:05:18.91ID:???
あーkeep-aliveですか
てことはconnection: close送ればいいのかな

65nobodyさん2017/08/08(火) 21:13:08.94ID:???
fsockopen使っててconnection: close送ればいいのかな、って
自分でkeep-aliveを明示的に送ってんじゃないんかい?

66nobodyさん2017/08/08(火) 21:15:53.74ID:???
>>65
送ってないです
connectionは未指定でした

67nobodyさん2017/08/08(火) 21:36:05.44ID:???
とりあえず低レベルに手を出すなら今どうなってるか自分で確認せんと
聞くならなんのリソースでどんなプロトコルでどんなリクエスト送っててどういう状況になってるかはじめから書かんと
HTTP/1.1を送ってて1回1回切りたいならkeep-aliveを指定してなくてもconnection: close
cURLでいいような気がするが

68nobodyさん2017/08/08(火) 22:57:30.87ID:???
>>67
ありがとうございます
connection: close送ってもだめでした
いうこと聞いてくれないサーバなのかもしれません
file_get_contentsだとcontext指定しても期待した結果が返って来ず
cURLは面倒くさそうだったのでスルーしてましたがcURLでも試してみます

69nobodyさん2017/08/08(火) 23:58:02.89ID:???
guzzlehttp/requestとかじゃダメなんか

70nobodyさん2017/08/09(水) 06:55:29.66ID:???
guzzleって使ってなんかcurlにはない良いことあるの

71nobodyさん2017/08/09(水) 10:35:03.45ID:???
keep-aliveって、こっちがcloseしたら相手がsocketを破棄するとかそういうのじゃないよ

72nobodyさん2017/08/09(水) 13:44:54.84ID:???
そうなのか?だとしたら知ったかしてて悪かった

73nobodyさん2017/08/09(水) 15:21:18.33ID:cGBSy5e7
HTTPなら読み込み終了条件はContent-Lengthヘッダがあればそのサイズだけ読んだとき, Transfer-Encoding:chunkedのときはサイズ0の空チャンクを読むまでだろ
規格外の規約で通信するなら知らんが

74nobodyさん2017/08/09(水) 17:12:26.79ID:???
タイムアウトを実装

75nobodyさん2017/08/10(木) 06:40:33.36ID:???
>>73
それ以外のケースある?その2つだけ?

76nobodyさん2017/08/11(金) 20:06:35.60ID:???
>>75
RFC7230とRFC7540あたりを読む

77nobodyさん2017/08/11(金) 20:10:28.24ID:???
>>76
そしてわかったことを俺に教える

78nobodyさん2017/08/11(金) 20:12:30.75ID:???
>>76
おう、面倒だから代わりに読んできてくれや
お前さんのスキルアップに一役買うためにネチゴロして待ってんよ

79nobodyさん2017/08/11(金) 20:20:12.88ID:???
やーよ俺はcURLとかguzzlehttp/requestを使う

80nobodyさん2017/08/12(土) 03:07:47.41ID:???
curl使えって言った時点で話終わっちゃうじゃん

81nobodyさん2017/08/12(土) 03:26:44.32ID:???
今メール送るのってどうしてます?

82nobodyさん2017/08/12(土) 04:02:01.13ID:???
fsocketとcurlでcurlの方が面倒とか言っちゃうんだから察しろ

83nobodyさん2017/08/12(土) 05:27:54.02ID:???
実際面倒だろ
カスタマイズ性には劣るが生のhttpヘッダ送るほうが簡単に決まってる

84nobodyさん2017/08/12(土) 05:45:54.17ID:???
ええ・・・

85nobodyさん2017/08/12(土) 08:39:04.21ID:???
生じゃないと安心できない

86nobodyさん2017/08/16(水) 00:40:58.25ID:FXSi5oh2
自宅にWebサーバ立てたのですが
FireWallとかよくわからないので
そのまま自作Webサイトを公開しているんですが
FireWallあるのと無いのでは何が違うんでしょうか?
一応現時点では80番ポートのみ開放しているのでそれで十分かと思ってるのですが
想定される不正アクセスはどのようなものがあるのでしょうか?

87nobodyさん2017/08/16(水) 01:03:05.64ID:???
それらの質問はphpと直接関係あるのでしょうか?

88nobodyさん2017/08/16(水) 01:10:44.19ID:???
>>86
手書きで ../../ とか親ディレクトリをたどられないかとか、
存在しないURL・ファイル名指定されて index一覧をダダ洩れさせてしかも親へ移動できちゃわないようにしっかりチェックしてね
まぁ面倒なら .htaccessでがちがち設定にしとけばいいよ

89nobodyさん2017/08/16(水) 01:40:26.18ID:+9VPpAQA
>>88
それってFireWallとは関係ない話なんだがw

90nobodyさん2017/08/16(水) 02:06:01.90ID:???
>>89
>想定される不正アクセスはどのようなものがあるのでしょうか?

って書いてあるからその状態(port80のみ開放)ではどんないたずらを速攻でされ易いかという意味で合ってるだろ

91nobodyさん2017/08/16(水) 02:08:35.30ID:???
マジでphp全然関係ねえ

92nobodyさん2017/08/16(水) 02:14:51.36ID:???
それはそうだwディレクトリ掘りの後にクエリ捏造でphpの出番が来るけどな

93nobodyさん2017/08/16(水) 02:18:43.56ID:???
php側のセキュリティはphpコード側で何やってるかがまず問題だしなあ

セキュリティよく分からないのに自宅鯖とか
愚劣を極めてるやつにピンポイントであれこれ教えても無意味

94nobodyさん2017/08/16(水) 02:34:51.22ID:???
スレ違いなの分かってるけどどうしてもこれだけは言っておきたい
普通の意味でファイアウォールと言ったらTCP/UDPレイヤでの操作だけども, 80と443以外のポートはきちんと閉じていますか, と
22とかまともに設定せずに開放してたら踏み台にされてるんじゃねーのか

95nobodyさん2017/08/16(水) 09:35:32.54ID:???
ルーターはハードウェアファイアーウォールだし、
サーバ側にソフトウェアファイアーウォールが入ってなくても問題はない。
外に持ち出しして、不明な構成の外部ネットワークからつないだりしたら問題になるかもしれんが。
ただ↑の指摘のようにsshは気軽に誰でもアクセスできちゃうと、
パスワード突破されたらサーバが乗っ取られるので、
ポートは22以外を使うのと(スキャンされにくい1024以降)、lan内と外から使うかもしれない一部プロバイダ以外からは遮断する。
その細かな制御は高性能のルーターじゃないと出来ないので、ソフトウェアファイアーウォールが必要になる。
まぁWindowsサーバだろうし、sshとかも入れてなさそうだけど。なんにしてもスレチだな。

96nobodyさん2017/08/16(水) 09:39:42.33ID:???

97nobodyさん2017/08/19(土) 15:17:36.82ID:???
xxx.xxx.[0-255].[0-255]正規表現でこのような指定は出来ないので、
if ($yourip == fn("xxx.xxx.0.0/16"))
このようなサブネットマスクでIPを調べれる関数とかありませんでしょうか?

98nobodyさん2017/08/19(土) 15:57:43.95ID:???
>>97
自分で書けよ

99nobodyさん2017/08/19(土) 16:04:01.93ID:???
IPアドレスが指定した範囲内にあるかどうか判別する - Qiita
http://qiita.com/ran/items/039706c93a8ff85a011a

こんなの?

100nobodyさん2017/08/19(土) 16:20:11.70ID:???
>>98-99
ありがとうございます
さすがにまんまなものはなかったんですね
>>99さんのリンクのを使わせていただきます

101nobodyさん2017/08/19(土) 20:11:02.89ID:???
すげー細かいことだけどxorしてからシフトすればシフト1回で済む
PHPでandとxorどっちが早いかは確かめていない

102nobodyさん2017/08/20(日) 01:48:19.58ID:???
もっと細かいことだけど
れるられる
が気になる

103nobodyさん2017/08/20(日) 09:36:55.83ID:???
れろれろ

104nobodyさん2017/08/24(木) 20:16:03.54ID:???
自サーバの指定ポートが使われてる(LISTEN状態)かチェックする方法ってありますか?

105nobodyさん2017/08/24(木) 23:47:48.82ID:e59+rI+5
もしかしたらすれ違いかも知れませんが気にせず質問させていただきます

先日パソコンが壊れました
電源をつけると5秒後に再起動を繰り返してしまいます
原因がわからないのですが
どなたか対応方法などご存知の方いたら教えてください

106nobodyさん2017/08/25(金) 02:32:32.38ID:???
HDDかマザーかメモリーが壊れてるんだろ

107nobodyさん2017/08/25(金) 03:12:35.66ID:???

108nobodyさん2017/08/25(金) 04:29:08.22ID:???
>>107
エラーを出せばわかるのですが実行前に検出したいです
file_get_contentsの前にfile_existsをやるようなイメージです

109nobodyさん2017/08/25(金) 04:36:31.07ID:???
よくわからんけど netstat -an をexec()したら?

110nobodyさん2017/08/25(金) 05:05:45.19ID:???
>>109
エラー制御とかErrorException投げるようにすればいいのですが
fsockopenで開いてないポートに接続するとE_WARNINGが出るのがいまいちで
$errstr参照できるようにしてるのだからFALSE返せばいいのに・・・
説明には
>hostname が有効なドメインでない場合は E_WARNING をスローします。
って書いてますけどhostnameは有効なのにportとセットになっちゃってるようですね

netstatコマンド叩く案で対処しようと思います
どうもありがとう

111nobodyさん2017/08/25(金) 12:09:34.80ID:+7AGwzz6
こりゃあ面白いわ!!
https://blogs.yahoo.co.jp/antseq01/15073181.html

112nobodyさん2017/08/30(水) 19:27:46.70ID:???
tmpfile() で作ったファイル名を知りたい

113nobodyさん2017/08/30(水) 19:39:21.19ID:???
>>112

一時ファイルのパスを知る必要のある局面では、
tempnam()で一時ファイルを作成してから、
fopen()でオープンする。

tempnam()は単に文字列としてのパスを生成するだけでなく、パスの競合を避ける為に一時ファイルを作ることに注意。

114nobodyさん2017/08/30(水) 20:28:44.54ID:???
$fp=tmpfile();
print stream_get_meta_data($fp)['uri'];

115nobodyさん2017/08/31(木) 21:01:22.84ID:???
mb_detect_orderってマニュアル通りの結構適当なの

mb_detect_order("eucjp-win,sjis-win,UTF-8");
あるいは
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);


で動いちゃってますけど実はあんまよくわかっていません
マニュアルではJP系のしかありませんが
非英語圏、非日本語圏の場合はどうするのかなど
これが本当に正しい検出順ってのがありましたら教えて下さい

1161152017/09/09(土) 20:10:54.83ID:???
やっぱみなさんもよくわかってないで設定してるかんじなんですかね?

117nobodyさん2017/09/09(土) 20:18:41.74ID:???
今どきはutf-8が先頭じゃね?

118nobodyさん2017/09/09(土) 20:38:35.05ID:???
負荷だって問題になるし誤判定防止の観点も重要だし、何を優先したいかじゃないんか
つか自動検出したいって対象というか目的が限られるよな

119nobodyさん2017/09/10(日) 16:35:08.02ID:???
完全な自動検出なんてそもそも無理だし>>115が何を以って正しいとするのか不明だしアホかと

120nobodyさん2017/09/18(月) 04:42:58.32ID:???
PHPコミュ死亡したの?PHP7も特に話題にもならなかったしついにPHPも終焉か
目新しいものもないし仕方ないか・・・

121nobodyさん2017/09/18(月) 13:00:42.35ID:???
死亡したことにしたいならそうすればいいんじゃないかな

122nobodyさん2017/09/19(火) 10:33:16.80ID:???
PHPってバイナリごと配布しておk?

123nobodyさん2017/09/19(火) 11:02:07.42ID:???
LISENCEファイルの本文冒頭に書いてあるぞ

124nobodyさん2017/09/19(火) 11:02:22.40ID:???
LICENSE

125nobodyさん2017/09/19(火) 12:45:16.25ID:???
oh miss spell

126nobodyさん2017/09/20(水) 06:59:21.00ID:???
よくわからないからxampp参考にするか
.\licenses\phpに入ってるな
.\phpにも入ってるけど
くっそめんどくせえ

127nobodyさん2017/09/23(土) 08:21:36.78ID:???
外部設定ファイルxml,ini,json等を読み込んで
phpの変数に割り当てます

{
 "phpver": "7.0",
 "pyver": "3.6"
}

$j = json_decode("json");
$this->phpver = $j->phpver;
$this->pyver = $j->pyver;

例えばこういうコードなのですが
このjsonの編集は自由に出来るとして
ミスでパース出来ないコードにしてしまったり
あるべき項目が入ってないことを想定して
プロの皆さんはissetで必要項目全チェックしたり
なかった場合に例外なり出したりとかするんでしょうか?

128nobodyさん2017/09/23(土) 10:19:41.47ID:???
プロの皆さんは、とか臭い
自分で考えろ

129nobodyさん2017/09/23(土) 12:11:13.07ID:???
noticeが出ない程度にissetとnullセットをしつつ
実際に実行したときに問題が起きて終了するか
データのvalidationまでやって実行前に正しいか事前にチェックするか
ちょうどコンパイラとインタプリタの概念に近いもんだと思うけど面倒だから前者だな

130nobodyさん2017/09/23(土) 12:31:50.42ID:???
noticeはだめでwarningはいいんだね

131nobodyさん2017/09/23(土) 14:14:29.35ID:???
……?例外投げるとか、Fatalで終了させるとかそういうのじゃないのか

132nobodyさん2017/09/23(土) 20:31:43.79ID:???
.user.iniに記述した内容が反映されないのですが何か注意点あるでしょうか?

root権限ありの環境でphp.iniもいじれますが事情があって.user.iniを使う必要があります
php.ini内で
user_ini.filename = ".user.ini"
として、phpファイルのあるディレクトリに.user.iniを作り、
同ディレクトリに置いてあるphpinfoで確認しても反映されない状況です
.htaccessにphpvalueで書いたものは反映されるのですが、.user.iniが効かないのが気持ち悪くて。。。

1331322017/09/23(土) 20:32:44.12ID:???
補足
.user.iniに書いているのは
post_max_size=15M
のみです

134nobodyさん2017/09/23(土) 21:06:12.60ID:???
そのPHPの実行環境はどれなの?
CLIかmod_phpかphp_fpmか

135nobodyさん2017/09/23(土) 21:12:50.05ID:???
Webサーバ通してphpinfo見てて、
php.iniでuser_ini.*を編集してからWebサーバ再起動してなかった
ってオチじゃないだろうな

136nobodyさん2017/09/23(土) 21:17:46.74ID:???
環境はmod_phpです
centos7.3
apache2.4.6
php5.6.31

php.ini変更をしてからhttpd再起動しています
phpinofのuser_ini.filenameには.user.iniと表示されています

137nobodyさん2017/09/23(土) 22:30:26.81ID:???
>>136
http://php.net/manual/ja/configuration.file.per-user.php
> このファイルは、CGI/FastCGI SAPI の場合にのみ処理されます。

> この機能は、PECL htscanner 拡張モジュールを置き換えるものです。
> Apache モジュールとして PHP を実行している場合は .htaccess ファイルを使えば同じ機能を実現できます。

138nobodyさん2017/09/24(日) 08:20:24.15ID:???
いまどきmod_phpなんて使ってるから

139nobodyさん2017/09/24(日) 14:43:47.07ID:???
set_iniで書く

140nobodyさん2017/09/25(月) 06:46:06.55ID:???
アップローダーで、
「名前、コメント、URL、アップロード時刻、ファイルサイズ」の4つを|文字区切りでログしていて、
名前 コメントは$_POSTで|文字を使うことが出来ない、
URLはオリジナルファイル名を破棄してuniqidを付与したもの、
アップロード時刻 ファイルサイズはtimeやfilesizeでシステムからのものという仕様になっています。
これらをhtmlに表示する場合、
システム側が作成する、[a-f0-9]のファイル名(URL)や、
intであるはずのtime(dateで変換して読みやすく表示)やfilesizeは安全な値だと思うのですが、
これらをhtmlspecialcharsする理由はなんなんでしょうか?

141nobodyさん2017/09/25(月) 07:21:56.76ID:???
>>140
分けるのがめんどいから一括でサニタイズしているだけだと思う

1421402017/09/25(月) 08:08:18.75ID:???
>>141
なるほど、ありがとうございます。

143nobodyさん2017/09/25(月) 13:40:09.72ID:???
366 :nobodyさん 2017/05/29(月) 16:07:39.16 ID:6v4UcGhE
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744

367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/

372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する

Railsはマイナー、メジャーのアップデートが半年以内に必ずある

客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく

気づいてから1年以内に通知すれば、5年間無料保証ゲット

つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな

376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。

144nobodyさん2017/09/25(月) 14:08:58.86ID:???
お前少しスレが伸びると登場するよな

145nobodyさん2017/09/27(水) 19:56:39.79ID:???
保守に強いのって何だろう?
Java?

146nobodyさん2017/09/27(水) 20:10:15.96ID:???
無駄にコード長くなる冗長なJavaが保守に強いってか
つうかこのスレ向けの話題じゃないしPHP関係ないからム板で聞きなさい
http://mevius.2ch.net/tech/

147nobodyさん2017/10/02(月) 16:41:56.90ID:???
作ったコンソールアプリをwindowsでバックグランドで動作させるにはどうしたらいいですか?
cmd画面だしっぱで動作させることは出来るのですが、
タスクトレイには表示させてもいいですが、ついうっかりバツボタン押しちゃうので、
誤操作防止にもタクスバーに残らないようにしたいです。
切るときはタスクトレイから止めるか、タスクマネージャーから直接止めるという感じにしたいです。
可能でしたら方法教えてください。お願いします。

148nobodyさん2017/10/03(火) 02:44:51.89ID:???
php-win.exeで起動させるとcmd画面が表示されない

1491472017/10/03(火) 22:58:08.51ID:???
>>148
出来ました。どうもありがとうございます。

150nobodyさん2017/10/05(木) 00:05:56.71ID:???
デバッガ付きのIDEってないですか?
XAMPP入れたりApacheやPHPの設定するのが大変です
しかもしょっちゅうおかしくなって再起動必要だし・・・

151nobodyさん2017/10/05(木) 06:54:42.12ID:???

152nobodyさん2017/10/08(日) 12:02:16.66ID:???
xamppで質問なんですが、スレチだったらすいません
php.iniで
include_path = "D:\xampp\php\lib\smarty"
と設定した場合、smarty内のphpファイルを全部読み込むということなんでしょうか?

153nobodyさん2017/10/08(日) 12:17:16.23ID:???
>>152
検索パスであって勝手に読むわけではない

あと今はグローバルにインストールしてinclude_path指定するよりcomposerでプロジェクト毎にインストールするのが普通

154nobodyさん2017/10/08(日) 12:28:27.60ID:???
>>153
あー、なるほど
つまりパスを登録しておけば
require( 'Smarty.class.php' );
で読み込める事ができて楽、ということなんですね

後、パスを複数登録した時、同じ名前のファイルがあるとどうなるのでしょうか

155nobodyさん2017/10/08(日) 12:50:34.11ID:???
>>154
「パス 優先順位」でググれ

156nobodyさん2017/10/08(日) 13:03:37.64ID:???
>>155
ありがとうございます!

157nobodyさん2017/10/08(日) 14:26:08.75ID:???
>>154
一つ上の階層をインクルードpathにして
フォルダで分けるそしてrequiireを
require( 'smarty&#165;Smarty.class.php' );
とする

新着レスの表示
レスを投稿する