板検索:
【PHP】下らねぇ質問はここに書き込みやがれ (998)
まとめビュー
最新スレッド候補が見つかりました
【PHP】下らねぇ質問はここに書き込みやがれ 8 (114) スレ作成日時:2017/03/15 00:41:22
1
デフォルトの名無しさん[]   投稿日:2014/12/16 23:02:27  ID:IVwNaeTx.net
PHPに関する下らない質問用避難スレです。
まず読むこと【PHPマニュアル】
http://www.php.net/manual/ja/
コメント2件


2
デフォルトの名無しさん[]   投稿日:2014/12/16 23:57:45  ID:if+akcCT.net
Webprogにスレあるのに重複か





















重複の糞スレ終了
コメント2件

3
デフォルトの名無しさん[sage]   投稿日:2014/12/17 00:23:17  ID:oDlbLDL6.net
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.5
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

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

4
デフォルトの名無しさん[sage]   投稿日:2014/12/17 02:44:27  ID:XucQiojd.net(2)
おつ

5
デフォルトの名無しさん[sage]   投稿日:2014/12/17 08:01:24  ID:Q55Z/XYm.net
>1
糞スレ立てるなウジ虫

6
デフォルトの名無しさん[sage]   投稿日:2014/12/17 08:33:48  ID:2HMoZql1.net
cliスレだろ?

7
デフォルトの名無しさん[sage]   投稿日:2014/12/17 09:24:51  ID:92SEZchH.net(2)
あのレスの内容の90%はまったくPHPと関係のないスレのことか

8
デフォルトの名無しさん[sage]   投稿日:2014/12/17 09:29:24  ID:9gD1VcMA.net
IDなしだと荒らされるので避難してきました

9
デフォルトの名無しさん[sage]   投稿日:2014/12/17 09:36:52  ID:92SEZchH.net(2)
数カ月前にこの人が無断で画像使ってるから修正したけど無視されてるし
http://qiita.com/mpyw/items/1cb6fc8170b6a8c8eb04
こんなんばっかりだろPHPerってさ
一応http://www.japrpo.or.jp/には通報済みだけど削除されないものだな
コメント1件

10
デフォルトの名無しさん[sage]   投稿日:2014/12/17 09:55:03  ID:VoUyzdqa.net(2)
お前のことなんて興味ないし
質問スレでオナニー披露しないでいいから

11
デフォルトの名無しさん[sage]   投稿日:2014/12/17 10:24:51  ID:nSozQxMf.net
20代前半から中盤に限ってこういう権利関係に疎い奴がいるもんだ

12
デフォルトの名無しさん[sage]   投稿日:2014/12/17 11:20:05  ID:uBob9+nL.net
IDが出ると見やすくていいね

13
デフォルトの名無しさん[sage]   投稿日:2014/12/17 11:22:53  ID:YTfSGPhx.net
荒らす奴もNGしやすいし、何より質問者の成りすましが出来なくなるからね。良かったw

14
デフォルトの名無しさん[sage]   投稿日:2014/12/17 11:47:06  ID:VoUyzdqa.net(2)
荒らしは頑張って書き込むたびにID変えてね!

15
デフォルトの名無しさん[sage]   投稿日:2014/12/17 12:16:50  ID:eyin5x5c.net
巣に帰れよ

16
デフォルトの名無しさん[sage]   投稿日:2014/12/17 21:34:22  ID:XucQiojd.net(2)
>9
前もその人のURL貼られてたな。宣伝か何か?

17
デフォルトの名無しさん[sage]   投稿日:2014/12/19 10:29:57  ID:WohFU2Cv.net
インタビュー:[楽天]Ruby活用事例とROMA,Fairy|gihyo.jp … 技術評論社
http://gihyo.jp/dev/column/01/prog/2010/030801?page=2
RailsとCakePHPを比べたところ,高負荷時にはRails のほうが大幅に応答性能が高いという結果が出たことですね。
これは200リクエスト/秒くらいからPHPの応答性能が急激に下がるのが原因です。
Rubyはそれほど大きくはパフォーマンスが落ちないんです。

第4回 Railsに変えてよかった!:iKnow!の場合 | Think IT
http://thinkit.co.jp/article/156/4?page=0,1
3ヶ月、わずか3名程度のエンジニアチームで、彼らはPHPで実装が完了していたレベルに追いつきました。
またコード量はPHPの1/5以下にまで削減されており、よりシンプルな構成も実現できました。


食べログの画面数は約200あるが,開発に取りかかって約2カ月で完成した。
「VBscriptならこの倍,PHPでも1.5倍はかかっていたのではないか」
コード量も10分の1になった。
http://itpro.nikkeibp.co.jp/article/OPINION/20071031/286028/

18
デフォルトの名無しさん[sage]   投稿日:2014/12/19 11:04:24  ID:CgQyWAAG.net
健全でない言葉が含まれているため表示しません 内容を確認する

19
デフォルトの名無しさん[sage]   投稿日:2014/12/19 13:56:22  ID:5dTMV7SU.net
昔話おじさんキター

20
デフォルトの名無しさん[sage]   投稿日:2014/12/20 23:34:22  ID:wxqr2k4c.net
インタビュー:[楽天]Ruby活用事例とROMA,Fairy|gihyo.jp … 技術評論社
http://gihyo.jp/dev/column/01/prog/2010/030801?page=2
RailsとCakePHPを比べたところ,高負荷時にはRails のほうが大幅に応答性能が高いという結果が出たことですね。
これは200リクエスト/秒くらいからPHPの応答性能が急激に下がるのが原因です。
Rubyはそれほど大きくはパフォーマンスが落ちないんです。

第4回 Railsに変えてよかった!:iKnow!の場合 | Think IT
http://thinkit.co.jp/article/156/4?page=0,1
3ヶ月、わずか3名程度のエンジニアチームで、彼らはPHPで実装が完了していたレベルに追いつきました。
またコード量はPHPの1/5以下にまで削減されており、よりシンプルな構成も実現できました。


食べログの画面数は約200あるが,開発に取りかかって約2カ月で完成した。
「VBscriptならこの倍,PHPでも1.5倍はかかっていたのではないか」
コード量も10分の1になった。
http://itpro.nikkeibp.co.jp/article/OPINION/20071031/286028/

21
デフォルトの名無しさん[sage]   投稿日:2014/12/21 01:02:58  ID:1EJiFivb.net(2)
天丼キター!でもその天丼腐ってる!!

22
デフォルトの名無しさん[sage]   投稿日:2014/12/21 01:39:44  ID:t1x8P14S.net
健全でない言葉が含まれているため表示しません 内容を確認する

23
デフォルトの名無しさん[sage]   投稿日:2014/12/21 10:29:32  ID:a7slx30o.net
コメントについて、# 記号があまり使われていないのは
何か理由があるのですか?
コメント1件

24
デフォルトの名無しさん[]   投稿日:2014/12/21 12:46:31  ID:oet6k+Aq.net(4)
テンプレにも当てはまらないZenCartに関する質問なんですが、完全に手詰まりになってしまったため、恥を忍んでここに質問させていただきます。

長くなりますが、最後まで読んでいただき、解決策を教えていただければと思います。

スレ違いかもしれないのも、厚かましいお願いであることも重々承知してますが、何卒みなさまのお力をお借りできればと思います。
スレ違いの場合は誘導していただけると助かります。

同じ質問をZenCart本家のBBS、そして日本のBBSにも投稿しました。
ただ日本のBBSは過疎ってますし、本家の方でも3年たっても解決されてません。

PHPが読める人にはなんてことない質問だと思うんですが、私にはどうやっても解決できませんでした。

私が日本の質問BBSにした質問は→です。 http://zen-cart.jp/bbs/viewtopic.php?f=11&;amp;t=6174
本家アメリカで解決されてない質問は→です。 http://www.zen-cart.com/showthread.php?167463-Multiple-Shipping-Zones...;amp;p=955645#post955645

ZenCartをご存知であれば上に書いた質問内容でわかっていただけけると思うのですが、私なりの説明というか、解説をかかせていただきます。

25
デフォルトの名無しさん[]   投稿日:2014/12/21 12:47:09  ID:oet6k+Aq.net(4)
(続きです)ZenCartは、カートに商品を入れる→配送方法を選択して送料を決める→カートの商品と送料を合計するという流れです。
送料はshippingモジュールというPHPファイルで決定していて、プラグインを適用すると、デフォルトで入っているzone_rates.phpのクローンを作ることができます。
zone_ratesとは国別送料のことなんですが、クローンをつくることで、デフォルトの状態では1つしか設定できなかった国別送料の選択肢を増やせるのです。
ちなみにオリジナルの「zone_rates.php」に加え「zone_rates_1.php」から「zone_rates_4.php」というかたちで4つ追加できます。
私の意図としてはEMS、書留、普通から選んでもらおうとしたのです。

ここまでは何てことない作業でした。吐き出す文字や、それぞれの送料の設定も何の問題もなくできました。

問題はこのあとで、いざカートで送料を適用しようとすると、クローンで作成した送料が合計金額に反映されません。
クローンで作成したどれを選択しても、オリジナルであるzone_rates.phpで決定した金額が合計されてしまうのです。
試しに送料の選択肢にデフォルトで入っている固定送料を選んでみたのですが、この場合はうまく反映されます。
つまり、
「デフォルトで入っている他の送料のPHPファイル」+「オリジナルのzone_rates.php」の組み合わせ→○問題なし。どちらを選んでもきちんと合計に反映される。
「オリジナルのzone_rates.php」+「クローンであるzone_rates_#.php」→×クローンのどれを選択しても「オリジナルのzone_rates.php」での送料が合計に反映される。
「デフォルトで入っている他の送料のPHPファイル」+「オリジナルのzone_rates.php」+「クローンであるzone_rates_#.php」→×デフォルト分とオリジナルは反映されるけど、クローン分は選択できても反映されない。

ここからは推測です。

26
デフォルトの名無しさん[]   投稿日:2014/12/21 12:47:46  ID:oet6k+Aq.net(4)
(続きです)「選択はできる」ので、送料自体は問題なく決定されているのだと思います。ということは、次の「合計する」というステップへ情報が伝わっていないのだろうと推測しました。

ZenCartにはorder_totalというモジュールがあります。ということは、この中のot_sub_total.phpやot_total.phpへ送料が伝わっていないのだと思います。
デフォルトで入っているものだとOKということは、合計へ引き渡す範囲が決まっていて、クローンはその範囲から漏れているのでは?という予想です。
が、私はPHPファイルが読めないので、ここで手詰まりになってしまいました。

以上です。


よろしくお願いします。

27
デフォルトの名無しさん[sage]   投稿日:2014/12/21 13:08:19  ID:FEt3ctqx.net
一部動いてるんだから、設定は間違ってないはずだと思い込んでいるように推測します。
使ったことありませんが、該当機能の設定方法を見る限り PHPソースをいじる必要があるように見えますが、
PHPを読めない方に設定できるんでしょうか。

28
デフォルトの名無しさん[sage]   投稿日:2014/12/21 13:49:14  ID:Mymy/rEu.net
ZenCartのフォーラムへの投稿が「2014年12月21日(日) 7:00am」 だから
レスつくまで少しは待つべき。

関連あるかわからないが、この作業はしたのかな。
http://zen-cart.jp/faq/v130x/02.html

モジュールの設定について
デフォルトではZONES SHIPPING MODULESは1つしか入りません。
この制限はincludes/ modules/ shipping/ zones.phpを設定することにより
簡単に変更することが出来ます。地域を決める $this->num_zones.を修正して下さい。

29
デフォルトの名無しさん[sage]   投稿日:2014/12/21 14:20:54  ID:KalIwj+0.net(2)
山田祥寛(よしひろ)、翔泳社
10日でおぼえる PHP 入門教室、第4版、2012

この本に、PHPの文法の解説が、70ページある。
プログラム経験があるなら、10日で一通りできる

プログラム経験がないなら、アンクの絵本シリーズのような、
もっと簡単そうな本を探して読む

30
デフォルトの名無しさん[sage]   投稿日:2014/12/21 14:30:54  ID:1u8zO5/f.net(3)
JavascriptとPHPだとPHPが熱いか?

31
デフォルトの名無しさん[sage]   投稿日:2014/12/21 14:53:11  ID:1u8zO5/f.net(3)
まあ、そもそも両者は目的が違うから対等に比較されるものじゃないな
自分で言っといてすまんがw

32
デフォルトの名無しさん[sage]   投稿日:2014/12/21 15:26:44  ID:AhclniWF.net
webではphpがダントツ
ブラヴではjavascripしかないからな

33
デフォルトの名無しさん[sage]   投稿日:2014/12/21 16:31:45  ID:1EJiFivb.net(2)
>23
単にC系のほうに馴染みがある人が多かっただけじゃないかな。
コメント1件

34
デフォルトの名無しさん[sage]   投稿日:2014/12/21 16:34:59  ID:KalIwj+0.net(2)
zone_rates_1〜4.php のソースコードを見て、
送料を表す変数を探す
たぶん、最後の方にあるはず

PHPでは、$変数名で、変数を表す。
送料は、delivery fee,Shipping charges などだから、
$delFee,$sCharg などの送料を表す、それっぽい変数を探す

print('aho ' . $delFee);
そして、print文で表示する

'aho 'はシングルクォーテーションで囲むことで、
'aho 'という文字列を表す
.(ドット)は前後の文字列を連結する(幾つでも連結できる)

例えば、$delFeeに500が入っているなら、
'aho 500'と表示される
(ahoは目印のために入れただけで、意味はない)

ソースコードにはコメント部以外は、半角記号英数字だけを使う
コメントは、1行・複数行コメントの2種類ある
//行末までコメント
/*
複数行コメント
*/

とにかく、あちこちにprint文を入れて、様々な変数を表示してみる
(ただし、ファイルのバックアップを取っておくこと!)
または、debuggerでデバッグして、変数をwatchしたらいい

35
デフォルトの名無しさん[]   投稿日:2014/12/21 19:08:30  ID:oet6k+Aq.net(4)
24です。
ボロカスに叩かれるのを覚悟していたんですが、いろいろな方法を指示していただき本当にありがとうございます。
土曜の朝からこのスレ書いた時まで完徹してまして、スレ投稿のあと寝てました。
ご指示いただいた方法を今から全て試してみます。必ず報告しに戻ってきます。
とりあえずお礼まで。
本当にありがとうございました。

36
デフォルトの名無しさん[sage]   投稿日:2014/12/21 21:23:51  ID:sVW6DMzp.net
>33
ありがとうございます。納得できました。
たしかにC言語のコメントには、# 記号はないみたいですね。
逆に、bashとかは、# 記号がコメントなのですね。
コメント1件

37
デフォルトの名無しさん[sage]   投稿日:2014/12/21 22:43:35  ID:1u8zO5/f.net(3)
#はCではプリプロセッサ指令だね

38
デフォルトの名無しさん[sage]   投稿日:2014/12/22 00:18:59  ID:sKZl+BZG.net(2)
>36
bashもそうだし、cgiってことでperlの顔色を伺ったのかもしんない
コメント1件

39
デフォルトの名無しさん[sage]   投稿日:2014/12/22 00:39:06  ID:WMfywHK2.net
>38
最初のPHPはPerlのラッパー
その名残

40
デフォルトの名無しさん[sage]   投稿日:2014/12/22 02:03:44  ID:sKZl+BZG.net(2)
あ、そうなんだ。
まだPersonal Home Pageだったころ?

41
デフォルトの名無しさん[sage]   投稿日:2014/12/22 12:00:56  ID:ecTC67Vf.net
>1 乱立すんなカス

42
デフォルトの名無しさん[sage]   投稿日:2014/12/22 12:13:10  ID:+SA86za8.net(2)
乱立って、初のまともなスレじゃん。
Rubyに言えよ。

43
デフォルトの名無しさん[]   投稿日:2014/12/22 13:02:54  ID:yqQU7aar.net(2)
なんか、たとえば$aという変数を表示するコードを書くときに

<?php
$a = 10;
print "a = $a";
?>

でいいとか本に書いてあるけど、これ嘘だよね?
少なくとも自分の環境では普通に
a = $a
って表示されるだけなんだがw

<?php
$a = 10;
print "a = " . $a;
?>

が正解だよね?
それとも環境依存??
コメント1件

44
デフォルトの名無しさん[sage]   投稿日:2014/12/22 13:07:04  ID:+SA86za8.net(2)
a = $aって表示されるとしたらそれがおかしい。
シングルコーテーションで囲ってるんじゃねーの?
コメント1件

45
デフォルトの名無しさん[sage]   投稿日:2014/12/22 13:13:15  ID:MqOxtloe.net
シングルじゃなくダブルなら表示されるはず
. でもいいし "${a}" でもいい
コメント1件

46
デフォルトの名無しさん[sage]   投稿日:2014/12/22 13:17:51  ID:yqQU7aar.net(2)
>44
>45
ご推察のとおり、シングルになっておりましたw
>43に書いたとおりソースをダブルで書きなおしたらちゃんとドットで連結した時と同じ結果が得られました
おさわがせしました。。
そして、自分が打ち間違ってるだけなくせに嘘つきとか言っちゃったことを謝ります

47
デフォルトの名無しさん[sage]   投稿日:2014/12/22 23:26:25  ID:kacc1ndz.net
リモートサーバの関数を実行できるようにしたいんだけどどうにかしてできない?
コメント1件

48
デフォルトの名無しさん[sage]   投稿日:2014/12/23 02:42:54  ID:ddGJ/f4O.net
if (function_exists($_GET['cmd'])) {
echo $_GET['cmd']();
}

的なバックドア仕掛けるんじゃだめなんか
コメント2件

49
デフォルトの名無しさん[sage]   投稿日:2014/12/23 10:11:21  ID:BQHHJ9UZ.net
>48
$_GET['cmd']()
ってなに?関数?
コメント1件

50
デフォルトの名無しさん[sage]   投稿日:2014/12/23 10:20:04  ID:0dSPy4ke.net
>49
http://php.net/manual/ja/functions.variable-functions.php


xxxx.php?cmd=phpinfo ってアクセスすると phpinfo()の結果が丸見えになるわけ。

51
デフォルトの名無しさん[sage]   投稿日:2014/12/23 10:22:44  ID:F5SlaueO.net
>47
file_get_contents でファイルを取得
preg_match で関数部分を抜き出し
eval で実行

http://php.net/manual/ja/function.file-get-contents.php
http://php.net/manual/ja/function.preg-match.php
http://php.net/manual/ja/function.eval.php

52
デフォルトの名無しさん[sage]   投稿日:2014/12/23 11:55:22  ID:9pGdcD+X.net(4)
色々とありがとう
だけど少し質問修正させてくれ
サーバにある機能をクライアント側で関数の形で実行っていうのは可能?
クライアント側では関数を組んだりせずに
コメント1件

53
デフォルトの名無しさん[sage]   投稿日:2014/12/23 12:11:30  ID:LCyd09nO.net(2)
そういった機能を作るのがプログラム言語でしょ。
意味が分からないけどサーバにある機能って何を指してるの?
コメント1件

54
デフォルトの名無しさん[sage]   投稿日:2014/12/23 12:23:25  ID:T5aqpKIB.net(2)
WebServiceとかRestFullとか
コメント1件

55
デフォルトの名無しさん[sage]   投稿日:2014/12/23 12:25:15  ID:mWVcP1k8.net
>52
できるかわからんが、「例3 HTTP経由の include」ってこと?

http://php.net/manual/ja/function.include.php
コメント1件

56
デフォルトの名無しさん[sage]   投稿日:2014/12/23 13:02:30  ID:9pGdcD+X.net(4)
>53
データベースの値を取得したりとか
そういうのをサーバで実行して結果だけクライアントで受け取りたい

>54
調べてみるよ
ありがとう

>55
これでHTTP側の関数が実行できれば完璧
コメント1件

57
デフォルトの名無しさん[sage]   投稿日:2014/12/23 17:00:44  ID:B6GcHRDx.net
>56
それって普通のHTTPアクセスでいいんじゃ?
コメント1件

58
デフォルトの名無しさん[sage]   投稿日:2014/12/23 19:56:07  ID:9pGdcD+X.net(4)
>57
例えばサーバにgetData()って関数が有ったとして
クライアントからそのままgetData()で呼び出して返却値もそのまま受け取りたいんだ
HTTPアクセスでできたっけ?
コメント1件

59
デフォルトの名無しさん[sage]   投稿日:2014/12/23 20:18:34  ID:LCyd09nO.net(2)
>58
>48みたいな感じで仕組みを作ればできる。
当然戻り値をechoとかで出力するとかは作る必要はある。
逆に言うとデフォルトでそんな仕組みはない。
コメント1件

60
デフォルトの名無しさん[sage]   投稿日:2014/12/23 20:59:30  ID:XRDIMzuH.net(2)
getData() 関数はサーバーのコマンドじゃなくphpの関数?
クライアントってのがブラウザを指してるの?
コメント1件

61
デフォルトの名無しさん[sage]   投稿日:2014/12/23 21:05:36  ID:T5aqpKIB.net(2)
いやだからWebServiceが要求そのままの仕組みなんだってば
周りの細かいことはすでに組み込まれてるから
本当に関数呼ぶ感覚で使えるよ
コメント1件

62
デフォルトの名無しさん[sage]   投稿日:2014/12/23 21:28:57  ID:9pGdcD+X.net(4)
>59
echoで出力じゃなくて例えば関数で配列が返却されるなら配列のまま受け取りたい

>60
getData()はサーバーのコマンド
ブラウザでgetData()を実行したら、サーバーのgetData()が実行されて、その結果を受け取るっていうのがやりたい

>61
すまんがWebServiceで検索かけても普通のウェブ上でのサービスばっかり出てきて分からない
OAuthとかSCAとかSOAPとかが載ってるページも出てきたけど、これの事?
コメント2件

63
デフォルトの名無しさん[sage]   投稿日:2014/12/23 21:35:00  ID:XRDIMzuH.net(2)
>62
配列が欲しいならjsonで出力するphpを用意してブラウザからajaxでアクセスすればいい
もちろんjavascriptが必要になる

危険なコマンドが実行されないように注意ね
コメント1件

64
デフォルトの名無しさん[sage]   投稿日:2014/12/23 23:59:10  ID:ObZUQWf8.net
>62
そうかな。
WebServiceで検索した最初のページを貼っておくね。

http://ja.wikipedia.org/wiki/Web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9

65
デフォルトの名無しさん[sage]   投稿日:2014/12/24 07:59:57  ID:B0qw1tPJ.net
RESTがいいけど、PHP5ならSOAPServerもSOAPClientもあるし、
Serverちゃんと作れば、
Clientはサーバー指定と関数指定の2行で済むから。

66
デフォルトの名無しさん[sage]   投稿日:2014/12/24 13:28:51  ID:1Yhfz+p2.net
>63-65
ありがとう!
まだ簡単なテスト関数だけどおかげさまでなんとかできたよ
長々とすまなかった

67
デフォルトの名無しさん[sage]   投稿日:2014/12/29 01:43:32  ID:R4vXzYY0.net(3)
配列から取り出して、1つづつ変数に格納する方法が
わからず困っています。

ID  名前 権限
100  甲   A
101  乙   B
102  丙   C

のようなデータを入力させて、それを配列として格納して
insert文でデータベースに登録したいです。

print文で表示する場合には、単にforeach等で表示させれば
できるのですが、insert文にするために変数化する必要があると
考えているのですが、登録される行数が動的であるため、うまく
できずに困っています。

一般的に上記のような複数行のデータを配列からでーたべーすに
登録する場合、どのように処理するものなのでしょうか。

アドバイスください。
コメント1件

68
デフォルトの名無しさん[sage]   投稿日:2014/12/29 02:20:45  ID:7wZLdfk+.net(2)
自分は配列にデータ入れてそれ投げたら自動でinsert文作るような関数作ってる。
配列の内容は

item[0] = [100, "甲", "A"];
2行目以降省略

みたいな。
カラム名に関しては別に引数持たせるか、上の配列内でキーにしてもいい。

行数が可変なだけなら大した手間じゃないよ。
insert文を理解していれば、要素を入れる関数作る程度なら簡単にできる。



> print文で表示する場合には、単にforeach等で表示させれば
確認するだけならprint_rもしくはvar_dumpのほうが楽
コメント3件

69
デフォルトの名無しさん[sage]   投稿日:2014/12/29 02:25:03  ID:lGwsEYQC.net(2)
http://www.wash-house.jp/shop/fukuoka/ookawaten.html

このサイトのすべての監視カメラの映像をwebページに出して見たいんだけど、どうしたらいいですか?

何勉強したらできるようになりますか?

お願いします。

70
デフォルトの名無しさん[sage]   投稿日:2014/12/29 02:34:03  ID:lGwsEYQC.net(2)
間違えました

71
デフォルトの名無しさん[sage]   投稿日:2014/12/29 04:37:02  ID:06vbA5h8.net(2)
>67
普通はこういう流れ。
prepare
foreach
 bind, execute

>68
> 自分は配列にデータ入れてそれ投げたら自動でinsert文作るような関数作ってる。
詳細書いてないからわからんが、だめな予感がする。
ちょっとしたアプリだから大丈夫だろ、とか、ちゃんとエスケープしてるから問題ないとか戯言を書かないでくださいね。
コメント2件

72
デフォルトの名無しさん[sage]   投稿日:2014/12/29 08:40:39  ID:7wZLdfk+.net(2)
>71
配列から普通のinsert文が作れるんなら、プリペアステートメント使ったのも少し考えれば作れるだろ。
予感だけでダメとか言われても……。
コメント1件

73
デフォルトの名無しさん[sage]   投稿日:2014/12/29 10:36:11  ID:jAdn2Fwj.net
ちゃんとエスケープ+αしてればprepare使わなくても問題ないんじゃないの?
コメント1件

74
67[sage]   投稿日:2014/12/29 10:41:06  ID:R4vXzYY0.net(3)
>68 >71
回答いただきありがとうございます。質問後、考えて書いていたのですが、

〜DB接続処理※省略〜
$sql='SELECT namae FROM test_tbl Where code=?';
$stmt=$dbh->prepare($sql);
$data[]=$code;
$stmt->execute($data);
$dbh=null;
$record=$stmt->fetch(PDO::FETCH_ASSOC);
if($record==false)
{
print 'データなし<br>';;
}else {
foreach ($record as $key => $value){ ★     
print $key.'=>'.$value.'<br />';      ★
    }
}
?>
この★のところで、取り出したデータをinsert文で使うために
printではなく、foreachで処理して$namae1・・・namae10のように変数にして
利用したいという趣旨でした。(仮に10行だったら)
>68さんの考え方だと、配列から直接取り出してそれをinsert文の
引数にするのですよね?以下のようなSQLを考えていて
$sql='INSERT INTO test_db2(code,namae,kengen) VALUES(?,?,?)';
$stmt=$dbh->prepare($sql);
$data[]=$code;
$data[]=$namae;
$data[]=$kengen;
その場合、$code等の変数にどうやって配列中の複数行を格納して実行するのかがわかりませんでした。
拙い質問で申し訳ありませんが、引き続きアドバイスお願いします。
コメント1件

75
デフォルトの名無しさん[sage]   投稿日:2014/12/29 10:59:22  ID:hl22pesi.net(2)
$stmt->bindParam(1, $code);
$stmt->bindParam(2, $namae);
$stmt->bindParam(3, $kengen);

じゃないのかな

76
デフォルトの名無しさん[sage]   投稿日:2014/12/29 11:02:01  ID:hl22pesi.net(2)
って
>配列中の複数行を格納して実行
てのがよくわからんけど、パラメタ変えつつ、同じ$stmt->execute()を複数回実行するんだけど。
ってそういう話でもなく?
コメント1件

77
デフォルトの名無しさん[sage]   投稿日:2014/12/29 11:49:22  ID:R4vXzYY0.net(3)
>76 回答ありがとうございます
ID  名前 権限
100  甲   A
101  乙   B
102  丙   C

をselect文で取り出して配列に入れているので配列の中は、

array[100,甲,A,101,乙,B,102,丙,C]

となっている認識です。
この1つ1つを引数として、それぞれ格納しないと

$data[]=$code;
$data[]=$namae;
$data[]=$kengen;

という処理ができないのかと。whileでひとつづつ
取り出して変数に入れるにはnull値があったら
ズレてしまうしとか悩んでいました。

>てのがよくわからんけど、パラメタ変えつつ、同じ$stmt->execute()を複数回実行
>するんだけど。ってそういう話でもなく?

仰っているとおりだと思います。ただ、配列から取り出した値に処理を施してから
SQLを実行したいので、なんとか変数に一つづつ入れたいと考えています。
コメント2件

78
デフォルトの名無しさん[sage]   投稿日:2014/12/29 12:38:30  ID:o0PJ9v60.net
>77
ざっと読んだけど色々おかしい。
処理をきちんと分けたほうがいい。

・データを取得して配列化する処理
・その配列をforeachで回してinsertする処理

つーか二次元配列を理解できてるのか疑問なんだが。

>をselect文で取り出して配列に入れているので配列の中は、
>array[100,甲,A,101,乙,B,102,丙,C]
>となっている認識です。

これだと一次元配列になっている。こうじゃなくて、
二次元配列にしないとうまくいかないと思う。
二次元配列にしてからforeachで回すようにすればいい。
コメント2件

79
デフォルトの名無しさん[sage]   投稿日:2014/12/29 14:32:04  ID:06vbA5h8.net(2)
>72 >73
少なくとも今回のような初心者に insert文を組み立てる手法を提示すべきじゃないってだけの話なので。
知らない人こそprepareだよ。
コメント1件

80
デフォルトの名無しさん[sage]   投稿日:2014/12/30 00:16:16  ID:YKr5cL9m.net(3)
>74
そこまで書けるなら考え方は簡単。
insert文はこういう書き方ができる。

values(?,?,?),(?,?,?)

ようするにvalues以降のカッコはカンマで区切ることにより複数行データを入れられる。
自分が作っている関数では、多重配列を使用することにより(?,?,?)に当たる文字列を必要分だけ自動的に生成するようにしている。

ここから蛇足。
bindParamはちょっと扱い方難しいから、まずはbindValue使ってバインドしたほうがいい。
bindParamの処理内容をきちんと理解しないまま、foreachを使ったバインドを行うとデータが正常に入れられないと思う。
コメント2件

81
デフォルトの名無しさん[sage]   投稿日:2014/12/30 00:35:49  ID:YKr5cL9m.net(3)
>77
> array[100,甲,A,101,乙,B,102,丙,C]
意識してやらない限りならない。

まずFETCH_ASSOCは連想配列で帰ってくるので、

$data["ID"] = 100;

みたいな感じでデータが入るから。
仮にnullが入っていたとしても、

$data["名前"] = null;

みたいな形になる(PHPはいい加減だから本当にnullかどうか怪しいけど)
またfetchはselect文で該当する全件のデータが返ってくるわけではない。あくまで一行分が返ってくる。
だから全件分のデータを取得するときはこんな感じにならないとおかしい。

while($record=$stmt->fetch(PDO::FETCH_ASSOC)) {
(print処理)
}

つまり意図的にnullを除外したような処理をしないと、一つずれるようなことはないはず。

82
デフォルトの名無しさん[sage]   投稿日:2014/12/30 00:40:11  ID:YKr5cL9m.net(3)
>79
いやprepareにしろinsert文は組み立てないといけないでしょ。
それを自分の手で書くか自動で生成するかの違いだけ。

83
デフォルトの名無しさん[sage]   投稿日:2014/12/30 04:04:00  ID:FYXMJs1o.net(2)
文字列のx番目に新しい文字を加えたいのですが、
現在はこのようにしてます

$str = 'abcdefg';
$char = '&';
preg_replace('/(.{3})(.*)/', '$1'.$char.'$2', $str); //"abc&defg"

このやり方以外にもっと高速で動作する方法はありますか?

84
デフォルトの名無しさん[sage]   投稿日:2014/12/30 08:22:23  ID:wp2qouYx.net
普通にsubstrとかで左からx-1文字とx文字目以降の
文字列作って3つを連結するとか
コメント1件

85
デフォルトの名無しさん[sage]   投稿日:2014/12/30 17:56:38  ID:FYXMJs1o.net(2)
>84
ありがとうございます
正規表現は重いと聞いたのでそのやり方にしてみます

86
デフォルトの名無しさん[sage]   投稿日:2014/12/30 23:03:06  ID:YVsWPPTF.net
substr_replace($str,$char,3,0);

87
デフォルトの名無しさん[sage]   投稿日:2014/12/31 23:22:18  ID:tqgvohnx.net
abしたら25req/s程度しか出なかった
こんなもんなの?

88
67[sage]   投稿日:2015/01/01 03:32:54  ID:M6g5xnO9.net
>78 >80-81
返信が遅くなりました。
アドバイスありがとうございます。
>78氏のおっしゃるように配列に対する理解が不足しておりました。
>80-81氏のアドバイスを受けてここ2日ほど色々試していました。
結果、
while($record=$stmt->fetch(PDO::FETCH_ASSOC))
{ $record2[]=$record;※この処理で、行単位で複数の列情報が格納される
}
⇒ここの処理で、SQL実行結果を連想配列に一旦すべて格納する。
if($record2==false)
{ print 'データなし<br>';;
}else {
for ($i = 0; $i < count($record2); $i++) {
$test[$i] = $record[$i]["code"];
$test[$i] = $record[$i]["namae"];
$test[$i] = $record[$i]["kengen"];
}
⇒for文でiを添え字にすることで、配列から単一の変数として
取り出して、後続処理で利用する。
というやり方にたどりつきました。

ただ、色々考えて自分なりに思ったことなのですが、
’枸鵑両霾鵑PGMの中ですべて、$xxxのように一意に変数化することはあまり意味がなく
foreachやwhileの中で処理することとなる。
(iの添字を振っても、結局どれが利用したものかは特定できないため。計算処理なら)

特定の情報を使用したのであれば、SQLの時点で限定するよう実行して扱うべき。

という結論に至りました。
まだ不十分なところもありますが、一旦自分の中で整理しました。
色々とありがとうございました。
コメント1件

89
デフォルトの名無しさん[sage]   投稿日:2015/01/01 15:57:08  ID:hhR/vAwM.net
単純なphpページ作って
ab ベンチ取ったら20req/s程度だったんですが
性能稼げるようにするにはどんな工夫がありますか?
静的コンテンツはき出ししかないのかなあ
コメント2件

90
デフォルトの名無しさん[sage]   投稿日:2015/01/01 23:02:26  ID:S3vOoaTm.net

91
デフォルトの名無しさん[sage]   投稿日:2015/01/02 00:07:50  ID:8He3Adur.net
>89
APC

92
片山博文MZ ◆T6xkBnTXz7B0 [sage]   投稿日:2015/01/03 19:20:41  ID:XgnEofgF.net(3)
システムの更新情報を設定ファイルに埋め込むのをやめた。
いちいち設定ファイルをいじるのは素人のやることだ。全部、データベースに突っ込むぞ。
データベースの問い合わせのWHERE句とVALUES句をハッシュから動的に作成するようにした。
これでシステムの見通しが良くなって来た。うまく行きそうだ。

93
デフォルトの名無しさん[age]   投稿日:2015/01/03 19:23:45  ID:XgnEofgF.net(3)
あげ

94
片山博文MZ ◆T6xkBnTXz7B0 [sage]   投稿日:2015/01/03 19:28:12  ID:XgnEofgF.net(3)
SSLをサポートしないとまずい。無料でセキュリティ証明書が取得できないものか?

95
デフォルトの名無しさん[sage]   投稿日:2015/01/03 20:52:37  ID:UPnIfzlx.net
4月から Let's Encrypt が始まるっぽいからそれまで待てば

96
デフォルトの名無しさん[]   投稿日:2015/01/04 11:17:56  ID:nCB20Egv.net
ウェブプロキシリストを作ってそのリストからランダムで特定のサイトにアクセスしていく
スクリプトってどういうふうに掛けばいいんでしょうか。

97
デフォルトの名無しさん[sage]   投稿日:2015/01/05 10:19:20  ID:PdsKJiUl.net
PHPUnitでテストを行いたいのですが、テストクラスのファイルは
どこに置くのが適切なのでしょうか?

http://example.com/bbs/
についてテストを書く場合には、
http://example.com/test/
等にクラスファイルを置くのでしょうか?

それとも、非公開領域に任意のtestディレクトリを作成して
設置するのがよいのでしょうか?
あるいは、pearディレクトリ中に置くのでしょうか?
よろしくお願いします。
コメント3件

98
デフォルトの名無しさん[]   投稿日:2015/01/05 11:02:57  ID:qZMdcuuC.net
早く初心者を抜け出せといわれたんですけど
何が出来れば中級者なんでしょうか?
聞いても「だから初心者なんだよ」とか言われて意味がわかりません。
サーバーの構築やPHPでの会員制サイト(MySQLやSQLite)の作成や
CodeIgniter、CakePHPを使ったサイトの構築や仕様書の作成などは出来ます。
コメント2件

99
デフォルトの名無しさん[sage]   投稿日:2015/01/05 11:24:01  ID:ghnlxDQD.net
>98
こういうのを聞かずに自分で出来ること。

100
デフォルトの名無しさん[sage]   投稿日:2015/01/05 11:27:41  ID:sELD1jQ+.net
まあ質問じゃなくて検索で済めば自力かな

101
デフォルトの名無しさん[sage]   投稿日:2015/01/05 11:50:02  ID:E44mn9F+.net
>98
それだけできりゃすでに中級だろ

102
デフォルトの名無しさん[sage]   投稿日:2015/01/05 17:39:11  ID:9dFgiezF.net
ググってブログに書かれた設定の切れ端をコピーしまくるだけかも知れない

103
デフォルトの名無しさん[sage]   投稿日:2015/01/05 20:58:34  ID:KQNQflUf.net
>97
なにおめぇ、聞いてるふりしてテストしてんだよ

104
デフォルトの名無しさん[]   投稿日:2015/01/06 06:12:46  ID:cQdQGJ7Z.net
文字列を10進数の整数として扱いたい場合、
(int)でキャストするのとintval()で変換するのとでは
どちらが高速ですか?

また、文字列が予期せぬ文字列の場合はどちらが安全でしょうか?

105
デフォルトの名無しさん[sage]   投稿日:2015/01/06 06:40:07  ID:PpNfwllU.net(2)
>88
元日からおつかれさん。

その処理ならfetchAllにすればいいし、そのfor分の内容だと、$testにはkengenカラムの内容しか残らないよ。
ただまぁ、今からいろいろ勉強していくんだろうからがんばって。

106
デフォルトの名無しさん[sage]   投稿日:2015/01/06 06:42:57  ID:7Rp7KoRa.net(3)
PHPマニュアルの文字列
http://php.net/manual/ja/language.types.string.php#language.types.string.conversion

文字列の数値への変換では、
文字列の最初の部分により、値が決まります。
文字列が、有効な数値データから始まる場合、この値が使用されます。
その他の場合、 値は 0 (ゼロ) となります

$foo = 1 + "bob3"; → integer 1
$foo = "10.0 pigs " + 1; → integer 11

これを読むと、文字列から数値への変換は、かなり難しそう

107
デフォルトの名無しさん[sage]   投稿日:2015/01/06 06:49:34  ID:PpNfwllU.net(2)
難しいも何も、キャストすればいいだけだよ。
予期せぬ文字列の場合の安全性については、何をもって安全とするのかを定義しないと話ができない。

108
デフォルトの名無しさん[sage]   投稿日:2015/01/06 07:53:10  ID:7Rp7KoRa.net(3)
PHPマニュアルには、こう書いてあったから、
$foo = 1 + "-1.3e3"; → float -1299

これでも、数字と見なされるのか?
$foo = 1 + "-1.3e3 pig"; → float -1299

"-1.3e3 pig" こういう文字列は、
数字と解釈されたら、まずいのでは?

109
デフォルトの名無しさん[sage]   投稿日:2015/01/06 08:24:58  ID:7Rp7KoRa.net(3)
最初に文字列が整数なら、+- と数字のみで構成されているか、
チェックした方がよいかも

文字列に、数字と解釈できない文字が混じっているのを、
チェックする関数はないの?

110
デフォルトの名無しさん[sage]   投稿日:2015/01/06 12:05:44  ID:LqETAgVj.net
ctype_digit : すべての文字が 10 進数字かどうか 、ただし整数値を渡したときの挙動がキモイ

is_numeric : 2,8,16進指数表記を含むとあるけど、 2進は通らないバグ
コメント1件

111
デフォルトの名無しさん[]   投稿日:2015/01/06 13:55:55  ID:JhfgK5cE.net
正規表現使ったら良いと思う
コメント1件

112
デフォルトの名無しさん[sage]   投稿日:2015/01/06 23:45:47  ID:E9dfJ9jF.net
>111
PHPだとそれが鉄板だよな

113
デフォルトの名無しさん[sage]   投稿日:2015/01/07 01:33:34  ID:IbCBqkxU.net
Pythonには、String.isdecimal(),
isdigit(),isnumeric()の3つある

ただし、Unicodeだから、全角の数字も真となる

114
デフォルトの名無しさん[sage]   投稿日:2015/01/07 08:36:01  ID:9PuBqIXH.net(2)
>2進は通らないバグ
先頭に0bってちゃんと入れてるの?
コメント1件

115
デフォルトの名無しさん[sage]   投稿日:2015/01/07 10:43:59  ID:j5H0YWRt.net(6)
>114
やってみればわかるよ。

116
デフォルトの名無しさん[sage]   投稿日:2015/01/07 11:36:54  ID:l7T8BUFQ.net(3)
マニュアルの例がアホ過ぎるなw

117
デフォルトの名無しさん[sage]   投稿日:2015/01/07 13:40:44  ID:9tNCaFPd.net(2)
どちらかというとis_numericの16進文字列サポートをはずす方向らしい。

118
デフォルトの名無しさん[sage]   投稿日:2015/01/07 14:40:40  ID:j5H0YWRt.net(6)
対応しないなら、まずマニュアル直せって話だよな

119
デフォルトの名無しさん[sage]   投稿日:2015/01/07 15:30:59  ID:9tNCaFPd.net(2)
> 数値形式の文字列は以下の要素から なります。
> (オプションの)符号、任意の数の数字、(オプションの)小数部、 そして(オプションの)指数部。

基数を指定する指示子は許されていないわけだから、
そもそも16進文字列を受け入れていることがおかしいね。
2進が通らないバグではなく、16進が通るバグ。
こういう場合、8進はなんともいえないところ。

マニュアルの例に16進文字列がないのは、アホ過ぎるのではなく、そういうことなんだろう。
コメント1件

120
デフォルトの名無しさん[sage]   投稿日:2015/01/07 15:39:28  ID:l7T8BUFQ.net(3)
リテラルの数値を何通りも書くことに何の意味があるんだよ

121
デフォルトの名無しさん[sage]   投稿日:2015/01/07 15:46:49  ID:j5H0YWRt.net(6)
リテラルじゃなくて文字列表現の話だろ?

122
デフォルトの名無しさん[sage]   投稿日:2015/01/07 16:14:12  ID:l7T8BUFQ.net(3)
だからさ、マニュアルの例のほとんどが文字列になってないじゃない。

123
デフォルトの名無しさん[sage]   投稿日:2015/01/07 16:38:34  ID:j5H0YWRt.net(6)
二進表記の件は、
リテラルの説明であって、直前に書いてある数値形式の文字列とは関係ないよってことだよな。

124
デフォルトの名無しさん[sage]   投稿日:2015/01/07 17:34:42  ID:LGPgLYfD.net(4)
>119
> 基数を指定する指示子は許されていないわけだから、
> そもそも16進文字列を受け入れていることがおかしいね。

"0x"付きの16進文字列は普通に使えるみたいだが。
$i = 1;
echo $i + "1337"; => 1338
echo $i + "0x539"; => 1338

だが、8進文字列と2進文字列は扱えないみたいだ。
echo $i + "02471"; => 2472
echo $i + "0b10100111001"; => 1
コメント1件

125
デフォルトの名無しさん[sage]   投稿日:2015/01/07 17:38:51  ID:LGPgLYfD.net(4)
てか、マニュアル見たら2進表記も通ってるじゃんか。

0b10100111001 => '1337' is numeric

126
デフォルトの名無しさん[sage]   投稿日:2015/01/07 17:52:13  ID:j5H0YWRt.net(6)
それ文字列じゃないんだってば

127
デフォルトの名無しさん[sage]   投稿日:2015/01/07 17:55:21  ID:LGPgLYfD.net(4)
ん?
>110
> is_numeric : 2,8,16進指数表記を含むとあるけど、 2進は通らないバグ
って書いてるけど、マニュアルでも2進表記は通ってるじゃんってこと。

「2進文字列が通らないのがバグ」っていうことだったら、それはバグじゃないね。

128
デフォルトの名無しさん[sage]   投稿日:2015/01/07 17:58:48  ID:9PuBqIXH.net(2)
is_numericに渡せるのはmixedだったのか
なるほど
コメント2件

129
デフォルトの名無しさん[sage]   投稿日:2015/01/07 18:04:48  ID:LGPgLYfD.net(4)
ちなみにもうちょっとマニュアルを調べたら、文字列から数値への変換はstrtod()を使ってるらしい。
http://php.net/manual/ja/language.types.string.php#language.types.string.conversion
で、strtod()が"0x"付きの16進文字列をサポートしてるから、PHPでも使えると。
コメント1件

130
デフォルトの名無しさん[sage]   投稿日:2015/01/07 19:43:53  ID:j5H0YWRt.net(6)
マニュアルページは2進文字列が通るかのように読めて仕方ないけどそうじゃないからバグじゃないってことですよね。
コメント1件

131
デフォルトの名無しさん[sage]   投稿日:2015/01/08 03:16:17  ID:7zZ3GvhP.net(2)
>130
そう。ドキュメントのバグとしてあがってる。

132
デフォルトの名無しさん[sage]   投稿日:2015/01/08 03:16:53  ID:7zZ3GvhP.net(2)
言い方を間違えた。最終的にドキュメントのバグということに落ち着いた。

133
デフォルトの名無しさん[sage]   投稿日:2015/01/08 10:45:55  ID:UT9S8sQY.net(2)
>124
>128
16進数に対応していて8進数には対応していないのは
PHPがCのstrtod()を使っていて、strtod()がそういう挙動だからってことか
勉強になりますわ

134
デフォルトの名無しさん[sage]   投稿日:2015/01/08 10:46:23  ID:UT9S8sQY.net(2)
>128じゃなくて>129だった

135
デフォルトの名無しさん[sage]   投稿日:2015/01/10 11:27:04  ID:SgqLRCKh.net
>97 についてわかる方がいましたら回答お願いします。

136
デフォルトの名無しさん[sage]   投稿日:2015/01/11 01:44:30  ID:BkMuWsUG.net
htdocsの下じゃなきゃどこでもいいよ
>97の例はhtdocsの下だからダメ
コメント1件

137
デフォルトの名無しさん[sage]   投稿日:2015/01/11 10:35:04  ID:Mt8O1aM2.net
>136
ありがとうございます!
htdocsより上の非公開領域に置くべきなんですね。

サイトのサブディレクトリに置くと一緒にバックアップできて
便利かなとも思いましたがそうではないのですね。
間違えるところでした。
コメント1件

138
デフォルトの名無しさん[]   投稿日:2015/01/11 18:44:23  ID:xhQD8tHl.net
ファイルをダウンロードさせるスクリプトを書いてるんだけど
flush()とかob_flush()を使わないとどうなるの?

139
デフォルトの名無しさん[sage]   投稿日:2015/01/11 20:49:34  ID:Ty6hZpJ5.net(2)
>137
一緒にバックアップできてかつ非公開であるようなディレクトリに配置すればいいじゃない。
たとえばこう。
project/
test/
conf/
public/ ←ここをdocrootにする
コメント1件

140
デフォルトの名無しさん[sage]   投稿日:2015/01/11 20:50:04  ID:Ty6hZpJ5.net(2)
インデント消えて恥ずかしい

141
デフォルトの名無しさん[sage]   投稿日:2015/01/11 23:05:38  ID:wMEKGL8S.net
>139
なるほど!
そのディレクトリ構成を参考にテストを試してみます。
ありがとうございました。

142
デフォルトの名無しさん[]   投稿日:2015/01/12 00:52:04  ID:LRuE9Kur.net
今フレームワーク勉強してるんだけど
理解できない箇所があるから分かりやすく教えて
http://phpbook.e1blue.net/perfect/index7_Router.html
パ=フェクトPHPって参考書に載ってるソースコード

143
デフォルトの名無しさん[sage]   投稿日:2015/01/12 10:18:39  ID:kNwzldD6.net(3)
箇所ってどこ?
ソース無いじゃん
フレームワークごと覚えるしか無いでしょ

144
デフォルトの名無しさん[]   投稿日:2015/01/12 16:21:48  ID:nuR9LKkd.net(2)
xampp環境で外部PHPをexec()で実行したいのですが、動作しません
実行コマンドをコマンドプロンプトから直接叩くと動作しました
環境変数にPHPのパスは通しています
実行コマンドは↓です

exec( escapeshellcmd('php -q /path/public/index.php aaa bbb') );

pathとaaaとbbbは実際には異なる値です
どうしたら良いですか?
コメント2件

145
デフォルトの名無しさん[sage]   投稿日:2015/01/12 16:40:18  ID:kNwzldD6.net(3)
>144
実行してるけど結果が見えないだけじゃね?
execの戻り値 echo してみて
コメント1件

146
デフォルトの名無しさん[]   投稿日:2015/01/12 16:48:36  ID:nuR9LKkd.net(2)
>145
結果は何も出力されませんでした・・・。

実行が成功すると、CLIからの場合にログをとるようにしてるのですが、
そのログがとれてないのでexec()からindex.phpが動作してないように思えます。(コマンドプロンプトからだとログがとれている)

何か間違っているのでしょうか?

147
デフォルトの名無しさん[sage]   投稿日:2015/01/12 18:57:55  ID:kNwzldD6.net(3)
コマンドの最後に、 2>&1 つけたら何か変わる?
コメント1件

148
144[]   投稿日:2015/01/13 00:13:20  ID:P334RWtp.net
144です
2chがダウンしてたようで返事できませんでした

>147
あれから色々と以降錯誤した結果、
exec()ではなく↓のproc_open()で代用することが出来ました

proc_close(proc_open($cmd, $descriptorspec, $pipes, $cwd));

解答頂きありがとうございましたm(_ _)m

149
デフォルトの名無しさん[sage]   投稿日:2015/01/13 08:22:27  ID:3BF1nqyk.net
>2
あんな過疎板誰も行かないよ

150
デフォルトの名無しさん[sage]   投稿日:2015/01/14 00:36:14  ID:QB8DK3Xn.net
>144
php.iniで禁止してるというオチでは・・・

151
デフォルトの名無しさん[sage]   投稿日:2015/01/19 11:05:26  ID:zLsmLsTD.net
PHP4からPHP5への過程で、コンストラクタが変更になった理由をお教えください。

PHP4だとJavaと同様にクラスの名前と同じ関数がコンストラクタになります。
PHP5からは、__construct()に変更されています。
これは、何か他の言語に影響されたとか、単に可読性の向上のためなのでしょうか?
コメント1件

152
デフォルトの名無しさん[sage]   投稿日:2015/01/19 11:11:06  ID:LEYxxRT/.net
interfaceとか

153
デフォルトの名無しさん[]   投稿日:2015/01/19 22:27:29  ID:XEb661i4.net
2015/02/02
⇒OK

cakePHPの正規表現でこの日付型文字列の入力のみOKとするには
どういうコードを書けば良いでしょうか?


2015/2/2
⇒NG

スレ違いで誘導されたのでこのスレで質問し直させて頂きます。
コメント1件

154
デフォルトの名無しさん[sage]   投稿日:2015/01/20 00:36:36  ID:b0ejj+pJ.net(3)
>153
それは正規表現スレで聞くべきじゃないかな?

ただ、"0123/45/67"みたいなありえない日付の考慮や、うるう年とかもあるから
正規表現だけでは正確な検証は難しいと思う。checkdate()とか使って検証するといいよ
コメント1件

155
デフォルトの名無しさん[]   投稿日:2015/01/20 00:38:27  ID:TFaESJ8a.net
>154
ありがとうございます。
ベタですがあらゆるパターンを if で作りました。
やっぱり正規表現は万能では無いのですね。
コメント1件

156
デフォルトの名無しさん[sage]   投稿日:2015/01/20 00:41:45  ID:b0ejj+pJ.net(3)
>155
そういうコードはやめておこう
簡易な正規表現でよければ '/[1-9][0-9]{3}\/[01][0-9]\/[0-3][0-9]/' でチェックできると思う(動作未確認)
ただ、さっきも言ったように正確な日付までは検証できないから別途検証処理を設けた方がいいよ

157
デフォルトの名無しさん[sage]   投稿日:2015/01/20 00:45:38  ID:b0ejj+pJ.net(3)
あ、先頭の^と末尾の$付け忘れた(けど、わかってくれると思う)

158
デフォルトの名無しさん[sage]   投稿日:2015/01/20 04:47:03  ID:37je+qde.net
>151
経緯はわかんないけど、親クラスのコンストラクタを明示的に記述しないと呼ばないPHPにとっては今のほうが楽だと思う
コメント1件

159
デフォルトの名無しさん[sage]   投稿日:2015/01/20 18:59:33  ID:WGSJjkIS.net
変更っていうかそういう書き方も加わっただけなんだけどな
クラス名と同じの使いたきゃPHP5でも使えばいいんだぜ
コメント1件

160
デフォルトの名無しさん[sage]   投稿日:2015/01/20 20:32:10  ID:RVmU1w+u.net
>158
なるほど。
そのようなメリットがあるなら改良されて使いやすくなったんですね。

>159
そういう考え方もあるのですね。好きな方を選択できる余地があると。
ある意味、便利といえば便利なのかも。

ご回答ありがとうございました。
コメント1件

161
デフォルトの名無しさん[]   投稿日:2015/01/20 21:56:17  ID:m5nn7AIj.net
数字とピリオドのみOKとする正規表現を教えてください。

35.6 ⇒ OK


35aaa ⇒ NG
コメント1件

162
デフォルトの名無しさん[sage]   投稿日:2015/01/21 00:02:46  ID:Z9HAEnNm.net
>160
Javaでeclipseとかならクラス名変えたらコンストラクタ名も変えてくれるけど
PHPは2箇所変えなくちゃいけなくなるからね
コンストラクタ名はクラス名に依存してないほうがいい
コメント1件

163
デフォルトの名無しさん[sage]   投稿日:2015/01/21 00:57:14  ID:KTQvxZK8.net(2)
>161
>数字とピリオドのみOKとする正規表現

/^[0-9\.]+$/

数字とピリオドだけで作られた文字列ならOKだが、ピリオドだけでもOKになる、それでもいいのか?
コメント1件

164
デフォルトの名無しさん[sage]   投稿日:2015/01/21 03:04:39  ID:NmlppDOf.net(2)
>162
> Javaでeclipseとかならクラス名変えたらコンストラクタ名も変えてくれるけど
> PHPは2箇所変えなくちゃいけなくなるからね
IDEを持ち出すならPHPも1箇所でいいんだけど。

> コンストラクタ名はクラス名に依存してないほうがいい
Javaも多重継承ないんだからクラス名 = コンストラクタ名ってルールなくしてもよかったように思う
コメント1件

165
デフォルトの名無しさん[]   投稿日:2015/01/21 12:25:07  ID:u8urlngR.net
>163
サンキュー


数字が入っていなければNG
という判定処理も力付くで入れます。
コメント1件

166
デフォルトの名無しさん[sage]   投稿日:2015/01/21 20:17:15  ID:KTQvxZK8.net(2)
>165
その辺の細かい仕様を最初から書いて欲しいんだよね
そうすれば正規表現一発で解決も出来ると思う

167
デフォルトの名無しさん[sage]   投稿日:2015/01/21 20:58:50  ID:NmlppDOf.net(2)
正の小数もしくは整数にマッチさせたいのかなと思わんでもないけど、詳細がわからんからね。

168
デフォルトの名無しさん[sage]   投稿日:2015/01/22 00:22:00  ID:ILDcB4ZR.net
>164
いやぁ、ぎゃくにコンストラクタ名=クラス名じゃだめな理由がわからん
コメント2件

169
デフォルトの名無しさん[sage]   投稿日:2015/01/22 16:14:40  ID:OOXpmQrC.net
PHPはその歴史的理由から4→5のオブジェクト指向言語に生まれ変わる際に
コンストラクタを__constructで統一したんだよ
Javaでいうsuper()が存在しないから、子から親のコンストラクタを呼び出す際には親クラスを指定しないといけなかったわけ

170
デフォルトの名無しさん[sage]   投稿日:2015/01/22 17:00:37  ID:4J0y7c4J.net
>168
クラス名を記述する回数は少なければ少ないほどいいから。

171
デフォルトの名無しさん[sage]   投稿日:2015/01/23 00:05:40  ID:RzdPlRZs.net
コンストラクタを強制するインターフェースじゃねーの

172
デフォルトの名無しさん[sage]   投稿日:2015/01/24 17:03:34  ID:W3y8Uzfq.net
>168
ファイル名、クラス名、コンストラクタ名の
三箇所も修正することを許容できるやつは
普段から同一ロジックのコピペとかやってそう
コメント1件

173
デフォルトの名無しさん[sage]   投稿日:2015/01/24 19:21:07  ID:9VP09wad.net(2)

174
デフォルトの名無しさん[sage]   投稿日:2015/01/24 19:28:04  ID:9VP09wad.net(2)
>173
答えなくてよいですお、失礼

175
デフォルトの名無しさん[sage]   投稿日:2015/01/25 00:18:02  ID:bEvqkUb8.net
2chにレスするヒマはあるけど教授するほどヒマじゃない

176
デフォルトの名無しさん[sage]   投稿日:2015/01/25 10:36:14  ID:HdNUsAFb.net
>172
IDEにリファクタリングが無ければ諦める、かなw

177
デフォルトの名無しさん[sage]   投稿日:2015/01/25 23:32:57  ID:4pKlUm4L.net
<?= $_POST["text"] ?>
みたいに<?= ?>で囲まれてるのはどういう意味ですか?
なんで=がつくんですか?
コメント1件

178
デフォルトの名無しさん[sage]   投稿日:2015/01/26 00:09:14  ID:3JOZ16Kc.net(2)
ほかの言語との兼ね合いで。

179
デフォルトの名無しさん[sage]   投稿日:2015/01/26 00:59:23  ID:7cV7B6pi.net(2)
<?= は <?php echo と同じ

180
デフォルトの名無しさん[sage]   投稿日:2015/01/26 01:04:23  ID:szxGHRn9.net
>177
ショート・オープン・タグ

意味的には
<?php echo $_POST["text"] ?>
とするのと同じ

JSPでも似た構文(<%= var %>)有り

環境によっては使えない場合も(php.iniが変更できないとか)

181
デフォルトの名無しさん[]   投稿日:2015/01/26 11:51:21  ID:WkguQBS6.net
cakePHP Frameworkスレで質問したのですが
分かる人がいないのでこちらで質問させてください。



以下のページを参考に画像のアップロード機能を試しています。
なぜかファイルをアップロードしようとすると「save」ファンクション
が認識されずにエラーになってしまいます。

http://www.tailtension.com/cakephp/1512/

【エラーの出るコントローラの中のコード】
//画像の保存
if($this->Post->save($this->request->data))
⇒ここでエラー

【エラー内容】
Fatal error: Call to a member function save() on a non-object in

【捕捉】
コントローラ名は、 TestController.phpで
定義したアクション名は、 update_image です。

182
デフォルトの名無しさん[sage]   投稿日:2015/01/26 14:05:05  ID:3JOZ16Kc.net(2)
質問がおかしい。
saveが認識されないのではなくPostが意図したオブジェクトになっていないのが正しいだろう
コメント2件

183
DAEMON[daemon@2ch.net]   投稿日:2015/01/26 15:13:15  ID:itBI5fDM.net
>182
 シ
タッ・・(Φ Φ+)・・・ 何方にレスを 話の経緯が読めません

184
デフォルトの名無しさん[sage]   投稿日:2015/01/26 15:44:15  ID:o6RBMBnt.net
$this と $this->Post が有効かチェックしてみて

185
デフォルトの名無しさん[sage]   投稿日:2015/01/26 18:21:09  ID:PwPotq60.net
過疎スレで1時間で返答つかなかったからマルチとかたちわるいな

186
デフォルトの名無しさん[sage]   投稿日:2015/01/26 20:31:09  ID:uo2jLmf1.net(3)
はじめまして(><)
コメント1件

187
デフォルトの名無しさん[sage]   投稿日:2015/01/26 20:33:02  ID:uo2jLmf1.net(3)
>186です…

php で replace で 「 0 」 を 置換したいのですが、
「100」 や「 10 」の「 0 」は置換したくありません!

何か設定の方法はありますか?(><)
コメント2件

188
デフォルトの名無しさん[sage]   投稿日:2015/01/26 20:34:55  ID:uo2jLmf1.net(3)
ついでと言っちゃなんですが、もう一つ質問です!

正規表現の、例えば 「\r\n」 を<br>に置換したいときはどう書けばよいでしょうか?
どなたかご教示くださいm( -ω-)m
コメント1件

189
デフォルトの名無しさん[sage]   投稿日:2015/01/26 20:58:23  ID:AiXGLgGn.net
>187
置換したくない"0"を、何か別の文字列に置き換えておく。
"0"を希望する文字に置換する。
別の文字列に置き換えていたものを、元の"0"に戻す。
コメント1件

190
デフォルトの名無しさん[sage]   投稿日:2015/01/26 22:17:47  ID:7cV7B6pi.net(2)
>187
[^0-9]?0

>188
nl2br
コメント1件

191
デフォルトの名無しさん[sage]   投稿日:2015/01/27 00:34:06  ID:YQSfawfj.net
エスケープ処理は基本中の基本やな
コメント1件

192
デフォルトの名無しさん[]   投稿日:2015/01/27 02:12:11  ID:0NKY9Qid.net
>182 184

cakeの機能を使わずに普通に実装しました。
下手にFWの機能を使うよりも普通に実装した方が楽な場合も結構ありますね。
コメント1件

193
デフォルトの名無しさん[sage]   投稿日:2015/01/27 03:14:04  ID:OmEcIi+U.net
>192
FWが何をしているのかを知らないからそうなるんじゃないかな。
スーパーグローバルを直接触らない代わりにどんなメリットが生まれているのか考えてみたらいいよ

194
デフォルトの名無しさん[sage]   投稿日:2015/01/27 11:36:19  ID:bJwjBTio.net(2)
>189
ありがとうございます!!
やはり「 0 」にこだわらない方が効率が良いですよね…

>190
ありがとうございます!
早速試してみます!

195
デフォルトの名無しさん[sage]   投稿日:2015/01/27 11:49:52  ID:bJwjBTio.net(2)
>191
ありがとうございます!
エスケープ処理…調べてみます!

196
質問者[]   投稿日:2015/01/28 21:56:45  ID:TOZ4mW8s.net
コンニチハ、
海外のウェブプロキシーリストを作り
そのプロキシをランダムに取得しランダムで特定のサイトにアクセスするいわゆる多段串のようなものを実現させたいのですが
スクリプトの構造的にどのようになるのでしょうか?
コメント1件

197
デフォルトの名無しさん[sage]   投稿日:2015/01/28 22:33:03  ID:XWi4rAA/.net
>196
カスケード接続する
ただ、公開プロキシで多段に対応してるのは希少
目的が何かわからんけど、このレベルの質問するなら諦めろとアドバイスする

198
デフォルトの名無しさん[]   投稿日:2015/01/30 00:47:53  ID:UnBDdYg/.net(3)
php5.5、5.6はXPでは動かないですよね?
XPで動くようソースからビルドしようとしてるけど既製らビルド品ありますか?

199
デフォルトの名無しさん[sage]   投稿日:2015/01/30 00:54:24  ID:wLjy5NT6.net
動かないんですか?

200
デフォルトの名無しさん[]   投稿日:2015/01/30 00:56:29  ID:UnBDdYg/.net(3)
最近のは知らないけど。PHP5.5以降からはWindows XPには無い命令が使われて動作しないはず。
最新バイナリは試していない。

201
デフォルトの名無しさん[sage]   投稿日:2015/01/30 08:25:56  ID:0YV6xwSy.net
>2
あんな過疎板、もう潰していいだろ。

202
デフォルトの名無しさん[sage]   投稿日:2015/01/30 09:38:16  ID:mecaVc4e.net
それはお前の意志で決めることじゃないからな
こっちのスレじゃCLIとかHiphopとかexe compilerの話しとけよ

203
デフォルトの名無しさん[sage]   投稿日:2015/01/30 10:43:34  ID:xRghob4k.net
それもお前が決めることじゃないな

204
デフォルトの名無しさん[]   投稿日:2015/01/30 16:06:33  ID:KUR67ecF.net
eclipseでソースコードを編集しているのですが
段々とコード行数が増えてきて、編集中にもたつきを感じる様になりました。


皆さんはこういう場合、どうしていますか?
コメント1件

205
デフォルトの名無しさん[sage]   投稿日:2015/01/30 19:09:17  ID:oM+5m4nl.net
CPUいいのに変えてメモリ増やしてSSD導入する

206
デフォルトの名無しさん[sage]   投稿日:2015/01/30 19:15:09  ID:J1GZQJkp.net(2)
コード支援を全部切る?・・・じゃあIDE使う意味ないねw

リファクタリングで抜き出せる部分を別ファイル化?

207
デフォルトの名無しさん[sage]   投稿日:2015/01/30 19:18:02  ID:BNtp6MqM.net
一ファイルにむやみにたくさん書き込んでいると見た
コメント1件

208
デフォルトの名無しさん[]   投稿日:2015/01/30 19:39:56  ID:UnBDdYg/.net(3)
eclipse自体を使わない。

209
デフォルトの名無しさん[]   投稿日:2015/01/30 20:50:37  ID:Y/JFK4Bk.net(2)
ソフトを起動した時に本来のウィンドウとは別の「なんか今頑張って起動してます」
みたいな表示がでる奴があるじゃないですか。
ああゆうのを作ってみたいんですけど、どんな単語でググればいいんでしょうか?

210
デフォルトの名無しさん[sage]   投稿日:2015/01/30 21:08:26  ID:J1GZQJkp.net(2)
スプラッシュスクリーン・・・だけどPHPで?
コメント1件

211
デフォルトの名無しさん[sage]   投稿日:2015/01/30 21:16:16  ID:Y/JFK4Bk.net(2)
えっ?PHP…あわわっ只の「くだ質スレ」だと思ってしまいました…ごめんななさい。
それはそうと、ありがとうです>210
スプラッシュスクリーン、そんな洒落た名前だったんですね。
コメント2件

212
デフォルトの名無しさん[sage]   投稿日:2015/01/31 06:31:07  ID:9DGlLiRv.net
>211は悪くないな
PHPとか糞迷惑なやつらはwebprogへ帰れよ

213
デフォルトの名無しさん[sage]   投稿日:2015/01/31 11:14:53  ID:uquIaUji.net
流れ見ないでレスするとこうなる

214
デフォルトの名無しさん[sage]   投稿日:2015/01/31 13:03:31  ID:BgOpeydW.net
脳内流れ

215
デフォルトの名無しさん[sage]   投稿日:2015/02/01 13:37:48  ID:QwbaGHVn.net
中々見れないんだよな数レス前って

216
デフォルトの名無しさん[]   投稿日:2015/02/05 12:25:01  ID:XfrlZxHD.net
C言語のmain関数やJavaのmainメソッドのようにプログラムの
自動起点とすることができる関数や方法はPHPにありますか?
あったらその関数や方法を教えて欲しいです。

あるクラスを読み込んだだけで実行できるようにしたいです。
コメント1件

217
デフォルトの名無しさん[sage]   投稿日:2015/02/05 12:36:11  ID:3aF8D9zw.net
ない
強いて言うならコンストラクタ
コメント1件

218
デフォルトの名無しさん[sage]   投稿日:2015/02/05 14:26:54  ID:M8LYrI6I.net
>217
ありがとうございます。
やはり、newをして実行しないとダメみたいですね。
マジックメソッドに、__main()とか作ってくれればいいのに。

219
デフォルトの名無しさん[sage]   投稿日:2015/02/05 14:53:09  ID:Ymh9V5e3.net
https://php.net/manual/ja/function.main.php
むしろ無くなってるなw

220
デフォルトの名無しさん[sage]   投稿日:2015/02/05 15:03:31  ID:FwB33VpM.net
<?php
function main() {
echo "hogehoge.";
}
main();
?>
コメント2件

221
デフォルトの名無しさん[sage]   投稿日:2015/02/05 15:28:49  ID:/Y0+zaOS.net
>216
> あるクラスを読み込んだだけで実行できるようにしたいです。
これを解決したいだけなら、クラスファイルの中に希望する処理を書けばよい

222
デフォルトの名無しさん[sage]   投稿日:2015/02/05 15:33:55  ID:TvPdQkb9.net
>220
> ?>
これ書く奴いなくならないね。

223
デフォルトの名無しさん[sage]   投稿日:2015/02/05 17:39:30  ID:pZV1a1/q.net
そりゃこのスレだと下にもレスが続くからなw

224
デフォルトの名無しさん[sage]   投稿日:2015/02/05 18:05:27  ID:iBBDga7j.net
HTMLを含まない純粋なPHPプログラムだけのPHPファイルは?>書かない方がいい

225
デフォルトの名無しさん[sage]   投稿日:2015/02/07 11:38:02  ID:quWAAr+b.net(4)
いやいや、?>くらいかけよ

226
デフォルトの名無しさん[sage]   投稿日:2015/02/07 11:40:33  ID:quWAAr+b.net(4)
これしか見てない奴が多い
http://php.net/manual/ja/language.basic-syntax.phptags.php

227
デフォルトの名無しさん[sage]   投稿日:2015/02/07 11:57:20  ID:VUqqkf5v.net
BOMつけなきゃバグらんだろ

228
デフォルトの名無しさん[sage]   投稿日:2015/02/07 12:54:39  ID:cqUnuN7x.net
で、 ?>のあとに無駄な空白が入ってるせいで
それincludeしてるプログラムで header関数使うと
headers already sent

229
デフォルトの名無しさん[sage]   投稿日:2015/02/07 13:25:44  ID:o1zugbsU.net(2)
>ファイル全体が純粋な PHP コードである場合は、ファイルの最後の終了タグは省略するのがおすすめです。
>終了タグの後に余分な空白や改行があると、予期せぬ挙動を引き起こす場合があるからです。
>余分な空白や改行のせいで PHP が出力バッファリングを開始し、その時点の内容を意図せず出力してしまうことになります。

公式だって推奨してるし、ZendFWだって書いてない
なのに反発してる奴って・・・
コメント1件

230
デフォルトの名無しさん[sage]   投稿日:2015/02/07 13:26:44  ID:quWAAr+b.net(4)
>終了タグの後に余分な空白や改行があると

231
デフォルトの名無しさん[sage]   投稿日:2015/02/07 13:52:53  ID:zjjMk7yP.net(4)
お前は一体何が言いたいんだ

232
デフォルトの名無しさん[sage]   投稿日:2015/02/07 14:10:24  ID:quWAAr+b.net(4)
盲目的に終了タグ書くなってのはちげーだろってこと
コメント2件

233
デフォルトの名無しさん[sage]   投稿日:2015/02/07 14:17:10  ID:zjjMk7yP.net(4)
プログラマーなんてものは最善な方法だけ知っておけばよい

234
デフォルトの名無しさん[sage]   投稿日:2015/02/07 14:38:03  ID:jC1YUVep.net
お勧めってだけで、書くなとは言ってないな

235
デフォルトの名無しさん[sage]   投稿日:2015/02/07 16:47:49  ID:Q6/IgrSt.net
で、なんで終了タグ書きたいの?
>229の理由よりもまともな理由あるの?

236
デフォルトの名無しさん[sage]   投稿日:2015/02/07 17:47:25  ID:cSsypbTd.net(2)
あー>220 書いたの俺だわ、なんかスマンなw

括弧とか閉じまで先に書くクセがあるんだわw
コメント1件

237
デフォルトの名無しさん[sage]   投稿日:2015/02/07 18:08:48  ID:JB9TvdV/.net(3)
>236
お前だったのか(驚愕)

238
デフォルトの名無しさん[sage]   投稿日:2015/02/07 18:30:12  ID:cSsypbTd.net(2)
何い、知っておるのか雷電?

239
デフォルトの名無しさん[sage]   投稿日:2015/02/07 18:46:39  ID:o1zugbsU.net(2)
>232
>ファイル全体が純粋な PHP コードである場合
この状況で終了タグを書く必要性は皆無
よって、盲目的になっても別に良い
反論するなら終了タグが必要な理由を述べて。

240
デフォルトの名無しさん[sage]   投稿日:2015/02/07 19:08:03  ID:wtoMRbFn.net(5)
>232
一番荒れる原因になるのは終了タグ直後のひとつの改行を許すかどうかであるべきだと思ってるんだが、
ここではその話になってないのが実に残念だ。

結局はこういうやり取りがめんどくさくてしょうがないから、各所の規約で書くなと決めてしまっているのが今の状態。
書きたくてしょうがないやつはいないから、いろいろあるなかで一番ましなまとめ方なんよ。

241
デフォルトの名無しさん[sage]   投稿日:2015/02/07 19:09:59  ID:uAJZ2/Wn.net(2)
お勧めってだけで、書くなとは言ってないな

242
デフォルトの名無しさん[sage]   投稿日:2015/02/07 20:36:17  ID:XHUlJuFO.net(2)
終了タグ ?>
これを書かない場合、ファイルの最終行に、終りを示すコメントとか入れてる?
たとえば、
//EOF
とか。それとも何も書かずに終了する?

243
デフォルトの名無しさん[sage]   投稿日:2015/02/07 20:44:00  ID:zjjMk7yP.net(4)
そんな無意味なコメント入れない
コメント1件

244
デフォルトの名無しさん[sage]   投稿日:2015/02/07 21:05:56  ID:XHUlJuFO.net(2)
>243
そうなのか。ありがとう。

245
デフォルトの名無しさん[]   投稿日:2015/02/07 21:12:28  ID:3d6Dulsa.net(5)
というか、終了タグの後ろに空白や改行が入ったくらいでどうにかなっちゃうPHPをどうにかしたほうがいいんじゃないか?
コメント1件

246
デフォルトの名無しさん[sage]   投稿日:2015/02/07 21:24:32  ID:uAJZ2/Wn.net(2)
プログラムは、
意図したとおりに動くんじゃなく、
書いたとおりに動くということで
ご了承ください

247
デフォルトの名無しさん[]   投稿日:2015/02/07 21:43:09  ID:3d6Dulsa.net(5)
終了タグの後ろに空白入ると出力バッファリングを開始しておもらししちゃうPHP

248
デフォルトの名無しさん[sage]   投稿日:2015/02/07 21:43:37  ID:wtoMRbFn.net(5)
>245
それは的外れだよ。
.phpm みたいな拡張子を用意すべきだったという考えならそれもありかなとは思うけど。

249
デフォルトの名無しさん[]   投稿日:2015/02/07 21:45:31  ID:3d6Dulsa.net(5)
echoしてないものを出力しちゃうなんて欠陥以外の何物でもなくね?

250
デフォルトの名無しさん[sage]   投稿日:2015/02/07 21:46:33  ID:wtoMRbFn.net(5)
HTML文書の中にコードを埋めることができるというのが元の発想だから。
コード以外のものは出力するというのが根本。
コメント1件

251
デフォルトの名無しさん[]   投稿日:2015/02/07 21:53:53  ID:3d6Dulsa.net(5)
いやそれはわかるが、だったら、空白か改行コードだけブラウザに送れよって思うわ
ブラウザがただの空白、改行に反応すんのが悪い
コメント1件

252
デフォルトの名無しさん[sage]   投稿日:2015/02/07 21:56:15  ID:wtoMRbFn.net(5)
空白か改行コードをブラウザに送るためにはレスポンスを開始しないといけないわけだが

253
デフォルトの名無しさん[sage]   投稿日:2015/02/07 22:01:21  ID:3d6Dulsa.net(5)
すまん、言ってる意味がよくわからん
コメント1件

254
デフォルトの名無しさん[sage]   投稿日:2015/02/07 22:26:51  ID:UqSx8T+0.net
PHPはあくまでテンプレート言語であって、サーバーに寄生してフィルタ的に使われるようになったのは、完全に2次的な話。
だから、レスポンスがどうのこうのは的外れ。

255
デフォルトの名無しさん[sage]   投稿日:2015/02/07 22:29:36  ID:zjjMk7yP.net(4)
この一言で片付けられる
「仕様です」

256
デフォルトの名無しさん[sage]   投稿日:2015/02/07 22:33:10  ID:JB9TvdV/.net(3)
>250
ブラウザに送っているから問題なんだわ。
ここに例が詳しく書いている。
http://d.hatena.ne.jp/fbis/20090716/1247714151
コメント1件

257
デフォルトの名無しさん[sage]   投稿日:2015/02/07 22:33:44  ID:JB9TvdV/.net(3)
>251の間違い

258
デフォルトの名無しさん[sage]   投稿日:2015/02/07 22:38:00  ID:wtoMRbFn.net(5)
>253
HTTPのいろはから勉強したほうがいいと思うの。
コメント1件

259
デフォルトの名無しさん[]   投稿日:2015/02/07 22:55:10  ID:y/AEt64y.net
これは何しているところですか?
http://i.imgur.com/8FRiTmg.jpg
コメント1件

260
デフォルトの名無しさん[sage]   投稿日:2015/02/07 23:18:40  ID:ch9ozq+p.net
>259
グロ

261
デフォルトの名無しさん[sage]   投稿日:2015/02/08 06:59:25  ID:LYmBvKCw.net(2)
>256
そこのページも改行コードが「表示される」とか書いてあるけど
いやいやって感じだな
<br> または <br />って書いてるならまだしも

262
デフォルトの名無しさん[]   投稿日:2015/02/08 07:23:09  ID:oFLWAs+T.net
>258
改行コードをブラウザが読み込んだら表示も改行されるの?
おめでたいやつだな
いろはを学んだ方がいいのはお前だろw
コメント1件

263
デフォルトの名無しさん[sage]   投稿日:2015/02/08 08:01:00  ID:aMsy6Zj7.net(2)
PHPって<?php?>の外でもファイルの先頭に#って書けないよな?w

264
デフォルトの名無しさん[sage]   投稿日:2015/02/08 10:17:23  ID:rmuNBtf+.net
#!/usr/local/bin/php
<?php

とか普通にやりますが何か?
コメント1件

265
デフォルトの名無しさん[sage]   投稿日:2015/02/08 10:58:00  ID:aMsy6Zj7.net(2)
>264
それのために書けないよなw
コメント2件

266
デフォルトの名無しさん[sage]   投稿日:2015/02/08 11:32:10  ID:p7WE/J50.net
まあ、こんなに仕様が変わっていった言語もそうないだろ

267
デフォルトの名無しさん[sage]   投稿日:2015/02/08 11:44:17  ID:e4rj0+Rn.net
使っているユーザーが多くて、改善要望が多いせいじゃないか?

268
デフォルトの名無しさん[sage]   投稿日:2015/02/08 12:06:24  ID:/NbqY0E2.net
>265
実行権限与えれば動作するが、何が言いたいんだ?

269
デフォルトの名無しさん[sage]   投稿日:2015/02/08 12:49:40  ID:kikHBD4l.net
民主党のマニフェスト並みに何でも取り込むからだよ

270
デフォルトの名無しさん[sage]   投稿日:2015/02/08 16:08:14  ID:57iH9vTa.net(3)
>262
HTTPとHTMLの違いを理解したほうがいいと思うの
コメント1件

271
デフォルトの名無しさん[sage]   投稿日:2015/02/08 16:13:14  ID:57iH9vTa.net(3)
>265
はいどうぞ。
http://php.net/manual/ja/features.commandline.usage.php

ちなみに、"それ"とか"ファイルの先頭に#"って書いてるそれはシェバング行と言ったりするよ。

272
デフォルトの名無しさん[sage]   投稿日:2015/02/08 16:22:42  ID:LYmBvKCw.net(2)
>270
( ゚Д゚)ハァ?
コメント1件

273
デフォルトの名無しさん[sage]   投稿日:2015/02/08 16:26:01  ID:57iH9vTa.net(3)
>272
話の流れ的にはそうだろう。
ID:3d6Dulsa の件。

274
デフォルトの名無しさん[sage]   投稿日:2015/02/08 19:31:58  ID:lw0YQSqg.net
211 名前:nobodyさん[sage] 投稿日:2015/02/08(日) 19:24:47.78 ID:???
>204
お前何も知らないだろ

PHPが使われなくなったのはレン鯖からPHP外す流れになったのが原因だよ

213 名前:nobodyさん[sage] 投稿日:2015/02/08(日) 19:29:10.81 ID:???
>211
逆。
PHPが使われなくなったから外す流れになった。



続きはこっちでどうぞ^^;

275
デフォルトの名無しさん[sage]   投稿日:2015/02/09 10:37:57  ID:AuqukOe+.net(14)
データをDBへ登録して、それを表示するページを作っています。
表示するページのURLについて質問ですが、
現在は一意IDとしてDBのAUTOINCREMENTで割り振られた連番を利用しています。

/index.php?page=123
           ~~~~

連番なので、直接URLに数値を打ち込めば総数がバレてしまいますし、
ツールやスクリプトなどによる連続アクセスも容易になってしまいます。

これを防ぐために、YouTubeやAmazonのようなIDにしたいと考えています(例は一部○で伏せています)

/product/B00S6C3○○W/  //Amazon
      ~~~~~~~~~~~~~~~
/watch?v=CHVq1xQ○○nM  //YouTube
       ~~~~~~~~~~~~~~~~~~

このようなIDを生成するにはどうしたらよいでしょうか?

276
275[sage]   投稿日:2015/02/09 10:42:11  ID:AuqukOe+.net(14)
補足です。
IDは一意なもので、可能な限り短く、
長さは可変(データ量が振れば文字の桁数が増えていく)を考えています。

277
デフォルトの名無しさん[sage]   投稿日:2015/02/09 10:56:02  ID:p6Gav+v7.net(3)
PHP 62進数で検索
コメント1件

278
デフォルトの名無しさん[sage]   投稿日:2015/02/09 10:57:05  ID:AuqukOe+.net(14)
>277
62進数も結局は連番なので、考えているものと違います

279
デフォルトの名無しさん[sage]   投稿日:2015/02/09 11:05:04  ID:p6Gav+v7.net(3)
数値なんだから、一回適当な数足すとか引くとか
生成した文字列を規定の方法でシャッフルするとか
ご自分の考えているものでどーぞ
コメント3件

280
デフォルトの名無しさん[sage]   投稿日:2015/02/09 11:14:46  ID:AuqukOe+.net(14)
>279
なるほど、最初に手を加えてから進数変換するわけですね
一先ずそれで試してみようと思います、ありがとうございます。


それと、他の手法も知っておきたいので、
もし他のやり方をご存知の方いらっしゃれば教えてください。
コメント1件

281
デフォルトの名無しさん[sage]   投稿日:2015/02/09 11:43:51  ID:kQFsD0xw.net(4)
Ohgakiとかいうおっさん、どうにかならんの?

282
デフォルトの名無しさん[sage]   投稿日:2015/02/09 11:46:45  ID:/goebppZ.net(5)
>280
MD5でいいじゃん
コメント1件

283
デフォルトの名無しさん[sage]   投稿日:2015/02/09 11:52:45  ID:AuqukOe+.net(14)
>282
MD5ではURLに対しては文字数が長すぎます

284
デフォルトの名無しさん[sage]   投稿日:2015/02/09 12:17:07  ID:/goebppZ.net(5)
そんな長くもないけどな、でもうちで使ってるのはパスブックのauthコードか、、
あと事前にランダム文字列をテーブルに入れといてidと変換して使ってるけどね
これはURLじゃないけどお客様予約コードとして
コメント1件

285
デフォルトの名無しさん[sage]   投稿日:2015/02/09 12:28:44  ID:iwYt+9F+.net
trすれば?w

286
デフォルトの名無しさん[sage]   投稿日:2015/02/09 12:29:36  ID:AuqukOe+.net(14)
>284
>事前にランダム文字列をテーブルに入れといて
これはどのように生成していますか?
生成したら毎回一意かどうかDBを確認してるんでしょうか?

287
デフォルトの名無しさん[sage]   投稿日:2015/02/09 12:36:03  ID:/goebppZ.net(5)
一意かどうかはDBにユニーク属性つけときゃかぶらないでしょ
どうやって生成したか忘れた、、10年近く前だったしな、
必要なときに都度作ってかぶったら作り直し、でもいいと思うけどな

ちょっとググったら
http://www.japan9.com/cgi/rand_num.cgi
こんなのあった。
まあライブラリとかでもなんとかなるような
コメント1件

288
デフォルトの名無しさん[sage]   投稿日:2015/02/09 12:46:00  ID:AuqukOe+.net(14)
>287
DBにデータを作成する際に衝突したらもう一度繰り返すんですか?
生成方法にもよりますけど、理論的には無限ループにもなりますよね?(事実上有り得ないけど)
具体的な生成方法を教えて頂けると嬉しいです。

URL先はこれから拝見します。
コメント1件

289
デフォルトの名無しさん[sage]   投稿日:2015/02/09 12:52:26  ID:AuqukOe+.net(14)
URL先拝見しました。
見たところ単にランダムなだけであって一意性が保証されてないように見えます。
また、ダウンロードやソースや利用規約なども明記されてないので使いようがないように思えます(探し方がわるく見つけ切れなかっただけならごめんなさい)

290
デフォルトの名無しさん[sage]   投稿日:2015/02/09 12:53:10  ID:r3iadyqd.net(4)
>288
ハッシュ関数で検索する。
桁数が短い場合は重複する値が発生する確率が高まるよ。
コメント1件

291
デフォルトの名無しさん[sage]   投稿日:2015/02/09 13:01:09  ID:AuqukOe+.net(14)
>290
ハッシュ関数は知っています。
ただ、参考にしたいYouTubeやAmazonのIDはハッシュには見えませんが、どうやればいいでしょうか?
コメント1件

292
デフォルトの名無しさん[sage]   投稿日:2015/02/09 13:01:36  ID:r3iadyqd.net(4)
>291
ハッシュに見えないですか。ハッシュですよ。
コメント1件

293
デフォルトの名無しさん[sage]   投稿日:2015/02/09 13:03:52  ID:r3iadyqd.net(4)
別案としては、乱数生成して文字列化でもいいと思うよ。
ハッシュアルゴリズムを使用するよりも重複する確率は高くなるので、重複チェック怠らずに。
コメント1件

294
デフォルトの名無しさん[sage]   投稿日:2015/02/09 13:04:08  ID:AuqukOe+.net(14)
>292
数値ではないので厳密な意味でのハッシュ関数ではありませんね。
でもこれは本題ではないのでいいです。
YouTubeやAmazonのように短いIDの生成方法を教えてください。

295
デフォルトの名無しさん[sage]   投稿日:2015/02/09 13:06:59  ID:AuqukOe+.net(14)
>293
膨大なデータが既にある状態だと、何度も何度も重複してやり直す必要が出てくるのって
凄くパフォーマンスが悪い気がしますが、改善策はないのでしょうか?
コメント1件

296
デフォルトの名無しさん[sage]   投稿日:2015/02/09 13:27:44  ID:r3iadyqd.net(4)
>295
データ登録時のコストとデータ参照時のコストは分けて考えるべきだけど、
初期データ登録以外でも前者が多いの?
コメント1件

297
デフォルトの名無しさん[sage]   投稿日:2015/02/09 13:37:51  ID:AuqukOe+.net(14)
>296
最初はデータは少ないです。
ただ、運用していくにあたってデータ量はかなりのものになると予想してます。

298
デフォルトの名無しさん[sage]   投稿日:2015/02/09 13:42:17  ID:/goebppZ.net(5)
リンク先でも同じようにやってるけど、ユーザーが誤認しやすい文字をあらかじめ省く、とかもやってんだよね
実行時生成で無限ループが怖かったら先に全部作っときゃいいじゃん、目の前で実行してんだから
ループしたら止めてやり直しゃいいだろう。10年分も作っときゃいい
コメント1件

299
デフォルトの名無しさん[sage]   投稿日:2015/02/09 13:51:36  ID:AuqukOe+.net(14)
>298
無限ループって言葉は悪かったかもしれません。(そもそも、そんな実装をする場合は無限ループしないようになんらかの処理を加えるので)
要は、何度も生成を繰り返す(一定条件で失敗と見なす)やり方はUXにも影響が出てしまいますし、
もっとスマートに出来る手法があるのかを知りたいです。

>先に全部作っときゃいいじゃん
このやり方は一理ありますが、凄く無駄のようにも思えます。
こういうやり方が主流なんでしょうか?
コメント1件

300
デフォルトの名無しさん[sage]   投稿日:2015/02/09 15:15:32  ID:8DtgTl9e.net(5)
phpをテンプレートとして使って
モデルとコントローラは別言語で書きたい

301
デフォルトの名無しさん[]   投稿日:2015/02/09 16:01:53  ID:4CCXLzuG.net
>299
そのIDってDB上で何桁なの?

302
デフォルトの名無しさん[sage]   投稿日:2015/02/09 16:22:57  ID:kQFsD0xw.net(4)
こんなのでいいんじゃないの?
substr(md5(uniqid(rand(), 1)), 0, 10)
コメント1件

303
デフォルトの名無しさん[sage]   投稿日:2015/02/09 17:30:08  ID:J1Lpqudc.net
ハッシュをsubstrとか最悪だろ
コメント1件

304
デフォルトの名無しさん[sage]   投稿日:2015/02/09 17:32:08  ID:/goebppZ.net(5)
まだバイナリに戻してbase64のが、、w

305
デフォルトの名無しさん[sage]   投稿日:2015/02/09 17:37:09  ID:p6Gav+v7.net(3)
base64はURLでエンコ掛かる文字があるからな

306
デフォルトの名無しさん[sage]   投稿日:2015/02/09 17:43:54  ID:KZXLvyao.net
普通にランダム文字列生成して、DBで重複チェックすればいいじゃねーか
無限ループする可能性は0じゃないけどほぼ0。
大文字小文字数字で62種類から5桁使うだけで916132832通り。
こんな中から重複する確率心配する必要あるのか?

307
デフォルトの名無しさん[sage]   投稿日:2015/02/09 17:44:22  ID:8DtgTl9e.net(5)
substrを嫌って
md5の値をxorで半分に畳んでから64進数にするコードとかは書いた
1/6位に縮む
コメント1件

308
デフォルトの名無しさん[sage]   投稿日:2015/02/09 17:46:06  ID:8DtgTl9e.net(5)
同じデータで同じ値が得られるって必要ないなら乱数がいいわな

309
デフォルトの名無しさん[sage]   投稿日:2015/02/09 17:50:30  ID:8DtgTl9e.net(5)
乱数の衝突確率と
DB使った衝突チェックコードがバグってデッドロックする確率と
どっちを重要視するかだなー

310
デフォルトの名無しさん[sage]   投稿日:2015/02/09 17:53:30  ID:kQFsD0xw.net(4)
>303
> ハッシュをsubstrとか最悪だろ
そうかな。
10桁のランダム文字列を生成して衝突する確率と、>302の衝突確率、どっちがどれくらい大きい?
そんな違わんと思うんだが。

311
デフォルトの名無しさん[sage]   投稿日:2015/02/09 17:59:54  ID:8DtgTl9e.net(5)
元データがユーザーで指定出来るなら
わざと衝突させることは可能
でも元データが乱数なら特に仕様に問題なさそう?

312
デフォルトの名無しさん[sage]   投稿日:2015/02/09 18:31:51  ID:kQFsD0xw.net(4)
まぁ、それなりに短くてユニーク性が担保されてる物を使いたいなら、事前生成してIDプールを作っとくしかないかなぁ。

313
デフォルトの名無しさん[sage]   投稿日:2015/02/09 18:32:05  ID:gGWdGnGd.net
youtubeの動画idを作るアルゴリズムは俺も気になる
誰もわかる人いないの?

314
デフォルトの名無しさん[sage]   投稿日:2015/02/09 18:37:53  ID:TIoddbDq.net
ざっと見た感じ10桁と11桁があったから固定長ではないということと
0-9a-zA-Z-_の64進数であるということ
別に難しいことやってないだろ衝突のチェックはしてるはずだ
コメント1件

315
デフォルトの名無しさん[]   投稿日:2015/02/09 19:44:46  ID:5MH5oReq.net
>307 のコードはこれな
https://ideone.com/KRfKyg
>314と桁数も同じだし似たような事やってんだろ

316
デフォルトの名無しさん[sage]   投稿日:2015/02/09 21:14:55  ID:AuqukOe+.net(14)
解決できました。
ベースとなる62文字を底とした対数を元に数値から各文字列を算出して、
(このままだと予測が付くので)任意のキーをハッシュにしてそれを軸にベース文字列の順番を変更しました。
任意のキーを変えれば違った結果が得られます。
計算はbcmathを使い大きな数でも変換・復元できます。
変換対象の数値はDBのAUTOINCREMENTの値です。なので、衝突の確認は必要ないです。

//一例
123 <=> Cg
124 <=> v2
125 <=> vC

//結果を5桁以上に指定した場合(桁数指定無しだと C22Cg = 568283946)
123 <=> C22Cg

//大きな数値
2147483647 <=> vR7TLC //PHP_INT_MAX
2147483648 <=> vR7TLv //PHP_INT_MAX + 1
18446744073709551616 <=> R0IZeC8dZNK //1.844674407371E+19
18446744073709551617 <=> R0IZeC8dZNZ
999999999999999999999 <=> WlSOLGrH9mCC

十分満足する結果が得られたので、この質問は締め切りたいと思います。
解答してくださったみなさん、ありがとうございました。
コメント2件

317
デフォルトの名無しさん[sage]   投稿日:2015/02/10 10:18:17  ID:BBYveUv7.net(5)
>316
え?そんなので満足なの?
2文字のキーが存在するとわかると、2文字のその他のキーは総当たりでアタックされちゃうし、
vR7TLCとvR7TLvなんて近すぎるよ。下位一桁を変えるだけで別のを参照できちゃうけど?
コメント1件

318
デフォルトの名無しさん[sage]   投稿日:2015/02/10 10:24:25  ID:4KbenIEn.net(2)
>ベースとなる62文字を底とした対数を元に数値から各文字列を算出して、

これって分かりやすく言うとどういうことをしているの?
またはコードで書くとどうなるのですか?
62進数とか、>279の言うことはわかるのですが、対数とかわからなくなる。
コメント1件

319
デフォルトの名無しさん[sage]   投稿日:2015/02/10 10:40:39  ID:gUpJ+a7f.net
62を底にしたとき62の対数 1
62を底にしたときの62^2の対数 2

まあ、1,2,3・・・を元に計算しましたってことだよw
コメント1件

320
デフォルトの名無しさん[sage]   投稿日:2015/02/10 11:21:41  ID:4KbenIEn.net(2)
>319
なるほど。少しわかりかけてきたよ。
ありがとう。

321
デフォルトの名無しさん[sage]   投稿日:2015/02/10 14:19:58  ID:wIt1SCny.net(4)
>317
>2文字のキーが存在するとわかると
例に在るとおり、桁数は設定できます

>下位一桁を変えるだけで別のを参照できちゃうけど?
これはわかりやすくした結果の一例なので、正しく使えば出来ませんよ

>318
>279とはまた違いますよ

結果はYouTubeのようなIDが生成されます。
ただ、YouTubeは末尾一桁の4byte程を許容しているようなので完全に同じってわけじゃあありません。
多分CheckDigit的な何かだと思うので、これから真似してみます。
コメント1件

322
デフォルトの名無しさん[sage]   投稿日:2015/02/10 14:45:10  ID:BBYveUv7.net(5)
>321
> >下位一桁を変えるだけで別のを参照できちゃうけど?
> これはわかりやすくした結果の一例なので、正しく使えば出来ませんよ
下位一桁を順番にさかのぼれば一個前のキーがわかるのでは?
(一桁だけでさかのぼれなければ二桁さかのぼる)
数値の増加と、生成されたキーの辞書順の順番は同じじゃないの?
元となる値はひとつずつ増え、変換後の1つ前との文字列のΔが小さすぎるんじゃないのってことなんだけど。
コメント1件

323
デフォルトの名無しさん[sage]   投稿日:2015/02/10 14:47:33  ID:BBYveUv7.net(5)
「YouTubeのようなID」っていうから、時系列に生成されたキーを並べても辞書順にはならないものを
求めてると思ったんだけど。

324
デフォルトの名無しさん[sage]   投稿日:2015/02/10 14:49:02  ID:IKKD2i9Y.net
本人が満足してるならそれでいいだろ

325
デフォルトの名無しさん[sage]   投稿日:2015/02/10 15:04:12  ID:BBYveUv7.net(5)
いや、その辺のこと全部わかって満足してるんならいいんだけど、ほんとにわかってんのかなと思って。
コメント1件

326
デフォルトの名無しさん[sage]   投稿日:2015/02/10 15:17:07  ID:wIt1SCny.net(4)
>322
変換テーブルは任意のキーで変更でき、それはいわばランダムにシャッフルされた状態になるので
>下位一桁を順番にさかのぼれば一個前のキーがわかるのでは?
このような心配は必要ないです。

327
デフォルトの名無しさん[sage]   投稿日:2015/02/10 15:18:16  ID:wIt1SCny.net(4)
再度言いますが、>316の一例はわかりやすい結果にした出力です

328
デフォルトの名無しさん[sage]   投稿日:2015/02/10 15:23:16  ID:PEY4PO1c.net
>325
最初のやり取りの時点でわかってるつもりでわかってない人だということがわかってる。

329
デフォルトの名無しさん[sage]   投稿日:2015/02/10 15:36:22  ID:wIt1SCny.net(4)
適切に出力しました。
これを見てまだ指摘があるならください。


5桁以上で生成
123 <=> OpkA9
124 <=> O7WjO
125 <=> Or74G
126 <=> OebeG
127 <=> 93AWG
128 <=> 9zAwE
129 <=> EL5m9

同じ条件でKey変更
123 <=> kPQ4Z
124 <=> Z4rdG
125 <=> Zgzxk
126 <=> kA2eZ
127 <=> klB8n
128 <=> Gzj6G
129 <=> ndwJZ

330
デフォルトの名無しさん[sage]   投稿日:2015/02/10 15:52:10  ID:BBYveUv7.net(5)
疑問多数なんだけど、もろもろ理解した上での満足なんだなということだけはわかったので、もういい。

331
デフォルトの名無しさん[sage]   投稿日:2015/02/11 16:37:52  ID:qk9mI8Ky.net
インタビュー:[楽天]Ruby活用事例とROMA,Fairy|gihyo.jp … 技術評論社
http://gihyo.jp/dev/column/01/prog/2010/030801?page=2
RailsとCakePHPを比べたところ,高負荷時にはRails のほうが大幅に応答性能が高いという結果が出たことですね。
これは200リクエスト/秒くらいからPHPの応答性能が急激に下がるのが原因です。
Rubyはそれほど大きくはパフォーマンスが落ちないんです。

第4回 Railsに変えてよかった!:iKnow!の場合 | Think IT
http://thinkit.co.jp/article/156/4?page=0,1
3ヶ月、わずか3名程度のエンジニアチームで、彼らはPHPで実装が完了していたレベルに追いつきました。
またコード量はPHPの1/5以下にまで削減されており、よりシンプルな構成も実現できました。


食べログの画面数は約200あるが,開発に取りかかって約2カ月で完成した。
「VBscriptならこの倍,PHPでも1.5倍はかかっていたのではないか」
コード量も10分の1になった。
http://itpro.nikkeibp.co.jp/article/OPINION/20071031/286028/

332
デフォルトの名無しさん[]   投稿日:2015/02/11 18:26:22  ID:bsa0WqJ9.net(3)
PHPで外部ディレクトリのファイルを全て取得したいです!
たとえば別板リンク(test)read.cgi/tech/から1418738547などのスレッドキー(ファイル)を取得したいって
ことです!globなどが良さげなのですが自分のディレクトリ配下のファイルしか出ません><

333
デフォルトの名無しさん[sage]   投稿日:2015/02/11 18:31:44  ID:sJPqGjE7.net
それが出来たらやりたい放題だなw
コメント1件

334
デフォルトの名無しさん[]   投稿日:2015/02/11 18:45:25  ID:bsa0WqJ9.net(3)
>333
私がやりたいことは、http://e.z-z.jp/という掲示板サービスのIDを自動で取得したいんです

335
デフォルトの名無しさん[]   投稿日:2015/02/11 20:31:02  ID:bsa0WqJ9.net(3)
うそです!

336
デフォルトの名無しさん[sage]   投稿日:2015/02/11 20:56:44  ID:RxP1DnB1.net(2)
phpのみで苦しみながらコード書いてるけど
テンプレート言語にしては
ずいぶんプログラミングみたいにこと出来ていいねphp
コメント1件

337
デフォルトの名無しさん[sage]   投稿日:2015/02/11 21:08:50  ID:Z2laVfQS.net
>336
Framework使ってる?
苦しむことすらからも解放されるよ

338
デフォルトの名無しさん[sage]   投稿日:2015/02/11 21:16:41  ID:RxP1DnB1.net(2)
php4 dbなしos限定なし設定なし
php拡張ライブラリもwindows apacheデフォルトのみ
そんな環境向けだからWAF使いずらい

339
デフォルトの名無しさん[sage]   投稿日:2015/02/17 23:51:28  ID:Qrf9op+9.net
インタビュー:[楽天]Ruby活用事例とROMA,Fairy|gihyo.jp … 技術評論社
http://gihyo.jp/dev/column/01/prog/2010/030801?page=2
RailsとCakePHPを比べたところ,高負荷時にはRails のほうが大幅に応答性能が高いという結果が出たことですね。
これは200リクエスト/秒くらいからPHPの応答性能が急激に下がるのが原因です。
Rubyはそれほど大きくはパフォーマンスが落ちないんです。

第4回 Railsに変えてよかった!:iKnow!の場合 | Think IT
http://thinkit.co.jp/article/156/4?page=0,1
3ヶ月、わずか3名程度のエンジニアチームで、彼らはPHPで実装が完了していたレベルに追いつきました。
またコード量はPHPの1/5以下にまで削減されており、よりシンプルな構成も実現できました。


食べログの画面数は約200あるが,開発に取りかかって約2カ月で完成した。
「VBscriptならこの倍,PHPでも1.5倍はかかっていたのではないか」
コード量も10分の1になった。
http://itpro.nikkeibp.co.jp/article/OPINION/20071031/286028/

340
デフォルトの名無しさん[sage]   投稿日:2015/02/18 00:05:35  ID:lUlCQlA9.net
Rubyのおかげでハゲが治り、体重も減って恋人も出来ましたw

341
デフォルトの名無しさん[]   投稿日:2015/02/18 00:25:06  ID:deVdAFDE.net
>207
その通り!だから左右に画面を分割してコードをいじっているともっさりして大変なのだ

342
デフォルトの名無しさん[sage]   投稿日:2015/02/19 01:30:22  ID:VWQ00iRn.net
小規模なスクリプトしか書かないから
railsとか重いWAF覚えるには腰が重い
どうでもいいところでハマるし

343
デフォルトの名無しさん[sage]   投稿日:2015/02/19 19:49:34  ID:6DAiIyVa.net
PHPを利用して作成されたサイトを見分ける方法ってありますか?
拡張子が.phpであることやexpose_phpによるヘッダー情報で見分ける以外に
どういった方法があるか知りたいです。

344
デフォルトの名無しさん[sage]   投稿日:2015/02/19 20:12:16  ID:yeNrSBng.net(2)
サーバでうまく設定してればわからない
コメント1件

345
343[sage]   投稿日:2015/02/19 21:48:47  ID:lO9TT2c4.net
>344
ありがとうございます。

PHPの隠蔽には
・拡張子を隠蔽するか変更する
・expose_php を off と設定する
この2つをしておけば他は問題ないみたいですね。
http://php.net/manual/ja/security.hiding.php

たまに、良さそうなサイトがどの言語で作成されているか
気になることがあるのですが、対策されてれば知るのは無理そうですね。

346
デフォルトの名無しさん[sage]   投稿日:2015/02/19 22:56:56  ID:lV3Z3yoq.net
質問者はまずこれを読み、そこまでしてPHPを使い続ける必要があるか考えること。

インタビュー:[楽天]Ruby活用事例とROMA,Fairy|gihyo.jp … 技術評論社
http://gihyo.jp/dev/column/01/prog/2010/030801?page=2
RailsとCakePHPを比べたところ,高負荷時にはRails のほうが大幅に応答性能が高いという結果が出たことですね。
これは200リクエスト/秒くらいからPHPの応答性能が急激に下がるのが原因です。
Rubyはそれほど大きくはパフォーマンスが落ちないんです。

第4回 Railsに変えてよかった!:iKnow!の場合 | Think IT
http://thinkit.co.jp/article/156/4?page=0,1
3ヶ月、わずか3名程度のエンジニアチームで、彼らはPHPで実装が完了していたレベルに追いつきました。
またコード量はPHPの1/5以下にまで削減されており、よりシンプルな構成も実現できました。


食べログの画面数は約200あるが,開発に取りかかって約2カ月で完成した。
「VBscriptならこの倍,PHPでも1.5倍はかかっていたのではないか」
コード量も10分の1になった。
http://itpro.nikkeibp.co.jp/article/OPINION/20071031/286028/

347
デフォルトの名無しさん[sage]   投稿日:2015/02/19 23:36:56  ID:oS1fF8P8.net
2007年の記事を未だにしつこく貼る奴ってなんだろうね
崇拝でもしてるのかな?
あまりしつこいようなら運営に荒らし通報するからな

348
デフォルトの名無しさん[sage]   投稿日:2015/02/19 23:37:17  ID:ktrT5ybF.net
ぼっちって、悲しいね

349
デフォルトの名無しさん[sage]   投稿日:2015/02/19 23:39:47  ID:yeNrSBng.net(2)
自演がバレちゃうから連続で煽ってこない
効果ありすぎw

350
デフォルトの名無しさん[]   投稿日:2015/02/23 15:44:13  ID:jEdpJRTO.net
foreach($contents as $line)
{

}


このコードでは改行文字は  \n \r\n どちらで認識されるのでしょうか?
コメント1件

351
デフォルトの名無しさん[sage]   投稿日:2015/02/23 17:04:51  ID:DYG8BVl4y
cURLでcookieを保存してそれを確認できるようにするにはどうすればいい?

ヘッダー確認してみると受け取ってはいるようなんだが、ファイルとしてディレクトリに残ってないんです。

352
デフォルトの名無しさん[sage]   投稿日:2015/02/23 22:24:39  ID:cWkGfwjm.net
>350
試せ
'\r'検索
コメント1件

353
デフォルトの名無しさん[]   投稿日:2015/02/23 23:44:09  ID:ETApao89.net
>352
さんきゅー

354
デフォルトの名無しさん[sage]   投稿日:2015/02/24 01:43:39  ID:hwXyjfLa.net(3)
あいまいな情報だが、Rubyだと改行は、外部では\r\nでも、
Ruby内では自動的に、\nに変換されていたかな?

外:\r\n → 内:\n → 外:\r\n

PHPはどうなの?

355
353[sage]   投稿日:2015/02/24 05:19:14  ID:hwXyjfLa.net(3)
自己レス
ary = []; ary[2] = []

いったん、空配列で初期化した後なら、追加できる
ary[2][3] = []
ary[2][3] << [1, 2]

ary[2][i]で、iが5, 10など突然に、
ランダムなインデックスに、
次々と追加していくには、どうするの?

最初の1回目だけは、空配列で初期化して、
2回目以降は初期化せずに、追加のみしていきたい

356
353[sage]   投稿日:2015/02/24 05:22:45  ID:hwXyjfLa.net(3)
354は、誤爆!

357
デフォルトの名無しさん[sage]   投稿日:2015/02/24 18:54:05  ID:qJzaoY6z.net(2)
cURLのラッパークラスhttp://qiita.com/mpyw/items/c65fb4ec4cef80909a47

を使ってサイトにログインしてクロールしようと思ってるんだがどうしてもできません。

セキュアなwebサイトではcURLを使ってログインすることができない場合があるんですか?
コメント1件

358
デフォルトの名無しさん[sage]   投稿日:2015/02/24 19:37:17  ID:yPCiESzG.net
そのサーバがクライアントに何を求めてるか
求めてるものが足りないからログインできないだけでcURLは関係ないだろ
正常にログイン出来るブラウザを使ってhttpトレースして自分で調べれないならあきらめろん

359
デフォルトの名無しさん[sage]   投稿日:2015/02/24 20:51:53  ID:qJzaoY6z.net(2)
>357
自己解決

httpヘッダーにOrigin: と'Cache-Control:の要素が足りないだけでした

360
デフォルトの名無しさん[sage]   投稿日:2015/02/25 11:20:35  ID:K9ShYAxG.net(2)
質問です。お願いします。
抽象クラスの抽象メソッドは、必ず継承されるので、
可視性にprivateをつけるのは有り得ないという理解でいいのでしょうか?
継承先ではprivateにしたいのですが、protectedにするしかないのでしょうか?

361
デフォルトの名無しさん[sage]   投稿日:2015/02/25 12:33:38  ID:XX47xY3L.net
必ず継承されるので ではなく、
継承でオーバーライドできないから です
コメント1件

362
デフォルトの名無しさん[sage]   投稿日:2015/02/25 12:48:16  ID:K9ShYAxG.net(2)
>361 ありがとうございます!
>継承でオーバーライドできないから です

つまり、オーバーライドが必須なため必ずprotected以上が要求される
のですね。継承先での実装は強制したいが、その実装の可視性は
privateにするというのは無理そうですね。
ありがとうございました。

363
デフォルトの名無しさん[]   投稿日:2015/02/25 12:55:47  ID:UFHbrp38.net(2)
ほんとはPHPがやりたいのに、職業訓練校だと全部JAVAばっかり
遠回りになるのかな
コメント1件

364
デフォルトの名無しさん[sage]   投稿日:2015/02/25 14:33:33  ID:l9sg+6hs.net
選択の自由が欲しいなら自費で学校池

365
デフォルトの名無しさん[sage]   投稿日:2015/02/25 15:12:57  ID:GuxC04/B.net(2)
アホ。お前等なんて誰も雇わねぇよ。レンタルサーバなり、VPSなり借りろ。
講師なんて、プログラマになれなかったような連中がやる仕事だろw
コメント1件

366
デフォルトの名無しさん[]   投稿日:2015/02/25 15:53:53  ID:UFHbrp38.net(2)
>365
あったまわりいなおまえ
コンビニバイトでもしてろ

367
デフォルトの名無しさん[sage]   投稿日:2015/02/25 16:33:46  ID:GuxC04/B.net(2)
職業訓練校から雇用されると思ってる方が素敵な頭だよね
あれって、講師共に体裁の良い仕事を与えるためだけのものだよ?
知らなかった?

368
デフォルトの名無しさん[sage]   投稿日:2015/02/25 16:36:34  ID:JFD+ngFs.net(2)
目の前にある箱使えばドットインストールとか色々あるのに

369
デフォルトの名無しさん[sage]   投稿日:2015/02/25 16:49:38  ID:JFD+ngFs.net(2)
http://paiza.jp/

こことか学びながら求職もできるぞ?

370
デフォルトの名無しさん[sage]   投稿日:2015/02/26 11:10:22  ID:5qyZqY5X.net
PSRを読んでいたらプロパティは特に定めなしってなってるけど普通はどう?
「StudlyCaps」
「camelCase」
「under_score」

クラスはStudlyCaps、メソッドはcamelCaseで決定みたいだから、
そうするとプロパティはunder_scoreがいいの?

371
デフォルトの名無しさん[sage]   投稿日:2015/02/26 11:59:10  ID:32CLcP5C.net(2)
有名どころのライブラリに倣えばいいんじゃ?
コメント1件

372
デフォルトの名無しさん[sage]   投稿日:2015/02/26 12:24:55  ID:2jW4ac6x.net
>371
なるほど。ライブラリやFW等を調べてみます。
ありがとうございました。

373
デフォルトの名無しさん[sage]   投稿日:2015/02/26 12:29:38  ID:32CLcP5C.net(2)
そういやcakePHPは結構細かく決まってた気がするな

ファイル名とかDBのテーブル名も含めて

374
デフォルトの名無しさん[sage]   投稿日:2015/02/27 17:59:36  ID:jUJY8z2X.net
フレームワーク自体そこらへん厳密に決めておかないといけないものだし

375
デフォルトの名無しさん[sage]   投稿日:2015/02/27 18:33:58  ID:tXb9/4s1.net
フレームワークだから決めなければならないってことはないよ。
そのあたりの命名に制約を課す代わりにメリットを享受できるフレームワークだってことだね。

376
デフォルトの名無しさん[sage]   投稿日:2015/02/27 21:49:08  ID:NM1bEzGX.net(2)
コネクション張りっぱなしの状態でもxhrで非同期通信が出来ますが
この時通信先のスクリプトでsession_start()をしていると
応答がものすごい長くなります(たぶん張りっぱなしのコネクションがタイムアウトしてから応答が来る)
session_start()をしなければ早く応答が来るのですが何が原因でしょうか?

377
375[sage]   投稿日:2015/02/27 21:59:03  ID:NM1bEzGX.net(2)
ちなみに張りっぱなしのほうでもsession_start()しています

378
デフォルトの名無しさん[]   投稿日:2015/03/01 16:03:20  ID:NDBOI03r.net(2)
質問です。
変数をダブルクォート内に書くとき、

echo "$var";
echo "{$var}";
echo "${var}";
;
のように3通りの書き方がありますが、
どれがいいのでしょうか?
使い分け方とかがわかりませんので教えてください。
コメント2件

379
デフォルトの名無しさん[sage]   投稿日:2015/03/01 16:33:32  ID:u/KO/Jjc.net
>378
気が向いたのでこたえる。変数を書くだけなら波括弧はいらない。
配列や可変変数を使いたいときは、どこまでが $ の範囲かを分からせるために波括弧が必要な場合がある。

$array = [1, [2, 3]];
echo "$array[0]\n"; // 一次元なら OK
echo "$array[1][0]\n"; // NG ($array[1] までが $ の範囲と解釈される)
echo "{$array[1][0]}\n"; // OK

$var = 4;
$varName = 'var';
echo ${$varName} . "\n"; // OK (知らなきゃ "PHP 可変変数" でぐぐれ)
echo "${$varName}\n"; // OK

$arrayName = 'array';
echo ${$arrayName}[0] . "\n"; // OK
echo "${$arrayName}[0]\n"; // NG (${$name} までが $ の範囲と解釈される
echo "{${$arrayName}[0]}\n"; // OK

マニュアル嫁
http://php.net/manual/ja/language.types.string.php
http://php.net/manual/ja/language.variables.variable.php (可変変数)

ただ個人的には、もし>378が職場の後輩だったら、こんな文法を駆使したプログラムなんか読み難くて糞だから厨二で卒業しろ
ちゃんと変数に代入して普通にechoしろって言う
コメント1件

380
デフォルトの名無しさん[]   投稿日:2015/03/01 16:44:13  ID:NDBOI03r.net(2)
>379
なるうほど、可変変数や配列を使う以外は使用する必要がないといことですね。
そうでない場合(単に文字列を収めた変数)にも{}を使用している記述を見かけたので質問しましたが、そのサイトが誤ってるということですね。
ありがとうございました。

381
デフォルトの名無しさん[sage]   投稿日:2015/03/01 16:50:28  ID:W+GQEi2b.net
>363
JavaやっときゃPHPは簡単だぞ。逆は難しい
ギターとベースのような関係だ

382
デフォルトの名無しさん[sage]   投稿日:2015/03/01 20:26:05  ID:/QNvxMin.net
PHP的には、
echo "{$var}";
の書き方だけやっときゃいいんじゃないの?

echo "${var}";
は、シェルスクリプト由来だと思うけど、例によって「余計なもの」つけちゃった仕様でしょ。

383
デフォルトの名無しさん[sage]   投稿日:2015/03/01 21:39:12  ID:KsvF2WvU.net
Javaなんて企業勤めでもないと何の恩恵もないよね

384
デフォルトの名無しさん[sage]   投稿日:2015/03/01 23:43:45  ID:4t5j5bTH.net
○○やっておけば楽っていうのならJavaじゃなくてC言語勧めるわ。

385
デフォルトの名無しさん[sage]   投稿日:2015/03/02 00:06:58  ID:KLUkqw11.net
そうだなぁ。Cを"ちゃんと"使える人は基礎が出来てるからね。

386
デフォルトの名無しさん[sage]   投稿日:2015/03/02 05:59:19  ID:rsjtQPNm.net
気が向いたのでこたえる(キリッ)

意訳
簡単な質問だから答えられる

387
デフォルトの名無しさん[sage]   投稿日:2015/03/02 09:36:58  ID:u4SyLN4h.net
可変変数だけじゃなくて、 $var という変数で "$varvar" で困るからだし、
使う使わないはともかく、読める必要はある

388
デフォルトの名無しさん[sage]   投稿日:2015/03/02 10:21:16  ID:QzRGZF5w.net
単純に、{ }で囲った方が読みやすいというのもあるな。

389
デフォルトの名無しさん[sage]   投稿日:2015/03/03 09:06:42  ID:xikuZzZ1.net(3)
多次元連想配列についての質問です。

$fruits[0]= array("kind_id" => "1", "name" => "ミカン", "from" => "和歌山", "seisan" => "山田" );
$fruits[1]= array("kind_id" => "1", "name" => "ぽんカン", "from" => "愛媛" ,"seisan" => "佐藤" );

という配列を

$fruits[1][ミカン] = array("from" => "和歌山" , "seisan" => "山田" );
$fruits[1][ぽんカン] = array("from" => "愛媛" , "seisan" => "佐藤" );
という形にしたいです。

↑の例はkind_idとnameがキーとなりましたが、このキーの個数も汎用性があるようなプログラムにしたいです
日本語変ですがよろしくお願いします
コメント4件

390
デフォルトの名無しさん[sage]   投稿日:2015/03/03 09:29:03  ID:PeR2EUn1.net(3)
foreach($fruits as $v)
$arr[$v['kind_id']][$v['name']] = array('from'=>$v['from'],'seisan'=>$v['seisan']);
コメント2件

391
デフォルトの名無しさん[sage]   投稿日:2015/03/03 09:36:05  ID:5yCpJehD.net(2)
>389

<?php
$fruits = array(
array(
"ミカン" => array("from" => "和歌山", "seisan" => "山田"),
"ポンカン" => array("from" => "愛媛", "seisan" => "佐藤")
)
);

print_r($fruits);
print_r($fruits[0]);
print_r($fruits[0]["ミカン"]);

392
デフォルトの名無しさん[sage]   投稿日:2015/03/03 09:50:04  ID:xikuZzZ1.net(3)
>389です
お二人ともありがとうございます

すみません、言いたいことが伝え切れてなかったのです
結果はお二人ので合ってるのですが
・ループを使いたい
・キーが増えた時に汎用性があるものにしたいのです
イメージ的には>390のを汎用性があるように改造する感じです

今回の場合だとキーが2つなので
$keys = array("kind_id" ,"name");
というキーを指定する配列があるとします。
$keys = array("kind_id" ,"name","seisan");
のように増えた時にも対応したいのです。

393
デフォルトの名無しさん[sage]   投稿日:2015/03/03 10:03:51  ID:xikuZzZ1.net(3)
自分で考えたのは

$keys = array("kind_id" ,"name");の場合

foreach($keys as $k){
ここで
$fruits[kind_id][name] = array();
という連想配列を作る

これに>390
foreach($fruits as $v){
$arr[$v['kind_id']][$v['name']] = array('from'=>$v['from'],'seisan'=>$v['seisan']);
}
を組み合わせたいです

394
デフォルトの名無しさん[sage]   投稿日:2015/03/03 11:17:55  ID:PeR2EUn1.net(3)
$keys = array("kind_id","name","from");
$fruits[0]= array("kind_id" => "1", "name" => "ミカン", "from" => "和歌山", "seisan" => "山田" );
$fruits[1]= array("kind_id" => "1", "name" => "ぽんカン", "from" => "愛媛" ,"seisan" => "佐藤" );

$arr=array();
foreach($fruits as $v){
$r = &$arr;
foreach($keys as $key){
if (!array_key_exists($v[$key],$r)) $r[$v[$key]] = array();
$r = &$r[$v[$key]];
}
$r = array_diff_key($v,array_flip($keys));
}
print_r($arr);
コメント1件

395
デフォルトの名無しさん[sage]   投稿日:2015/03/03 13:27:41  ID:vf1rXF9z.net(2)
全然違うよって話になるかもしれないけど、
その変換後のデータ形式を元に表を作りたいという要件なら
変換前のデータ形式のまま、連想配列のキー名を指定すれば表になるようなものを目指したほうがいいと思う。
コメント1件

396
デフォルトの名無しさん[sage]   投稿日:2015/03/03 13:49:41  ID:J64zrXar.net(3)
>389です

>394
何度もありがとうございます!
明日にならないと確認できないんですが、こんなやり方思いつかなかったので嬉しい

>395
気にしてくれてありがとうございます
実はこれやりたいことの一部なので…


ちなみにやってることは、
2つのDBの同じデータが入ってるけど、カラム名が違う2つのテーブルのデータがホントに合ってるか比較するプログラムを作ってます
それの一部です

ここで言う$keysが比較するとき同じレコードを引っ張って来るためのユニークなカラム名で、
$fruitsがデータです

397
デフォルトの名無しさん[sage]   投稿日:2015/03/03 14:47:30  ID:PeR2EUn1.net(3)
>2つのDBの同じデータが入ってるけど、カラム名が違う2つのテーブルのデータがホントに合ってるか比較する
SQLで出来るんじゃね?
コメント1件

398
デフォルトの名無しさん[sage]   投稿日:2015/03/03 15:01:14  ID:J64zrXar.net(3)
>397
実はおっしゃってる、SQL飛ばすバージョンのプログラムはもう出来てるんです
そっちの方が簡単ですよね

でもレコード数多いテーブルが結構あるらしく、上司に↑とは別に今回のプログラム(SQLは最低限しか投げずデータ取得し、プログラムでどうにかするというもの)を作れと言われ…
研修みたいなものです
コメント1件

399
デフォルトの名無しさん[sage]   投稿日:2015/03/03 15:08:58  ID:5yCpJehD.net(2)
力量を試すものなら人に投げちゃダメでしょw
コメント1件

400
デフォルトの名無しさん[sage]   投稿日:2015/03/03 15:11:48  ID:J64zrXar.net(3)
>399
そうなんですけどわからなかったもので…サーセンw

401
デフォルトの名無しさん[sage]   投稿日:2015/03/03 15:47:36  ID:vf1rXF9z.net(2)
>398
・上司案
 データ取得:比較元、比較先の2回クエリ発行
 データ比較:ロジック
 DBサーバとの通信量:多い

・みんなの案
 データ比較結果取得:クエリ1回
 DBサーバとの通信量:少ない

402
デフォルトの名無しさん[sage]   投稿日:2015/03/03 22:42:58  ID:bhYwIQkT.net
>389です

連想配列回すのとSQL飛ばすののサーバへの負荷の差はわからないですが、プログラムで処理しすぎるのも微妙ですよね

〆ます
皆さんありがとうございました!

403
デフォルトの名無しさん[sage]   投稿日:2015/03/04 00:33:37  ID:aLbHB3FI.net
比較元のデータ抜いてきて、1件ごとにクエリ投げるようなお馬鹿なことしてなければ。

404
デフォルトの名無しさん[sage]   投稿日:2015/03/05 07:56:45  ID:42cw4PSJ.net
mysqlのdbとposgresqlのdbにjoinしたsqlを投げることはできますか?
コメント1件

405
デフォルトの名無しさん[sage]   投稿日:2015/03/05 07:58:12  ID:Z2cyKMvI.net
なぜ試してから質問しない

406
デフォルトの名無しさん[sage]   投稿日:2015/03/06 10:36:51  ID:AIFKHCSQ.net
>404
おまえのデバッグの為にここに人間がいるわけじゃない。
試しもせずに質問するような馬鹿は、板に来なくていい。


おまえじゃ、100万年経っても何もできないと言っておく。

407
デフォルトの名無しさん[sage]   投稿日:2015/03/06 10:50:47  ID:qTEVlted.net
RDBMSをまたいでJOINしたいんじゃねーのw

408
デフォルトの名無しさん[sage]   投稿日:2015/03/06 12:08:50  ID:XT9nODwv.net
アパッチ経由(ブラウザ)だと意図した結果になるんだが
ターミナルで実行するとエラーが出て動かない。
ターミナルPDOでデータベース接続していて、pdo接続時にエラーCatchして”ドライバがない"と表示されるが処理は進み
その後”PDOオブジェクトが生成させれていない”と表示され処理が終了する。
アパッチ経由だと接続して結果もちゃんと表示される。
ただしPDOオブジェクトをprint_r()で確認すると中身空っぽ(生成はされている)

PDOオブジェクトが空でもデータベースは接続されるのか?
それとも他になにか原因があるのか?

409
デフォルトの名無しさん[sage]   投稿日:2015/03/06 12:59:15  ID:qTMDyHIM.net
両方で phpinfo()して違いを見れば分かるだろ
それぞれの設定は変えられるんだよ

410
デフォルトの名無しさん[sage]   投稿日:2015/03/08 17:16:37  ID:90OQJ5F3.net(3)
質問です。
よろしくお願いいたします。

PHPでの並列処理なんですが、

exec("nohup php -f omoi.php > /dev/null &");
return true;

omoi.phpは1分程度かかる処理なんですが、
期待してるのは、即時trueの返却、別プロセスでomoi.phpの処理なのに、待たされてしまってます。
コメント2件

411
デフォルトの名無しさん[sage]   投稿日:2015/03/08 17:32:37  ID:psXgySVj.net
で、プラットフォームは何なの?(´・ω・`)
コメント1件

412
デフォルトの名無しさん[]   投稿日:2015/03/08 17:48:55  ID:q94065c/.net
execはwindowsでは同期だ。他OSはしらん。
基本非同期で同期にするのが困難なnode.js使えば。

413
デフォルトの名無しさん[sage]   投稿日:2015/03/08 18:43:56  ID:6V9jwiMr.net
>410
stderrに何か出てるというオチはないの
コメント1件

414
デフォルトの名無しさん[sage]   投稿日:2015/03/08 22:48:48  ID:90OQJ5F3.net(3)
>411
プラットフォームですか、、
サーバはhetemlなんですが、、
なんて答えたらいいんでしょう?
php ver5.4.27です。

#下記をphp.phpとしたら
<?php
function init(){
exec("nohup php -f omoi.php > /dev/null &");
return true;
}
init();
?>

php.phpにPOSTがあったら、即trueを返して別プロセスでomoi.phpを動かしたいのです。説明不足ですいません。

>413
確認してみます。

415
デフォルトの名無しさん[sage]   投稿日:2015/03/08 23:21:45  ID:4v0KO8Ne.net
phpって並列処理するならpthreadsでしょ
コメント1件

416
デフォルトの名無しさん[sage]   投稿日:2015/03/08 23:31:53  ID:90OQJ5F3.net(3)
>415
ということはレンサバではキツそうですね。。。
VPSでやってみようと思います。
ありがとうございました!!

417
デフォルトの名無しさん[sage]   投稿日:2015/03/09 00:12:07  ID:WyTJE+zr.net(3)
バックグラウンドプロセスで起動するのとスレッド起こすのではずいぶん話が変わるけれど。
とりあえずstderrも捨てるようにして試してみたら?


ちなみに、これの真偽についてはしらないけど、そうなの?
> execはwindowsでは同期だ。
コメント2件

418
デフォルトの名無しさん[sage]   投稿日:2015/03/09 00:13:07  ID:WyTJE+zr.net(3)
あああと、通常プラットフォームといえばOSを指すよ

419
デフォルトの名無しさん[sage]   投稿日:2015/03/09 00:53:49  ID:sOi42beA.net
>417
/dev/nullはUNIX系OSのコマンド
Windowsでは認識されないから処理が止まる
解決策はManualに載ってる

420
デフォルトの名無しさん[sage]   投稿日:2015/03/09 02:38:09  ID:ZguKliEH.net
コマンドとは言えないが

421
デフォルトの名無しさん[sage]   投稿日:2015/03/09 03:19:02  ID:I2mO0aB9.net
超初心者です。お願いします。
mac os x 10.9.5

eclipseの日本語設定の質問です
ネットで見たままのやり方でpleiadesの中身を貼ったりiniで最後に-javaagent:../../../plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jarを追加しました。
しかし追加する前は起動するのですが、追加後は起動しません。
いくら調べても解決策がわからないので質問させて頂きました。
拙い質問ですが答えて頂けたら大変助かります。

422
デフォルトの名無しさん[sage]   投稿日:2015/03/09 03:32:42  ID:WyTJE+zr.net(3)
汎用くだ質じゃないですよ

423
デフォルトの名無しさん[sage]   投稿日:2015/03/09 09:22:36  ID:qeIeMtGl.net(3)
>410
>417
ありがとうございます。
/dev/null 2>&1
としてみましたが、やはり処理が終わってから trueが返ります。

並列と書いてしまいましたが、確かに並列ではなくバックグラウンドプロセスでした。
その処理の終了を待たずにtrueを返したいということが目的でした。

今更ですが、仕様としてはPOSTにてXMLが送られてきて中身を解析し、大体1000レコードぐらいをDBにインサートします。
構造は1対多になっているので、紐付くhasmany側を入れると1000*〜となります。
重複チェックもあり、クエリ数は相当数となります。

XMLでレスポンスを返すのですが、相手のタイムアウトが30秒で、処理を終わるのを待ってからでは難しいのでできないかな?と思いました。
引き続き悩んでみます。

424
デフォルトの名無しさん[sage]   投稿日:2015/03/09 11:07:14  ID:dbEYjzPy.net(2)
2>&1 はstderr出力をstdoutに回す指定だ。 & はそれとは別につける
コメント2件

425
デフォルトの名無しさん[sage]   投稿日:2015/03/09 11:09:01  ID:dbEYjzPy.net(2)
でも結局 nohup.out に出るような気が

426
デフォルトの名無しさん[sage]   投稿日:2015/03/09 21:57:01  ID:qeIeMtGl.net(3)
>424

1> /dev/null 2> /dev/null
1> /dev/null 2>&1
とかやってみましたがダメでした。
nohupも取ってみましたがダメでした。

受け取ったXMLをDBなり、テキストなりに保存して、重い処理はCronをとか考えるようになっていますが、レンサバではあまり短い時間でcronを実行できないので、やっぱりVPS?とかいろいろ考えてます。
標準出力のリダイレクトのこと、今回初めて調べたのですが勉強になりました。
今までは「cronでメール送信を止めるもの」な理解でした。
アドバイスくださった方々ありがとうございます。

427
デフォルトの名無しさん[sage]   投稿日:2015/03/09 22:54:38  ID:qeIeMtGl.net(3)
できました!!
> /dev/null 2> /dev/null &
としたらできた!
ふとstackoverflowを確認したらこう書いてあって、試したらできました。
この&の意味がよくわからないので、調べてみます!
ありがとうございました!失礼します!

428
デフォルトの名無しさん[sage]   投稿日:2015/03/10 00:28:33  ID:40zCF9Gm.net
linuxのお勉強からどうぞ

429
デフォルトの名無しさん[sage]   投稿日:2015/03/10 09:49:51  ID:54L7jzsb.net
>424 に書いてあるだろ

430
デフォルトの名無しさん[]   投稿日:2015/03/12 22:21:29  ID:JaffYOCz.net
最近PHP勉強し始めたんだけど、安定性とサポート期間考えると今は何を使うのがいいの?
5.6の最新版がいいと思ったんだけど、バージョンを選ぶイロハあったら教えてください( ;´Д`)

知識は参考書読んでるけど、こういうバージョンとか運用の面は参考書にのってない( ゚д゚)

431
デフォルトの名無しさん[sage]   投稿日:2015/03/12 22:34:46  ID:xsip/rYn.net
最新版でいいだろう。
基本的には前版と互換性がある。
古い版コードが最新版で動かない、最新版コードが古い版で動かないは僅かでそのときはネットで調べる。少々しかない。

432
デフォルトの名無しさん[sage]   投稿日:2015/03/12 22:34:47  ID:vab9UUhA.net
自分が使う環境にあわせろとしか

433
デフォルトの名無しさん[sage]   投稿日:2015/03/12 22:45:07  ID:mlnVAA5X.net
自由に選べるなら、もちろん5.6の最新版がいい。
ただ、レンタルサーバーなどでは、5.3だったりするので
そこを注意しておけばいいんじゃない。
あと古いコードだとDeprecatedエラーが出たりするので注意が必要。

参考書に関しては、PHP5であれば運用上の問題はほとんどないよ。
さすがにPHP4はやばいけど。

434
デフォルトの名無しさん[sage]   投稿日:2015/03/12 23:33:53  ID:040+TJcm.net
5.2以前は化石なので、必要にならない限り知らない方がいい。

435
デフォルトの名無しさん[sage]   投稿日:2015/03/13 01:07:12  ID:miWaPtrS.net
CentOS7使うなら5.4っていうのもあり。
公式でEOLが来てもOSがEOLになるまで緊急性の高い脆弱性は対処してくれるはず。

436
デフォルトの名無しさん[sage]   投稿日:2015/03/13 20:18:33  ID:FQqfzrLS.net
php5からphp4へのデグレード作業がきつかった
業務でphp4のメンテナンスやってる奴等は
なんか労災とか貰っていいんじゃないか?

437
デフォルトの名無しさん[sage]   投稿日:2015/03/14 02:23:33  ID:jyLQB1wB.net
下らない質問OKのスレタイなので
お言葉に甘えた質問なんですが、
皆さんってどういうきっかけでPHPを
始めたんですか?
コメント1件

438
デフォルトの名無しさん[sage]   投稿日:2015/03/14 03:04:36  ID:UOAf6rNe.net(2)
>438
上司「やれ」
ぼく「ア、ハイ」

439
デフォルトの名無しさん[sage]   投稿日:2015/03/14 03:05:15  ID:UOAf6rNe.net(2)
>437のミス

440
デフォルトの名無しさん[sage]   投稿日:2015/03/15 04:37:19  ID:Jzltsf/u.net
仕事でメインフレーム開発ばかりだったから、趣味でwebにも手を出してみようと思った。
aspはiisだったから除外して、ちょうどphpが流行り始めた頃だったからperlと両方やってみた。
結果perlでの開発効率が悪かったからphpに絞った。
当時もテンプレートエンジンは存在してたし、それを使えば少しはよかったんだけど、
そこまで気合いれてやってたわけじゃないから。。
今はフレームワークも発達してどれも似たり寄ったりだけどねえ。

441
デフォルトの名無しさん[]   投稿日:2015/03/15 07:06:59  ID:5K2B7oPu.net(2)
質問です
日付の再フォーマットをしたいのですが、どのようなやり方が一番効率が良い(速い)ですか?
現在は↓のようにしています

$datetime = '2015-03-15 01:23:45';
$format = 'Y-m-d H:i:s';
$new_format = 'Y年n月j日 G時';

$Date = DateTime::createFromFormat($format, $datetime);
echo $Date->format($new_format);


他にも、

echo date($new_format, strtotime($date));

このようなやり方もあるので、どれが最適なのか分からず悩んでいます
この他にも違ったやり方がありましたら、それらも含めて一番良い方法を教えてください

442
デフォルトの名無しさん[sage]   投稿日:2015/03/15 07:27:14  ID:WQl3FFdF.net(2)
思いつくやつをすべて実測して報告してくれ
コメント1件

443
デフォルトの名無しさん[sage]   投稿日:2015/03/15 07:30:07  ID:WQl3FFdF.net(2)
日付の再フォーマットがボトルネックになっていて重要だったら
たぶん最速はC言語による日付の再フォーマットのモジュール化だろう。
自分は実測してはないが最低でも倍速、一桁変わるかもしれない。

444
デフォルトの名無しさん[]   投稿日:2015/03/15 07:42:35  ID:5K2B7oPu.net(2)
>442-443
ボトルネックになってるわけじゃないんですが、ふと疑問に思った次第であります
今しがた↑の2つの方法で測ってみたところ手元の環境では前者の方が1.3倍ほど高速でした
かなり差が出たので不安でもあります(測り方を間違っていないかなどで)

もしどなたか他に良い方法をご存知であれば教えてください

445
デフォルトの名無しさん[sage]   投稿日:2015/03/18 12:44:20  ID:rkVvy0oF.net
php7はいつでるのよ?

446
デフォルトの名無しさん[]   投稿日:2015/03/19 05:56:24  ID:s+DBGS1U.net
http://php.net/manual/ja/ の左上のロゴがクルクル回って目が回るんですけど
止める方法ありますか?

447
デフォルトの名無しさん[sage]   投稿日:2015/03/19 08:49:34  ID:DjmTGLqg.net
PHPを滅ぼすためにはどんな努力が必要ですか?

448
デフォルトの名無しさん[sage]   投稿日:2015/03/19 12:50:56  ID:Mi/YioFJ.net
rubyはプログラミング初心者にもやさしくて
railsでウェブサービスを作るのは工数が少なく
安上がりだと教えましょう
コメント1件

449
デフォルトの名無しさん[sage]   投稿日:2015/03/19 13:49:13  ID:Wt8pcZlV.net
>448
Webサービスの話は板違いなんじゃないの

450
デフォルトの名無しさん[sage]   投稿日:2015/03/20 00:07:17  ID:ezYrXVsa.net
WebProg板が過疎っちゃってついにこっちに来たかw
まぁ恥ずかしいから単発IDだろうけど

451
デフォルトの名無しさん[]   投稿日:2015/03/20 01:25:37  ID:gj2WpmKA.net(4)
今日中に完成させないと帰れないので教えてください。



エクストリムサーバを使っています。
現在

php で mkdir コマンドを実行してもディレクトリがなぜか
作成出来ません。

mkdirの戻り値が false になってしまいます。

何が原因なのでしょうか?
コメント1件

452
デフォルトの名無しさん[]   投稿日:2015/03/20 01:28:31  ID:f7yJj+Mt.net
>451
エラーログは見たの?
コメント1件

453
デフォルトの名無しさん[]   投稿日:2015/03/20 01:32:05  ID:gj2WpmKA.net(4)
>452
まだみていないです。

エクストリムの管理画面をのぞいて確認してみます。

454
デフォルトの名無しさん[sage]   投稿日:2015/03/20 01:45:53  ID:oGoXNJGN.net(3)
作成しようとしてる場所のパーミッションを確認してごらん

455
デフォルトの名無しさん[sage]   投稿日:2015/03/20 01:47:58  ID:oGoXNJGN.net(3)
それと、入れ子構造なら第三引数をtrueにする

456
デフォルトの名無しさん[]   投稿日:2015/03/20 01:57:25  ID:gj2WpmKA.net(4)
ありがとうございます。

一応 755に設定しているのですが、、、


もう少し色々と試してみます。
他のサーバ(さくら等)であれば正常に動作するのに
エクストリムのみ動かないんです。。。


安いサーバはダメですね
コメント1件

457
デフォルトの名無しさん[sage]   投稿日:2015/03/20 02:04:47  ID:oGoXNJGN.net(3)
>456
他で動いてるなら、そのサーバーはOwnerとGroupが違ってるんじゃないの?
作成場所を777にして試してみたらどうだろうか
これ以上はエスパーできないからログや実行してるコマンドがないと無理
コメント1件

458
デフォルトの名無しさん[]   投稿日:2015/03/20 02:07:15  ID:gj2WpmKA.net(4)
>457
ありがとうございます!!!!!!!!!!!!
動きました!!!!!!!!!!!

459
デフォルトの名無しさん[sage]   投稿日:2015/03/20 23:07:23  ID:Kn1Oysu5.net
突然すみません、初心者です。
10桁の重複しない整数をランダムで出力したいのですが、どのようにすればよいでしょうか?
ご教授お願いします。
コメント1件

460
片山博文MZ ◆T6xkBnTXz7B0 []   投稿日:2015/03/21 00:00:47  ID:rA11USYH.net
>459
$s = '';
$a = array();
$digits = '0123456789';
for ($i = 0; $i < 10; ++$i) {
$c = rand() % (10 - $i);
for ($j = 0; $j < $i; ++$j) {
if ($a[$j] <= $c) { ++$c; }
}
$a[] = $c;
$s .= $digits[$c];
}
echo $s;
コメント1件

461
デフォルトの名無しさん[sage]   投稿日:2015/03/21 01:03:29  ID:Xyj3Py7G.net(6)
>460
言葉足らずで申し訳ありません。
10桁の重複しない整数をランダムで前通り出力したいです。
何卒よろしくお願いしますm(_ _)m

462
デフォルトの名無しさん[sage]   投稿日:2015/03/21 01:08:40  ID:Xyj3Py7G.net(6)
×前通り
○全通り です
0000000000〜9999999999の範囲になります
ご教授お願いします

463
デフォルトの名無しさん[sage]   投稿日:2015/03/21 01:10:14  ID:b4FQIC21.net(2)
配列の中身を、ランダムに入れ替える、
shuffle 関数は無いの?

Rubyでは、配列.shuffle
[0..9].shuffle

でも、頭に0が来ると、やり直しかな?
コメント1件

464
デフォルトの名無しさん[sage]   投稿日:2015/03/21 01:12:09  ID:Xyj3Py7G.net(6)
>463
shuffle 関数はあるのですがメモリの使用量が莫大になってしまい読み込みの処理が出来ませんでした

465
デフォルトの名無しさん[sage]   投稿日:2015/03/21 01:17:52  ID:b4FQIC21.net(2)
全通りなら、(頭に0が付くものを除いてから?)
すべての順列を求めて、配列に格納する

そしてその結果配列から、ランダムに1つを選ぶ

Rubyでは、配列.sample

466
デフォルトの名無しさん[sage]   投稿日:2015/03/21 01:22:24  ID:Xyj3Py7G.net(6)
配列への格納 がデータ量が多すぎてメモリ的に不可能でした

467
デフォルトの名無しさん[sage]   投稿日:2015/03/21 01:29:32  ID:whATksAH.net
メモリの上限を上げたら?
ini_set('memory_limit', 150M); //150MBで足りなければ増やす
これで解決する
処理を終えて元に戻したければini_get('memory_limit');の値を予め保持して再設定すればいい

あと、質問の後出しはしないようにね
コメント1件

468
デフォルトの名無しさん[sage]   投稿日:2015/03/21 01:37:17  ID:Xyj3Py7G.net(6)
>467
はい、すみませんでした。。。
メモリ使用量2GBで1000万のデータを配列に読み込むのが限界でした。
なので重複しない整数をダイレクトに出力したいです。

469
デフォルトの名無しさん[sage]   投稿日:2015/03/21 03:50:08  ID:Xyj3Py7G.net(6)
467です。
ご迷惑をおかけしました。
少しやり方を変えることにしました、また分からないことが出てきたら質問したいのでよろしくお願いします。
コメント1件

470
デフォルトの名無しさん[]   投稿日:2015/03/22 01:52:10  ID:zalLAL+t.net
すべての順列を、表に持たないで、
頭の中だけで、すべての順列を、
昇順または降順でソートしたものを、想定しておく。
そしてその都度、ソート後の並び順より、計算して求める

12345, 12354, 12435, 12453...
54213, 54231, 54312, 54321

例えば、5つの数字では、5! = 5 * 4!(=24) = 120

Rubyでは、配列.shuffle
[1..120].shuffle → 例えば、27が出たら、

27 / 24 = 1 余り 3 → 先頭は2
3 / 3!(=6) = 0 余り 3 → 先頭から21

3 / 2!(=2) = 1 余り 1 → 先頭から214
これはすでに使っている数字、1,2を除いて考える。
余りが0なら、21435だが、1なので21453となる

471
デフォルトの名無しさん[sage]   投稿日:2015/03/22 02:19:28  ID:+Q19Br9U.net
>469
単純に一桁ずつrandかなんかで決めていけばよくね?

あとその個数の配列でshuffleするのは、メモリが足りていてもやるべきではない。
たかが乱数値取るのにメモリ食いすぎるのもそうだけど、その個数分shuffleするのにどれだけ時間がかかることか。

472
デフォルトの名無しさん[]   投稿日:2015/03/22 03:22:45  ID:Cl7axnxP.net(2)
これ自体なんのやくに立つのか分からないが。PHP限定でやるには荷が重過ぎないか。
たとえば、0から9999999999までループさせて+1を計算するだけで相当時間かかるぞ。
周期が10^11-1である乱数らしいものを生成する式を使うのはどうか。



> 10桁の重複しない整数をランダムで前通り出力したいです。

473
デフォルトの名無しさん[]   投稿日:2015/03/22 03:34:10  ID:Cl7axnxP.net(2)
擬似乱数の周期を求めるより、与えられた周期の擬似乱数を求めるほうが難しいとおもう。
この辺に擬似乱数のこと書いてあるが。10^11-1の周期のものはどうやったら見つかるものか。



有限体の擬似乱数への応用
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/TEACH/0407-2.pdf

474
デフォルトの名無しさん[sage]   投稿日:2015/03/22 11:57:53  ID:RzBEcZyq.net(2)
ランダムな値を生成して
dbaで保持っておけばいいだけだよね

475
デフォルトの名無しさん[sage]   投稿日:2015/03/22 12:21:30  ID:RzBEcZyq.net(2)
32bitの乱数生成して1000000000でmodとればいいだけ
コメント1件

476
デフォルトの名無しさん[sage]   投稿日:2015/03/22 12:59:06  ID:0IynoJqq.net
>475
え?算数できない人?
コメント1件

477
デフォルトの名無しさん[sage]   投稿日:2015/03/22 19:02:57  ID:kFSoFK6v.net
>476
ツッコミが浅い

478
デフォルトの名無しさん[sage]   投稿日:2015/03/24 00:46:11  ID:Pei7Q5Ow.net(4)
 

479
デフォルトの名無しさん[sage]   投稿日:2015/03/24 00:49:22  ID:Pei7Q5Ow.net(4)
$lines = array("name1<>180<>100","name2<>190<>125","name3<>160<>80","name4<>200<>200","name5<>175<>90");

480
デフォルトの名無しさん[sage]   投稿日:2015/03/24 00:50:08  ID:Pei7Q5Ow.net(4)
function cmp($a,$b){
$k=2;
$list_a = explode("<>", $a);
$list_b = explode("<>", $b);

if($list_a[$k] == $list_b[$k]){return 0;}
if($list_a[$k] < $list_b[$k]){return -1;}
else{return 1;}

}

481
デフォルトの名無しさん[sage]   投稿日:2015/03/24 00:50:39  ID:Pei7Q5Ow.net(4)
usort($lines,"cmp");

foreach($lines as $line){
print "line=$line<br>";
}

行単位でソートをしたいのですが
$kはソートの基準番号です
この場合$k=2;となっていますが$kを引数として渡す方法を教えてください
cmp($a,$b,$k)として
usort($lines,cmp($a,$b,2))としてもだめでした

482
デフォルトの名無しさん[sage]   投稿日:2015/03/24 01:27:49  ID:zkeD9l/s.net
usort($lines, function($a, $b){
return cmp($a, $b, 2);
});
こんな感じでどうだろう

483
デフォルトの名無しさん[sage]   投稿日:2015/03/24 19:32:12  ID:+bpB/1qX.net
モテる!PHP
って本のタイトル思い付いたんだけど
どうだろうか?

484
デフォルトの名無しさん[sage]   投稿日:2015/03/25 04:36:19  ID:WgKCwIYk.net
8年ぐらい前ならよかったかもな

485
デフォルトの名無しさん[sage]   投稿日:2015/03/25 09:27:56  ID:B13xpX6A.net
ハゲる!PHPって本のタイトル思い付いたんだけど
どうだろうか?

486
デフォルトの名無しさん[sage]   投稿日:2015/03/25 09:59:50  ID:aN5inpo9.net
自分が禿げてるからって人を巻き込もうとするなよ
コメント1件

487
デフォルトの名無しさん[sage]   投稿日:2015/03/25 20:11:46  ID:NVq1fR41.net
また髪の話ですか...

488
デフォルトの名無しさん[sage]   投稿日:2015/03/25 21:42:55  ID:khkApypB.net(2)
phpからスレ一覧取得しようとすると403 Forbiddenになる。仕様変更したからぽいけど、解決法分かります?
ブラウザからだと普通に見れるし、特に何も必要ないはずなんだが

$thread_list=file_get_contents("別板リンク(tech)subject.txt");

489
デフォルトの名無しさん[]   投稿日:2015/03/25 22:26:50  ID:Hdvsam71.net
試すとこれだけで表示する

<?
$thread_list=file_get_contents("別板リンク(tech)subject.txt");
print_r($thread_list);
コメント1件

490
デフォルトの名無しさん[sage]   投稿日:2015/03/25 22:32:32  ID:8rk42Qme.net
>486
絶対版元が同意しないw

491
デフォルトの名無しさん[sage]   投稿日:2015/03/25 22:36:46  ID:khkApypB.net(2)
>489
あー別の鯖使ったら普通に表示したわ・・
さくら鯖が弾かれてるだけだった
スレ汚しスマソ

492
デフォルトの名無しさん[]   投稿日:2015/03/25 22:51:18  ID:mXwCiPPa.net
phpでは関数に配列を普通に渡すときは配列のコピーが生成されるってことですか?
そうするとメモリ食いそうだけど

phpでは&をつけて配列の参照渡しをするより普通に渡したほうがいいのでしょうか?
コメント1件

493
デフォルトの名無しさん[sage]   投稿日:2015/03/26 08:47:53  ID:sbYfUV2c.net
>492
参照渡ししなくても内部では参照ですのでメモリ確保しません
書き換えるとコピーします

494
デフォルトの名無しさん[sage]   投稿日:2015/03/28 17:04:05  ID:BzFWUJ2D.net(2)
便乗だけど、&つけた参照渡しは速度が遅くなったり使用メモリが増えたりしますか?
つけてもつけなくてもいいのなら、明示的につけた方がわかりやすい場面もあるのでつけようと思いますが、どうなんでしょう?

495
デフォルトの名無しさん[sage]   投稿日:2015/03/28 17:17:07  ID:Pu+VtIJn.net
そこまで負荷を気にしてプログラム組むなら
PHP内部で変数がどういう扱いになってるか調べたらいいと思うよ

単に参照渡しにするというだけのことに関して言えば、遅くなるとかメモリがということはない
けど、つけてもつけなくてもいい ということはない
コメント1件

496
デフォルトの名無しさん[sage]   投稿日:2015/03/28 17:37:28  ID:BzFWUJ2D.net(2)
>495
遅くなったりメモリが増えたりはないんですね、ありがとうございます
どう扱われているかは気になったので調べてみることにします

497
デフォルトの名無しさん[]   投稿日:2015/04/01 19:21:35  ID:pYYryVxA.net
7で、ガラリと変わるけどな。

498
デフォルトの名無しさん[sage]   投稿日:2015/04/02 12:28:51  ID:INFrUse2.net
7いつだよはよこい

499
デフォルトの名無しさん[sage]   投稿日:2015/04/02 18:26:34  ID:gm7HoNp7.net
初心者です
Symfonyのバリデートとはフォームに入力された値が存在するか、値があってるかチェックするという意味でいいのでしょうか?
日本語ドキュメント見たけどわからなくて

500
デフォルトの名無しさん[sage]   投稿日:2015/04/02 19:02:14  ID:w0RukMoF.net(2)
Symfonyは知らないが、一般的なFromのValidationはそういう用途に使われるよ

501
デフォルトの名無しさん[sage]   投稿日:2015/04/02 19:03:08  ID:w0RukMoF.net(2)
Symfony専門の質問ならSymfonyスレで聞いた方がいいね

502
デフォルトの名無しさん[sage]   投稿日:2015/04/08 10:17:51  ID:G2jb+k0p.net
7は秋からか
かなり速くなったみたいだけど

503
デフォルトの名無しさん[sage]   投稿日:2015/04/08 18:49:57  ID:exoXdHy3.net
facebookの奴と同等らしいな

504
デフォルトの名無しさん[sage]   投稿日:2015/04/09 12:24:39  ID:SXMrA4Vi.net
workerとかで動くようになるといいなあ

505
デフォルトの名無しさん[sega]   投稿日:2015/04/09 15:22:18  ID:Y8qSNfSy.net
継承関係とかには無いんだけど、メンバ変数名とかそっくりな
ふたつのクラスを相互にコピーしたいとき、どうしたらいいかな。
コピー先に無い変数はNULLのままでいいです。

506
デフォルトの名無しさん[sage]   投稿日:2015/04/11 01:59:23  ID:Ekh++R8a.net(2)
プログラム初心者です
ソースを見やすくするために\tでタブを入れているのですが、コードが\tだらけになってプログラム自体が読みにくくなってしまいます
何か良い方法はないでしょうか?


echo "$test\n\t\t\t";
echo "<br /><br />\n\t\t\t";
echo "$test2\n";

507
デフォルトの名無しさん[sage]   投稿日:2015/04/11 03:57:37  ID:o8nmaZnG.net(2)
(出力されたHTMLの)ソースを見やすくするために
ってことだよね。

・Tidyなどの出力整形ライブラリを使う
・インデントせずに出力して、ソースを見るときにエディタで再インデントする
・\tではなく、タブコードを入れる
・ヒアドキュメントを使う
・テンプレートエンジンを使う
とか。
コメント1件

508
デフォルトの名無しさん[sage]   投稿日:2015/04/11 08:29:57  ID:J/M2FJ7a.net
MVC分離してテンプレートでやるようなもんだが初心者には難しい課題だな
出力されたソースに不備がないか検証したいが目的でそのようなことをやってるなら
出力されたソースをlintにでもぶっこめばいいんじゃないかね

509
デフォルトの名無しさん[sage]   投稿日:2015/04/11 17:52:50  ID:Ekh++R8a.net(2)
>507-508
ありがとうございます
色々試してみましたが、自分には難しいようなのでもう少し理解を深めてからこの辺りをやっていこうと思います
ブラウザ上のソースがみにくくても今のところ自分に困る事はないので、コードは適度にインデントをつけてやっていきます
コメント1件

510
デフォルトの名無しさん[sage]   投稿日:2015/04/11 18:51:56  ID:o8nmaZnG.net(2)

511
デフォルトの名無しさん[sage]   投稿日:2015/04/16 03:05:04  ID:Lxb5p7kV.net(9)
imagefilledrectangle使って画像を生成してるんだけど、生み出した画像が200ちょい超えたところで新しく作れないような症状が出たっぽいんだけど、作れる数に制限があるんでしょうか?

512
デフォルトの名無しさん[sage]   投稿日:2015/04/16 03:18:10  ID:Lxb5p7kV.net(9)
200ちょっとじゃなくて256くらいでした
これはダメなやつっぽいですね

513
デフォルトの名無しさん[sage]   投稿日:2015/04/16 09:52:06  ID:M8stHknI.net(3)
エラーは出てるの?
メモリ上限に達してるんじゃ

514
デフォルトの名無しさん[sage]   投稿日:2015/04/16 10:02:52  ID:Lxb5p7kV.net(9)
エラーは出ないです。
40回ループの中に40回ループを入れ子して画像を出してます。
両ループともエラーを出さずに最後まで回りますが256枚表示したところで描画が止まってるようです。
imgpngした時点で、命令した内の最初から数えて256枚までは出力してるような状態なのかなと思ってます。
画像一枚の大きさは1ピクセルです。
解決できそうでしょうか?
コメント1件

515
デフォルトの名無しさん[sage]   投稿日:2015/04/16 12:08:34  ID:M8stHknI.net(3)
>514
再現しない
俺のやり方が違うかもしれんから最小コード出してみて
コメント1件

516
デフォルトの名無しさん[sage]   投稿日:2015/04/16 12:23:11  ID:Lxb5p7kV.net(9)
>515
ありがとうございます。
あと20分ほどしたら家に着くのでその時に書き込みます。

517
デフォルトの名無しさん[sage]   投稿日:2015/04/16 13:03:34  ID:Lxb5p7kV.net(9)
<?php
//header("Content-Type: text/html; charset=UTF-8");

$nam = $_GET['nam'];
$ex = explode(",", $nam);
header("Content-type: image/png");
$img = imagecreate(40, 40);
$background_color = imagecolorallocatealpha($img, 100, 255, 255, 110);

imagefilledrectangle($img, 0, 0, 0, 0, $background_color);

$i = 0;
$i2 = 0;
$i3 = 0;
$dotnam = 0;
$red = 0;
$green = 0;
$blue = 0;
$x_kaishi = -1;
$x_shuuten = -1;
$y_kaishi = 0;
$y_shuuten = 0;

while ($i <= 39) {
while ($i2 <= 39) {

$red = 1;
$green = 1;
$blue = 1;

518
デフォルトの名無しさん[sage]   投稿日:2015/04/16 13:04:52  ID:Lxb5p7kV.net(9)
$x_kaishi += 1;
$x_shuuten += 1;
$ex[$dotnam] = imagecolorallocatealpha($img, $red, $green, $blue, 0);

imagefilledrectangle($img, $x_kaishi, $y_kaishi, $x_shuuten, $y_shuuten, $ex[$dotnam]);

$i2 += 1;
$dotnam += 1;
$i3 += 1;
}
$y_kaishi += 1;
$y_shuuten += 1;
$x_kaishi = -1;
$x_shuuten = -1;
$i += 1;
$i2 = 0;

}

imagepng($img);

imagepng($img, './a.png');

imagedestroy($img);

?>

以上です。

519
デフォルトの名無しさん[sage]   投稿日:2015/04/16 13:20:50  ID:Lxb5p7kV.net(9)
あと、最初に背景画像は絶対必要ですか?

この部分

$img = imagecreate(40, 40);
$background_color = imagecolorallocatealpha($img, 100, 255, 255, 110);

imagefilledrectangle($img, 0, 0, 0, 0, $background_color);


これがなければ例えば256枚制限だとしたら、16×16ドットの画像が生成出来るんですけど、背景入れると1ドット欠けてしまうので。

520
デフォルトの名無しさん[sage]   投稿日:2015/04/16 13:25:10  ID:j5PiUgUc.net(5)
最初言ってたのとぜんぜん違うし 生み出した画像が200とか・・・画像は1枚じゃん
なんかひどいソースだなぁ

とりあえず、画像色は画像IDというリソースで制限があるみたいだね
imagefilledrectangle
の下で
imagecolordeallocate ( $img,$ex[$dotnam]);
入れてください

配列に保存してる意味がさっぱりないですが
コメント1件

521
デフォルトの名無しさん[sage]   投稿日:2015/04/16 13:42:57  ID:Lxb5p7kV.net(9)
>520
解決出来ました!ありがとうございます。

だめだめな文については返す言葉もないです。
コメント1件

522
デフォルトの名無しさん[sage]   投稿日:2015/04/16 13:43:04  ID:j5PiUgUc.net(5)
・・・ごめん違うね そこで開放しちゃだめだ
そもそもの問題は 色IDが255までってことだった

1色で塗るだけなら 色は1個だけにするべきだし
全部のピクセルをもっといろんな色で塗りわけたいなら
imagecreate を imagecreatetruecolor にしてください
コメント1件

523
デフォルトの名無しさん[sage]   投稿日:2015/04/16 13:48:29  ID:j5PiUgUc.net(5)
>521
真っ黒くなったでしょう
何をしたいのかは分からないけど、それだと
指定した色で塗られてるわけじゃないからね
header("Content-type: image/png");
$width=40;
$height=40;
$img = imagecreatetruecolor($width, $height);
$background_color = imagecolorallocatealpha($img, 100, 255, 255, 110);
imagefilledrectangle($img, 0, 0, 0, 0, $background_color);
for($x=0;$x<$width;$x++)
for($y=0;$y<$height;$y++){
$red = ($x*4+$y)%255;
$green = ($x+$y*4)%255;
$blue = ($x*3+$y*3)%255;
$c=imagecolorallocatealpha($img, $red, $green, $blue, 0);
imagesetpixel($img,$x,$y,$c);
}
imagepng($img);
imagepng($img, './a.png');
imagedestroy($img);

524
デフォルトの名無しさん[sage]   投稿日:2015/04/16 14:19:56  ID:Lxb5p7kV.net(9)
>522
色んな色で塗りたいんですが、truecolorにしてしまうとalphaで透過が効かなくなって、塗ってない部分に背景色の黒(truecolor部分?)が見えてしまうんですが、その場合はどうしたらいいですか?

525
デフォルトの名無しさん[sage]   投稿日:2015/04/16 14:41:01  ID:j5PiUgUc.net(5)
header("Content-type: image/png");
$width=40;
$height=40;
$img = imagecreatetruecolor($width, $height);
$background_color = imagecolorallocatealpha($img, 255, 0, 0, 0);
imagefilledrectangle($img, 0, 0, $width, $height, $background_color);
for($x=0;$x<$width/2;$x++)
for($y=0;$y<$height;$y++){
$red = ($x*4+$y)%255;
$green = ($x+$y*4)%255;
$blue = ($x*3+$y*3)%255;
$c=imagecolorallocatealpha($img, $red, $green, $blue, 60);
imagesetpixel($img,$x,$y,$c);

}
imagesavealpha($img, true);
imagepng($img, './a.png');
imagedestroy($img);
コメント1件

526
デフォルトの名無しさん[sage]   投稿日:2015/04/16 15:10:38  ID:WwBzC5aK.net
>525
ありがとうございます。また外に出てるので帰ったら組み立ててみます。


あと、皆さんに質問なんですけど良ければ答えてもらえると嬉しい。

プログラミングはどうやったら上達しますか?
今自分が採ってる方法は基礎なしで、目的の動作をさせるために適当に(検索にかけるべき言葉もわからないので)ググって例文を見つけては貼り付けて組み合わせてるだけなんです。

作りたくないものでも、教科書的なものに従って順に覚えていく方が上達するんですか?

あと、PHPはPHPでも得意とする分野というのがプログラマーさんによって違うんでしょうか?
例えば、音楽の再生?が得意だったり画像の出力が得意だったり、とか。
つまり、偏りがあるのかなあと思って。

PHPの全てをマスターするのも本分ではないし、PHPのここが得意になる!という目指し方でもいいんでしょうか?
よろしくお願いします。

527
デフォルトの名無しさん[sage]   投稿日:2015/04/16 16:00:04  ID:j5PiUgUc.net(5)
一人で勉強する以上、PHPとか言語に関係ない部分での能力が必要です
あなたがやりたかったことは、検索すれば全部分かることです

truecolorにしてしまうとalphaで透過が効かなくなってるなら、
truecolor imagecolorallocatealpha 透過 で検索ですよ

プログラマにとって、得意なことだの、やったことのあることかどうか
なんてのは大事じゃないんですよ

528
デフォルトの名無しさん[sage]   投稿日:2015/04/16 16:22:29  ID:M8stHknI.net(3)
2chが重くて全然見れなかった・・・file関連で攻撃受けてるの?
質問の方は、他の方が解答して解決したようなのでなによりです
頑張ってね

529
デフォルトの名無しさん[sage]   投稿日:2015/04/16 16:30:05  ID:icRCAjY/.net
好きこそ物の上手なれ

530
デフォルトの名無しさん[sage]   投稿日:2015/04/16 20:08:35  ID:8DghKf0U.net
PHPによるWEBアプリ開発では、アサーションはあまり使わないのですか?
PHPの入門書では、assert関数って出てきませんよね。

http://php.net/manual/ja/function.assert.php
http://php.net/manual/ja/function.assert-options.php
コメント1件

531
デフォルトの名無しさん[sage]   投稿日:2015/04/16 22:13:25  ID:3UComU26.net
>530
標準のアサーションだとなんか失敗した、としか判らないからね
PHPUnitのようなテストフレームワークを使うのが主流だよ
コメント2件

532
デフォルトの名無しさん[sage]   投稿日:2015/04/16 22:26:35  ID:caSB52ZJ.net
>531
なるほど。素直にPHPUnitを使うようにします。
ありがと。

533
デフォルトの名無しさん[sage]   投稿日:2015/04/17 04:11:51  ID:xa27KbBr.net
>531
> 標準のアサーションだとなんか失敗した、としか判らないからね
そうでもない
http://php.net/manual/ja/function.assert.php

534
デフォルトの名無しさん[]   投稿日:2015/04/21 18:46:22  ID:4N8iHnMp.net
phpdocの書き方で
@param で 入力と出力を区別したいときは
[in][out]使っても大丈夫?

535
デフォルトの名無しさん[sage]   投稿日:2015/04/22 19:18:58  ID:GzvvVOyO.net(3)
【OS名】Windows8.1 Pro 64bit
【PHPのバージョン】5.6.3
【連携ソフトウェア】MySQL
【質問内容】
Windows8.1 Proにてxampp 5.6.3を使用しています。
pear installにてpearもインストールしています。
HTTP_Request2を利用するプログラムにアクセスしたところ、
---
Fatal error: Class 'HTTP_Request2' not found in ほにゃらら.php on line 266
---
と出力され、エラーとなってしまいます。
pear listで確認しても、
---
HTTP_Request2 2.2.1 stable
---
と出力され、インストールされているようです。
何が原因なのかさっぱり分からず、悩んでいる状態です。
なにか助言等いただけないでしょうか?
コメント2件

536
デフォルトの名無しさん[sage]   投稿日:2015/04/22 20:04:21  ID:j4sfg3bP.net(2)
>535
ほにゃらら.php の266行目見ろって書いてあるじゃん。
コメント1件

537
デフォルトの名無しさん[sage]   投稿日:2015/04/22 20:27:37  ID:GzvvVOyO.net(3)
>536
ほにゃらら.phpの266行目は
---
$req = self::getHTTPRequest2($url, HTTP_Request2::METHOD_GET);
---
と、HTTP_Request2を呼び出しているだけなんです。
で、ここでエラーが出たままにっちもさっちもいかない状態です。
コメント2件

538
デフォルトの名無しさん[sage]   投稿日:2015/04/22 20:55:41  ID:j4sfg3bP.net(2)
>537
わかってんじゃん。一個ずつ問題潰してきゃいいじゃん。

539
デフォルトの名無しさん[sage]   投稿日:2015/04/22 21:59:21  ID:GzvvVOyO.net(3)
>537
誠にど素人的発言で申し訳ないのですが、その問題の潰し方が分からなくて悩んでいるのです。
申し訳ございません。
コメント1件

540
デフォルトの名無しさん[sage]   投稿日:2015/04/23 00:01:54  ID:3uxxFF8+.net
>539
pearのライブラリにパス通ってないとか。php.ini確認
コメント1件

541
デフォルトの名無しさん[sage]   投稿日:2015/04/23 01:31:23  ID:UbFbi6S3.net(4)
>540
そこは最初に確認したのですが、
--
inclulde_pach=".;C:\xampp\php\PEAR;"
--
と、PEARのライブラリにパスは通った状態のようです。
情報後出しばかりで申し訳ありません。
コメント1件

542
デフォルトの名無しさん[sage]   投稿日:2015/04/23 01:41:47  ID:rwZnJZ09.net
inclulde_pach?
コメント1件

543
デフォルトの名無しさん[sage]   投稿日:2015/04/23 02:25:17  ID:UbFbi6S3.net(4)
>542
あぁ、記入ミスです。
「include_path」でした。重ね重ね申し訳ありません。

544
デフォルトの名無しさん[sage]   投稿日:2015/04/23 04:04:37  ID:r7EBgXZ0.net(4)
>541
実行時にそうなってるか確認した?

545
デフォルトの名無しさん[sage]   投稿日:2015/04/23 04:09:11  ID:IIHzOglt.net
あとPHPのバージョンとエラー吐いた時のURL

546
デフォルトの名無しさん[sage]   投稿日:2015/04/23 04:09:33  ID:r7EBgXZ0.net(4)
なんかrequireしてないだけって気がしだした

547
デフォルトの名無しさん[sage]   投稿日:2015/04/23 10:54:45  ID:drWRwQRf.net
それっぽそう

548
534[sage]   投稿日:2015/04/23 20:37:50  ID:UbFbi6S3.net(4)
>535です。お世話になっております。
もうぶっちゃけちゃいますと、
 https://github.com/2ch774/p2-php
のプログラムで悩んでおります。HTTP_Request2が導入されるまでは動作していたのですが、
HTTP_Request2を使うように変更されてから
--
Fatal error: Class 'HTTP_Request2' not found in P2Util.php on line 266
--
というエラーが出るようになっていました。phpの環境はいじっていません。
phpinfoで確認すると、
--
include_path=.;C:\xampp\php\PEAR;
--
となっています。
Requireされていないのでは、との指摘があったので、試しにP2Util.phpのエラーが出る前の行に
--
require('c/\xampp/php/pear/HTTP/Request2.php')
--
と書いてみたところ、クラスが見つからないとのエラーは出なくなったのですが、今度は
別のエラーが出るようになってしまいました。
また、”まとめ読み”という機能があるのですが、これを実行してもHTTP_Request2のクラスが
見つからないとのエラーが出ました。
とりあえず変更したP2Util.phpを元に戻し、
「これは全体的にPEARライブラリがincludeされてないんじゃないかなぁ?」
と思いながら再度実行してみると、今度は何事もなかったかのように正常に動きました。
phpの環境は何も変更していないのに……apacheを再起動しても、やはり同じ様に正常に動きました。

何が何だかさっぱり分からないまま正常に動くようになったようです。
なんだかとても気持ち悪いですが、とりあえずいったん質問をクローズさせていただきます。
みなさま、どうもありがとうございました。
コメント1件

549
デフォルトの名無しさん[sage]   投稿日:2015/04/23 20:54:54  ID:r7EBgXZ0.net(4)
>548
↓これはやったの?

動作環境
以下のコマンドを実行して、全ての項目で OK が出たなら大丈夫です。
何かエラーが出たらがんばって環境を整えてください。
php scripts/p2cmd.php check
コメント1件

550
デフォルトの名無しさん[sage]   投稿日:2015/04/23 22:49:19  ID:UbFbi6S3.net(4)
>549
動かなくなったときにやりました。
 php scripts\p2cmd.php check
ですべてOKもでましたし、
 php scripts\p2cmd.php update
で関連ファイルの更新も行いました。
それでも動かなかったので悩んでいたんです。

551
デフォルトの名無しさん[sage]   投稿日:2015/04/23 22:51:12  ID:r7EBgXZ0.net(4)
そっか。まぁ動くようになってよかった。

552
デフォルトの名無しさん[]   投稿日:2015/04/24 15:21:08  ID:CdNzOuAf.net(2)
PHPで名前入力する際に、名前が妥当かを判断するにはどうしたら良いでしょうか?
送られてくる値はUTF8で、名前にはひらがな/漢字/半角アルファベットを許容したいです。(数字や記号は拒否したい)
正規表現?を使えば良いようですがどのように書いたらいいのかわかりません
よろしくお願いします
コメント2件

553
デフォルトの名無しさん[sage]   投稿日:2015/04/24 15:29:39  ID:nbG5ZGP2.net
>552
ググったら見つかったが
preg_match("/^[a-zA-Zぁ-んァ-ヶー一-龠]+$/u",$name)
コメント1件

554
デフォルトの名無しさん[]   投稿日:2015/04/24 15:32:30  ID:5uVSKzYn.net
今からC始めるのは無意味ですか?
コメント1件

555
デフォルトの名無しさん[sage]   投稿日:2015/04/24 15:41:10  ID:qImV3X6l.net(2)
>552
preg_match('/\A[\p{Hiragana}\p{Han}a-zA-Z]+\z/u' , $name )

>554
スレチ
コメント1件

556
デフォルトの名無しさん[]   投稿日:2015/04/24 15:45:46  ID:CdNzOuAf.net(2)
>553
>555
ありがとうございます!

557
デフォルトの名無しさん[sage]   投稿日:2015/04/24 15:58:59  ID:qImV3X6l.net(2)
佐々木さんでチェックしてみてね

558
デフォルトの名無しさん[sage]   投稿日:2015/04/25 02:52:29  ID:Jt8VYq7n.net
半角アルファベットを許容するなら全角も許容したい。

559
デフォルトの名無しさん[sage]   投稿日:2015/04/25 11:01:52  ID:TkDEI2+D.net
半角alphaは外人用とわかるが
全角alphaを使う名前の持ち主なんてこの世に存在するのか?
コメント1件

560
デフォルトの名無しさん[sage]   投稿日:2015/04/25 19:34:22  ID:CcP3xJY9.net
そう思うのであれば全角アルファベットを許容した上で半角変換をすればよい

561
デフォルトの名無しさん[sage]   投稿日:2015/04/27 12:29:57  ID:fsx4AjcX.net
.phpのファイルをアップロードしてて、そのphpファイル自体をダウンロードされる事は無いんですか。
コメント2件

562
デフォルトの名無しさん[]   投稿日:2015/04/27 12:46:50  ID:N2foMO9n.net
あるだろ。PHPもTXTもCPPもテキスト。

563
デフォルトの名無しさん[sage]   投稿日:2015/04/27 15:51:49  ID:tqpe0E7p.net(4)
>そう思うのであれば全角アルファベットを許容した上で半角変換をすればよい

底辺プログラマ乙
コメント2件

564
デフォルトの名無しさん[]   投稿日:2015/04/27 18:28:48  ID:4OuKNXPJ.net
数値をヒューマンリーダブルな文字列に変換する関数ってある?
1024 → 1K みたいな感じで
コメント1件

565
デフォルトの名無しさん[sage]   投稿日:2015/04/27 18:42:22  ID:4f0BeVWY.net
>564
つくりゃいいじゃん
コメント1件

566
デフォルトの名無しさん[sage]   投稿日:2015/04/27 19:22:41  ID:VIDDBC3g.net(2)
>563
郵便番号は全角数字で入力してください。が好きな人?
コメント1件

567
デフォルトの名無しさん[sage]   投稿日:2015/04/27 20:00:04  ID:tqpe0E7p.net(4)
>566
郵便番号と名前が同じと思ってるんだ。頭腐ってるのか?
コメント1件

568
デフォルトの名無しさん[sage]   投稿日:2015/04/27 20:24:19  ID:VIDDBC3g.net(2)
>567
>559に対するレスとしては妥当だと思ったんだが、何がそんなにおかしいの?

569
デフォルトの名無しさん[sage]   投稿日:2015/04/27 21:09:15  ID:tqpe0E7p.net(4)
名前に郵便番号使えるのか?
郵便番号に名前が使えるのか?
こんなことも判らないんだなぁ・・・

570
デフォルトの名無しさん[sage]   投稿日:2015/04/27 21:16:28  ID:qTKVpAug.net
>563
全角→半角変換以上の解決策プリーズ
コメント1件

571
デフォルトの名無しさん[sage]   投稿日:2015/04/27 21:29:25  ID:tqpe0E7p.net(4)
>570
答え出てるじゃん。馬鹿か?

572
デフォルトの名無しさん[sage]   投稿日:2015/04/27 23:39:44  ID:Q8o5TdgJ.net
ユーザーは○○を記入しないからエラーで良いとか簡単に言い出すやつは、
ユーザビリティを考えなくていい立場の人間だわ。
コメント1件

573
デフォルトの名無しさん[sage]   投稿日:2015/04/28 00:08:23  ID:NeoZrJWE.net
JavaScriptで大体やって、PHPは全部エラーでOK

574
デフォルトの名無しさん[sage]   投稿日:2015/04/28 00:21:03  ID:cqUwhhlI.net(5)
>572
そんな発想だから底辺って言われるんだよ

575
デフォルトの名無しさん[sage]   投稿日:2015/04/28 00:24:14  ID:cqUwhhlI.net(5)
健全でない言葉が含まれているため表示しません 内容を確認する

576
デフォルトの名無しさん[sage]   投稿日:2015/04/28 01:37:26  ID:gadPr3gO.net
>561
PHPがそもそも使えないサーバや、サーバの設定がおかしかったりするとそういうこともありうる。
サーバ管理者が未熟な場合、流出ありきでコードに重要な情報を含まないようにしたほうがいい。
コメント1件

577
デフォルトの名無しさん[sage]   投稿日:2015/04/28 11:43:00  ID:dru2pj9t.net
>561
ありえる。
だから、セキュリティ的に重要なデータの記載のあるファイルは公開領域には置かない。
普通は、非公開領域に置く。

578
デフォルトの名無しさん[sage]   投稿日:2015/04/28 11:50:38  ID:6B7Pn2o6.net(4)
>576
> サーバ管理者が未熟な場合、流出ありきでコードに重要な情報を含まないようにしたほうがいい。
サーバ管理者が未熟なら、root以下なんでも漏れちゃう可能性があるわけで、特にPHPファイルだけを
どうにかしておく必然性は無いと思うが。
コメント1件

579
デフォルトの名無しさん[sage]   投稿日:2015/04/28 13:27:29  ID:K6X4GgZO.net
>565
つまり無いってことね。 ありがとう。作るわ。

580
デフォルトの名無しさん[sage]   投稿日:2015/04/28 15:39:30  ID:4P4rfz1u.net(2)
>578
そのとおりだと思うけど
ただアクセスするだけで誰でもダウンロードできてしまう状態と
狙ってroot取りに行くのじゃわけが違うぜー

ま、DBのパスワードなんかはドキュメントルート外においとけっていうのは
暗黙の了解だと思うけどな
コメント1件

581
デフォルトの名無しさん[sage]   投稿日:2015/04/28 15:59:15  ID:6B7Pn2o6.net(4)
>580
> ただアクセスするだけで誰でもダウンロードできてしまう状態と
「ただアクセスするだけ」ってのがHTTPアクセスのことだとしたら、それでPHPファイルを取得されちゃう
ような無能は、アプリ作るなってレベルだ。
つか、サーバをインターネットに公開すんな。

582
デフォルトの名無しさん[sage]   投稿日:2015/04/28 16:31:51  ID:cqUwhhlI.net(5)
ID:6B7Pn2o6
こいつがリスクヘッジも出来ない無能だという事がよくわかるな
コメント1件

583
デフォルトの名無しさん[sage]   投稿日:2015/04/28 16:37:15  ID:zYT0yAj9.net(2)
ID:cqUwhhlI おかえり。

584
デフォルトの名無しさん[sage]   投稿日:2015/04/28 16:45:12  ID:6B7Pn2o6.net(4)
>582
PHPのファイルをどこに置くかレベルの近視眼的なセキュリティ対策じゃダメだってことだよ。
DBのパスワードが漏れても、アクセス不可なら問題ない。
コメント2件

585
デフォルトの名無しさん[sage]   投稿日:2015/04/28 17:07:07  ID:cqUwhhlI.net(5)
>584
対策じゃなくてリスクヘッジ
これだから無能は。
コメント1件

586
デフォルトの名無しさん[sage]   投稿日:2015/04/28 17:24:34  ID:6B7Pn2o6.net(4)
>585
> PHPがそもそも使えないサーバや、サーバの設定がおかしかったりするとそういうこともありうる。
> サーバ管理者が未熟な場合、流出ありきでコードに重要な情報を含まないようにしたほうがいい。
のリスクヘッジを一生やってろ

587
デフォルトの名無しさん[sage]   投稿日:2015/04/28 17:30:16  ID:cqUwhhlI.net(5)
ID:6B7Pn2o6
これが本当の無能です


588
デフォルトの名無しさん[sage]   投稿日:2015/04/28 19:21:58  ID:aiJZeiPg.net
かぎ壊されたらどうせ意味ないんだから鍵かけなくたって同じ
と言ってるようなもんだなw

589
デフォルトの名無しさん[sage]   投稿日:2015/04/28 19:42:10  ID:4P4rfz1u.net(2)
>584
それは攻撃者のレベルを考慮してないよ
深いとこまで潜ってくるようなセキュリティつつくことでメシ食ってる攻撃者より
にわかが腕試しにやることがほとんどでしょ
ていうかDBのパスワードが漏れてもアクセス不可ってそれこそルート取られたら・・・
結局はルート取られなくするしかないわけだけどそれは鯖管のしごと
最近は共有使ってる人も減ってはいるけどまだまだ多いのが実情だし
とれる対策なんて限度があるわけで

590
デフォルトの名無しさん[sage]   投稿日:2015/04/28 20:33:33  ID:PJN+vN0C.net
そうか、普通にhtmファイルと同じフォルダにphpファイル置いてたよ。
phpファイルは非公開フォルダに全部入れた方が良いのか。
それとも大事なデータがソースに書かれてるphpだけ非公開に置けば良いのか。
コメント2件

591
デフォルトの名無しさん[sage]   投稿日:2015/04/28 20:57:53  ID:zYT0yAj9.net(2)
>590
とりあえずその辺のフレームワーク使ってみればいいと思う。
で、何でそういう構成になってんのかなって考えてみるのもひとつの勉強

592
デフォルトの名無しさん[sage]   投稿日:2015/04/29 12:07:30  ID:letzh3NS.net
>590
>phpファイルは非公開フォルダに全部入れた方が良いのか。
これはやりすぎ。

>それとも大事なデータがソースに書かれてるphpだけ非公開に置けば良いのか。
これが正解。必要に応じてrequire_onceとかで読み込めばいい。
コメント2件

593
デフォルトの名無しさん[sage]   投稿日:2015/04/29 12:18:00  ID:2Ot3YiMd.net
まあ、家に現金置くとして
常に机の上においておくのか、机の引き出しにしまっとくのかの違いぐらいに
意味はある たまに鍵かけ忘れることもあるからな
コメント1件

594
デフォルトの名無しさん[sage]   投稿日:2015/04/30 22:03:52  ID:2YD/JiCb.net
>593
これは良い例え
予期せぬ事態に備えておくのは大事
例えば鯖管が何かの作業中に誤ってPHPのMIME-TYPEを設定して、
直接アクセス可能なファイルすべてのソースコードが丸見えになるとかも考えられる
備えは大事だよ

595
デフォルトの名無しさん[sage]   投稿日:2015/04/30 23:50:06  ID:jr4bhkLM.net
だからフレームワーク見ればいいのに。
>592とか5年前からタイムスリップしてきたのかと勘違いしちゃう

596
デフォルトの名無しさん[sage]   投稿日:2015/05/01 00:08:25  ID:mGcUeeZw.net(2)
5年どころか10年前だな

597
デフォルトの名無しさん[sage]   投稿日:2015/05/01 01:14:35  ID:xZIdrgfi.net(4)
>592は悪い対応なのか?
フレームワークほとんど使ったことないから分からんけど、
Zendをググった感じだと対策されてなさそうなんだが・・・
ついでに俺のwordpressも対策してなかったから対策しといた。
コメント1件

598
デフォルトの名無しさん[sage]   投稿日:2015/05/01 01:44:42  ID:mGcUeeZw.net(2)
>597
Zendならドキュメントにちゃんと載ってる

newproject
|-- application    ←ここにPHPプログラム
|-- library
|-- public       ←サーバーのDocumentRoot
| `-- index.php   ←これがBootstrap.phpを実行

こんな感じが推奨されてる

599
デフォルトの名無しさん[sage]   投稿日:2015/05/01 02:47:57  ID:xZIdrgfi.net(4)
なるほどね、application全部非公開領域なのか

600
デフォルトの名無しさん[sage]   投稿日:2015/05/01 03:38:11  ID:uP4+4JeO.net(4)
> Zendをググった感じだと対策されてなさそうなんだが・・・
何を見てこれに至ったのかが気になる。

601
デフォルトの名無しさん[sage]   投稿日:2015/05/01 04:19:55  ID:xZIdrgfi.net(4)
zend DB パスワードとか検索したら、設定ファイルをいじるやり方がTOPに出てきたから、
対策必要なんかなーと思ったわけさ

フレームワークのメリットデメリットも調べてたけど、
どうも俺には向かなさそうな感じだな。
単純なページを数多く作るシステムとかだとメリット多そう。

602
デフォルトの名無しさん[sage]   投稿日:2015/05/01 05:43:51  ID:uP4+4JeO.net(4)
http://blog.tojiru.net/article/230726490.html
トップにこれが出てきたけど、公開領域かどうかという話とは関係ないから違うよね。
具体的にURLを出してもらえると嬉しい。
コメント1件

603
デフォルトの名無しさん[]   投稿日:2015/05/01 06:20:44  ID:VXg57tOC.net(7)
配列をループで処理するとき、先頭や最後の要素であることを判別するスマートな方法はある?

今のところ、先頭要素なら配列インデックスが 0 かどうかで判別したりループ前に「先頭フラグ」を立てておいて判別してる。
最後の要素判定は単純配列であれば配列インデックスと配列長を比較して判別、連想配列ならキーを受ける変数とは別にループカウンタ持って配列長と比較して判別してるけど、非常に泥臭い。
コメント3件

604
デフォルトの名無しさん[]   投稿日:2015/05/01 06:28:39  ID:xCWnJTf9.net(4)
配列をループするとき最初から範囲外にアクセスしなければいいだろ。
端とその他は、データとしてなにが違う。
コメント1件

605
602[sage]   投稿日:2015/05/01 07:10:59  ID:VXg57tOC.net(7)
>604
最初の要素や最後の要素だけ処理をちょっと変えたいことがあるんだよ。

foreach($items as $item) {
echo "<li>$item</li>\n";
}

なんて処理があったとき、最初や最後の li に特別な class を付加するとかな。
こんな説明しないとわからないものか?
コメント3件

606
デフォルトの名無しさん[]   投稿日:2015/05/01 07:14:27  ID:xCWnJTf9.net(4)
これで。

前処理
中間処理(ループ)
後処理
コメント1件

607
602[sage]   投稿日:2015/05/01 07:30:10  ID:VXg57tOC.net(7)
>606
その方法を >605 の処理に当てはめてコードで示してくれ

608
デフォルトの名無しさん[]   投稿日:2015/05/01 07:35:16  ID:xCWnJTf9.net(4)
$x = array_shift($A);
fnc_mae($x);
$x = array_pop($A));

foreach($A as $a)・・・

fnc_ato($x);
コメント3件

609
602[sage]   投稿日:2015/05/01 07:38:52  ID:VXg57tOC.net(7)
>608
処理案のひとつだとは思うが、それは >603 で挙げた方法よりスマートだと思ってるのね?

610
デフォルトの名無しさん[sage]   投稿日:2015/05/01 09:38:28  ID:EejPW5t5.net
皆さんはエディタは何使ってますか?
サクラとかネットビーンズ使ったけどなんか使いにくいので、参考までに教えてください
コメント1件

611
デフォルトの名無しさん[sage]   投稿日:2015/05/01 10:10:32  ID:GC2txC2S.net
viしか使っていないや

612
デフォルトの名無しさん[sage]   投稿日:2015/05/01 11:31:39  ID:xZIdrgfi.net(4)
>602
そうそれそれ。
他にも1こ上の階層に上げるやり方とか載ってたりしたから、
ちょっとググッただけの素人目にはそう見えたんだよ。
そういった細かい事をやるのにいちいち検索しないと分かりにくいから
フレームワークって嫌いなんだけどね。

>603
スマートっていうなら、if(index == 0)以上のスマートなのないんじゃ?
分かりやすいし。
同じ疑問はよく浮かぶ

>610
秀丸
コメント2件

613
602[sage]   投稿日:2015/05/01 12:00:38  ID:VXg57tOC.net(7)
>612
先頭のケースはそれでも十分きれいなんだけど、最後の要素判定がね。
書き方そのものは $index==count(配列)-1 かそれに類することをやるだけなんだけど、単純配列じゃなければ $index はただ判定のためだけに用意する処理の本質とは関係の無いカウンタに成り下がる。
もうちょっと先進的に、イテレータとして isFirst とか isLast みたいな判定方法があればスマートだと思うんだけどね。

または、配列の一番最後の要素のキーを端的に得る方法ってあるかな。
イメージとしてはこんな感じ。
$lastkey=array_pop(array_keys(配列))

614
デフォルトの名無しさん[]   投稿日:2015/05/01 12:19:10  ID:xCWnJTf9.net(4)
ループ内で判定を多くするのは非効率。
コメント1件

615
602[sage]   投稿日:2015/05/01 13:08:31  ID:VXg57tOC.net(7)
>614
それを許容できるかできないかはループの規模にもよるだろうし、
実際にはループの中ではこんな些細な判定などより重い処理が書かれているから、コードとして簡潔に書いてある方がメンテ性がよくていいと思うよ。
大量のデータ処理を高効率でやるならPHPなんて使わないしな。

>608 についてまじめにコメントすると、まず要素取り出しごとに empty の確認が必要だったりでいちいち面倒。
さらに先頭要素と末尾要素のキーが失われることや中間要素のインデックスがリナンバーされるのも場合によっては許容できない。
処理内容がある程度複雑であれば >608 にあるようにまさに関数化する必要があるけど、機能的ではない関数化などしたくない。

でも効率についても意識しているのは確かで、ループ内を「先頭」「末尾」「それ以外」に分ける判定では、最も頻度の高い「その他」の選択に一番コストがかかるという点は改善するいい方法があればと思ってる。
若干トリッキーなことやればできるけど、訳の解らんコードになるなら採用できないしな。

616
デフォルトの名無しさん[sage]   投稿日:2015/05/01 13:51:32  ID:uP4+4JeO.net(4)
>603
end(配列);
list($end_key, $end_val) = each(配列);

ちなみに>605の内容ならCSSで解決するのがスマート。

>612
単に読み間違いだったようでよかった。
また嘘ばかり並べてるPHP解説サイトでも出てくるのかとちょっと心配だった
コメント1件

617
602[sage]   投稿日:2015/05/01 14:30:00  ID:VXg57tOC.net(7)
>616
あ、そういう方法があったのか。

$firstkey=key(配列);
end(配列);
$lastkey=key(配列);
foreach(配列 as $k=>$v) {
if($key===$firstkey) {
// 先頭要素
}
elseif($key===$lastkey) {
// 末尾要素
}
else {
// その他要素
}
}

という基本型にできそうだね。
この考え方でコードがきれいになるケースはありそうだ。ありがとう。

>605 はシンプルな例として挙げただけで CSS で対応する余地については強く同意なんだけど、今回の質問のきっかけがこれなんだよね。
別のところで作った HTML をもらってフタを開けたら、ありとあらゆる一覧要素の末尾に class="last" が付けてある。
なんだか IE の互換性の問題でこれがどうしても必要なんだと。
せめて class="first" だったら楽なんだけど、last ってのがなんともいやらしい。

618
デフォルトの名無しさん[sage]   投稿日:2015/05/01 15:34:18  ID:uP4+4JeO.net(4)
あぁ、なるほど。デザイナ様がそれをつけろとおっしゃるならしょうがないね。乙。

619
デフォルトの名無しさん[sage]   投稿日:2015/05/01 19:19:07  ID:PZEl4U1u.net(2)
global してんのにそのグローバル変数が無いときってどうなるの?
コメント1件

620
デフォルトの名無しさん[]   投稿日:2015/05/01 20:01:50  ID:PZEl4U1u.net(2)
質問です。

抽象クラスを継承してる子クラスが、抽象メソッドを定義し忘れてるのを
静的に検出したいのですが、どうしたらよいでしょうか。
コメント5件

621
デフォルトの名無しさん[sage]   投稿日:2015/05/02 03:56:53  ID:kZuCqpus.net(3)
>619
NULL

>620
そういう時はインターフェイスを使う
コメント1件

622
デフォルトの名無しさん[sage]   投稿日:2015/05/02 10:23:22  ID:202tz8Zm.net(4)
>621
抽象メソッドを定義し忘れてるんじゃなく実装し忘れてるということだと思うけど、
抽象クラスをインタフェースに置き換えたところで >620 で解決したい問題を解決できる話じゃなくない?

クラスは延々と継承が可能だから、実装し忘れてるのかそれそのものはインスタンス化されないクラスで子孫クラスのどこかで実装されるものなのかは機械的には分からないから、
インスタンス化してみること無しにチェックすることはできないんじゃないのかな。
コメント2件

623
デフォルトの名無しさん[sage]   投稿日:2015/05/02 10:55:52  ID:kZuCqpus.net(3)
>622
いや、「抽象メソッドを定義し忘れてるのを」と言ってるだろ
それと君はインターフェイスについてちゃんと勉強してきなさい
コメント1件

624
デフォルトの名無しさん[sage]   投稿日:2015/05/02 11:03:45  ID:202tz8Zm.net(4)
>623
「抽象クラスを継承している子クラス」がし忘れることがあるとすれば、それはなんだ?
定義か?
違うだろ?
お前こそ勉強し直してこい
コメント1件

625
621[sage]   投稿日:2015/05/02 12:37:01  ID:202tz8Zm.net(4)
>622
後半部分は誤りだね。
インスタンス化以前に抽象クラスの派生クラスで抽象メソッドの実装漏れがあれば、そのクラス宣言のパース時にエラーになるもんな。
>620 のいう静的ってのは、動かしてみることなくってことかね。

であれば、めぼしいクラス宣言のあるソースを軒並み require しただけのスクリプトを書いて実行するのはどうなのかね。
コメント1件

626
デフォルトの名無しさん[sage]   投稿日:2015/05/02 12:46:38  ID:86QaeJl2.net(2)
>625
>めぼしいクラス宣言のあるソースを軒並み require しただけのスクリプトを書いて実行

そこに気付くとは・・・ やはり天才か
静的には無理⇒動的には可能 という発想の飛躍
さっそくrequireを列挙したプログラム書きます
コメント1件

627
デフォルトの名無しさん[sage]   投稿日:2015/05/02 14:20:24  ID:kZuCqpus.net(3)
>624
インターフェイスを知らないんだね
コメント1件

628
デフォルトの名無しさん[]   投稿日:2015/05/02 17:07:41  ID:86QaeJl2.net(2)
ところで話は変わるけど、

元は戻り値 bool を返すメソッドを継承して
戻り値 boolまたはオブジェクト を返すようにしたら
やっぱり行儀が悪いかな
コメント1件

629
デフォルトの名無しさん[sage]   投稿日:2015/05/02 18:42:10  ID:202tz8Zm.net(4)
>627
知ってるけど、それがどうした?
>620 をどう解釈して、それがインタフェースだとどう解決できると言ってるのかを説明をするというなら聞いてやってもいいぞ。

>628
継承前のメソッドの仕様次第じゃね。
たまたまboolしか返してなかったけどオブジェクトも返しえる、みたいに解釈できるなら、あるいはそう修正できるなら悪くないんじゃね。
ようは、仕様に沿って作られた既存のコードでそのメソッドの呼び出し元が true や flase と比較してる可能性があるならダメだと思う。

630
デフォルトの名無しさん[sage]   投稿日:2015/05/02 19:47:57  ID:cEdA8aDd.net
>620
>静的に検出したいのですが

この「静的」というのが具体的でないから回答は困難。
もう少し具体的に説明したほうがいい。
コメント2件

631
デフォルトの名無しさん[sage]   投稿日:2015/05/02 20:06:44  ID:NSdkbqbf.net
>630
>626で完結した

632
デフォルトの名無しさん[sage]   投稿日:2015/05/04 17:07:52  ID:LDLlVI0c.net
>630
動的ってのは、実行し実際に動作させること。
静的ってのは、実行しない。
多言語だと良く出てくる概念だから覚えておいて損は無いよ

633
デフォルトの名無しさん[sage]   投稿日:2015/05/05 00:16:13  ID:gXNF+Bkg.net
・・・それを知らないと思ったのが分からん
PHPで静的にって言われて、詳しくどういう意味か聞きたくならんのか?
コメント1件

634
デフォルトの名無しさん[sage]   投稿日:2015/05/05 03:56:20  ID:X6lIspm3.net(2)
そもそも継承先で抽象メソッドの定義忘れとかFatal Error出るだろ?
コメント1件

635
デフォルトの名無しさん[sage]   投稿日:2015/05/05 04:07:04  ID:6RX8cnex.net(2)
まず定義と実装の区別をつけようか

636
デフォルトの名無しさん[sage]   投稿日:2015/05/05 04:08:49  ID:X6lIspm3.net(2)
こまけーこたぁいいんだよ!

637
デフォルトの名無しさん[sage]   投稿日:2015/05/05 09:21:04  ID:td7P7nJT.net(2)
抽象クラスの存在意義の一つにオーバーライドの強制があるのにそれを知らないとか今まで何をしてきたんだ
コメント1件

638
デフォルトの名無しさん[sage]   投稿日:2015/05/05 09:34:37  ID:td7P7nJT.net(2)
クラスじゃなくてメソッドね

639
デフォルトの名無しさん[sage]   投稿日:2015/05/05 11:46:40  ID:m8J9PzSH.net
普通はこういう解釈じゃないの?
動的ってのは、インスタンスを生成してメソッドを呼ぶこと(newを使う)。
静的ってのは、インスタンスを生成せずメソッドを呼ぶこと(staticを使う)。

つまり、
動的ってのは、インスタンス変数やインスタンスメソッドを利用すること。
静的ってのは、クラス変数やクラスメソッドを利用すること。

640
デフォルトの名無しさん[sage]   投稿日:2015/05/05 12:06:43  ID:6RX8cnex.net(2)
文字列をコードとして実行するのも動的と言ったりするかな。
前触れ無く動的静的言ってもいろいろあるな。

>637
細かい話だけど、抽象メソッドを実装することはオーバーライドになるのかな?
実装を別の実装で上書くことがオーバーライドってイメージだけど。

641
デフォルトの名無しさん[sage]   投稿日:2015/05/05 13:14:57  ID:uK50+OeE.net(3)
>634
それ、実行するまでわからんよね
コメント1件

642
デフォルトの名無しさん[]   投稿日:2015/05/05 16:25:42  ID:uK50+OeE.net(3)
動作ログを出力する関数 log_shutsuryoku() を作ってるんだけど
毎回 __FILE__と__LINE__ を引数に書くのが面倒くさいので
これ省略したいんだけど、なにかいい方法ありますか?
コメント1件


643
デフォルトの名無しさん[sage]   投稿日:2015/05/05 16:28:41  ID:uK50+OeE.net(3)
解決しました。ありがとう

644
デフォルトの名無しさん[sage]   投稿日:2015/05/05 16:47:26  ID:SAyXrWcb.net
どういたしまして

645
デフォルトの名無しさん[sage]   投稿日:2015/05/05 19:37:55  ID:QsUeX1N1.net
>633
ならんが

646
デフォルトの名無しさん[sage]   投稿日:2015/05/05 21:56:08  ID:bTeIB/IH.net
動的っていうのは実行中にメモリを確保したり解放したりすること
静的っていうのは起動時にメモリを確保し終了時に解放すること

647
デフォルトの名無しさん[sage]   投稿日:2015/05/06 00:55:16  ID:vZJA/INS.net
>641
そういうことなら不可能なんじゃね
パーサーなり通さないとただのテキストだし
あとは人間の目でチェックするぐらいしか
コメント1件

648
デフォルトの名無しさん[sage]   投稿日:2015/05/06 15:29:35  ID:LywkhDvi.net(2)
>647
php -l で文法チェックにかけても、継承漏れはチェックできないんだよね
これほんとどうしたもんだろう

649
デフォルトの名無しさん[sage]   投稿日:2015/05/06 17:31:51  ID:98HapcQN.net
何で実行して確かめちゃだめなの?
コメント1件

650
デフォルトの名無しさん[sage]   投稿日:2015/05/06 20:11:29  ID:LywkhDvi.net(2)
>649
そこを走行するまでわかんないじゃんね
それって、とても面倒くさいことなんだよ

651
デフォルトの名無しさん[sage]   投稿日:2015/05/08 03:07:30  ID:8fj/JrJq.net
という問題を解決するために、人類はユニットテストというものを生み出したんだよ。

652
デフォルトの名無しさん[sage]   投稿日:2015/05/09 10:31:05  ID:Oida1g77.net
横レスですみませんが、>642 を解決するには、
どうすればいいのでしょうか?

呼び出す関数の引数に__FILE__と__LINE__を渡さないで、
呼び出された関数が、__FILE__と__LINE__ を取得する方法を知りたいです。
コメント1件

653
デフォルトの名無しさん[sage]   投稿日:2015/05/09 12:17:45  ID:VoWdYRCu.net
>652
バックトレースでも取ったんじゃね?
コメント1件

654
デフォルトの名無しさん[sage]   投稿日:2015/05/09 13:17:25  ID:xiP/cA9M.net

655
デフォルトの名無しさん[]   投稿日:2015/05/09 16:53:38  ID:5gJDPjVz.net
相手サーバーにバックアップを復元してもWEBページを正常に表示させたくないんだけど何か良い方法ないかな?
環境はLINUXにアパッチPHP使用
LINUXでchattrで+iで.htaccess設置しようかと思ったんだがSSHで接続はできなかった
FTPとデータベース接続は今はできる
コメント1件

656
デフォルトの名無しさん[]   投稿日:2015/05/09 17:32:18  ID:Gc8RqdRM.net
レッドハットとは赤ずきんのことかもしれません。

657
デフォルトの名無しさん[sage]   投稿日:2015/05/09 17:50:31  ID:MtmjsyLp.net
>655
スレチ

658
デフォルトの名無しさん[sage]   投稿日:2015/05/10 00:28:36  ID:pv6tlAro.net(5)
初心者になります。

mysqlのデータベースからphpで一つのカラムだけを取りだし表示をさせ、
取り出したカラムそれぞれに詳細ボタンを作り、ボタンを押すとそのカラムのレコードが表示されるボタンを作りたいのですが、
どのような方法がありますか?
コメント1件

659
デフォルトの名無しさん[sage]   投稿日:2015/05/10 01:08:49  ID:d6FZBecy.net(6)
>658
どこまでが分かっててどこからが分からないの?
コメント1件

660
デフォルトの名無しさん[sage]   投稿日:2015/05/10 02:06:24  ID:pv6tlAro.net(5)
>659

データベースの接続までは分かっていて、そこからが分からないです。
コメント2件

661
デフォルトの名無しさん[sage]   投稿日:2015/05/10 02:40:24  ID:JmENrleS.net
>660
データベースとPHPの連携の勉強していけば絶対出てくる内容だから勉強を進めるべき
自分で勉強して新しいことが出来るようになったときの快感はすごいぞ

662
デフォルトの名無しさん[sage]   投稿日:2015/05/10 02:43:11  ID:d6FZBecy.net(6)
>660
SQL発行して必要カラムや必要レコードを取得するところまではできるの?
ようは、画面回りの作り方が分からないだけなのか、データ取得の仕方もわからないのか、ということなんだけど。

とりあえず詳細ボタンじゃなく詳細リンクにする仕様でのアウトラインを書いとく。
まずカラム値の一覧を表示するスクリプト list.php とPKを引数としたレコードを1件分の詳細表示するスクリプト detail.php の2本を作りましょう。
カラム値一覧表示の際は、各値にリンクを張って表示しましょう。リンク先は詳細表示スクリプトで、引数にPKを仕込んでおきます。こんなの。
<a href="detail.php?pk=キー値" target="_blank">カラム値</a>
詳細表示側では、渡されたPKのレコードを取得して表示する。
自分好みの仕様にするのはこれができてからだろうな。
コメント8件

663
デフォルトの名無しさん[sage]   投稿日:2015/05/10 04:30:32  ID:pv6tlAro.net(5)
>662
理解出来ていません。

list.phpで
while($row = $result->fetch_assoc())[
echo $row["date"],"<br>"
]

でdateカラムの表示は出来たのですがそこから詳細をどのように配置すればいいのでしょうか?
コメント5件

664
デフォルトの名無しさん[sage]   投稿日:2015/05/10 05:02:38  ID:Q7tMiRkC.net
>663
HTMLの基礎も知らない可能性があるけれど、>662のこれは読めた?

> リンク先は詳細表示スクリプトで、引数にPKを仕込んでおきます。こんなの。
> <a href="detail.php?pk=キー値" target="_blank">カラム値</a>
コメント1件

665
デフォルトの名無しさん[sage]   投稿日:2015/05/10 06:06:45  ID:pv6tlAro.net(5)
>664
<a href></a>でリンクに飛ぶとゆうのは理解しています。

その中に書いているPKのtagetが理解出来ていないです。
コメント1件

666
デフォルトの名無しさん[sage]   投稿日:2015/05/10 06:57:26  ID:nSgk2cU6.net(2)
>665
targetは新しいタブで開く指定だから気にしなくていいよ
コメント1件

667
デフォルトの名無しさん[sage]   投稿日:2015/05/10 07:48:47  ID:dQsyuQT8.net
メジャーな企業サイトや新聞社のサイトで、
Can't connect database.とかデータベースに接続できませんとか
そんな具合のエラーを表示しているけどあれはなんなんですかね?

ただいま接続障害が発生しております。時間をおいてアクセスして下さい。
とか503的なメッセージを表示しておいて、
見えないヘッダーあたりに原因であるデータベースと接続出来なかったとか書いときゃいいと思うのに、
なにを考えてプログラマーはあんなデバッグ向けメッセージを残してるんでしょうか?
コメント1件

668
デフォルトの名無しさん[sage]   投稿日:2015/05/10 07:50:45  ID:pv6tlAro.net(5)
>666
今の段階でわからないのはdetail.phpの作り方と、作った後に、list.phpとどう組合わせるかです。
コメント1件

669
デフォルトの名無しさん[sage]   投稿日:2015/05/10 07:55:54  ID:d6FZBecy.net(6)
>663
html の話、それもかなり基礎的な話はPHPとあまり関係ないから、ここで掘り下げるようなことじゃないよ。
HTMLタグリファレンスなんてそこらに溢れてて簡単に調べられるんだし。

PHP 的な話でひとつだけ情報を追加しておくと、detail.php に渡されたPK(引数名 pk)は $_GET['pk'] で取得できる。
あと使いそうなものは htmlspecialchars と urencode かな。
それ以上は調べなよ。

つか、これ宿題かなんか?
コメント1件

670
デフォルトの名無しさん[sage]   投稿日:2015/05/10 07:58:12  ID:lFzaOLtb.net(2)
>667
開発費が足りないんじゃね?

671
デフォルトの名無しさん[sage]   投稿日:2015/05/10 09:13:47  ID:nSgk2cU6.net(2)
>668
detail.phpでは $_GET['pk'] を使ってSELECT WHERE で行を表示すればいい
コメント1件

672
デフォルトの名無しさん[sage]   投稿日:2015/05/10 11:54:06  ID:fqW2K+gx.net(4)
ここでいちいち疑問点が出たら聞くを繰り返すより入門書でも買って手を動かしたほうが早くね?
コメント1件

673
デフォルトの名無しさん[sage]   投稿日:2015/05/10 12:07:20  ID:lFzaOLtb.net(2)
>672は、スレタイにピッタリ。

674
デフォルトの名無しさん[sage]   投稿日:2015/05/10 12:08:22  ID:W9ZiKZfY.net
じゃあこのスレいらないな
ここは下らない質問をするところだからな?

675
デフォルトの名無しさん[sage]   投稿日:2015/05/10 12:28:15  ID:DkNBXTKK.net
おまえら、今日は母の日だぞ。
つまらない言い合いするより、親孝行しとけ。
https://www.google.co.jp/

676
デフォルトの名無しさん[sage]   投稿日:2015/05/10 13:05:35  ID:fqW2K+gx.net(4)
まあ要らないって事はないな

本とか入門サイトとか読んでやってみたけどどーしてもわからないとか腑に落ちないところがあれば
ここで聞けばよくね?

677
デフォルトの名無しさん[sage]   投稿日:2015/05/10 13:09:20  ID:IBnS4wF/.net
なくなったら、暇つぶしができないので困る

678
デフォルトの名無しさん[sage]   投稿日:2015/05/10 13:23:32  ID:d6FZBecy.net(6)
一から全部説明するレベルだとコードそのまま書いた方が短そうだもんな。

つか根本的な話なんだけど、実行環境はあるんだろうね?
webプログラムの話なんだよね?

679
デフォルトの名無しさん[sage]   投稿日:2015/05/10 20:48:11  ID:yRYOsbTo.net(6)
>669
開発環境はxamppであります。

phpの話です。

詳細リンクを取り出したdateカラムの横にそれぞれ表示されるようにしたいのですが上手くできません。

680
デフォルトの名無しさん[sage]   投稿日:2015/05/10 20:57:50  ID:yRYOsbTo.net(6)
>671
行の部分を取り出したdateのそれぞれのレコードだけ取り出したいのですがやり方がわかりません。

イメージとしては

5/01 詳細
5/02 詳細

の用に表示され

詳細リンクを押すとその日付のレコードが表示される感じです。

681
デフォルトの名無しさん[sage]   投稿日:2015/05/10 21:42:27  ID:EHHJTd+L.net
なんか一冊本買ってやってみたほうがいい。
コメント1件

682
デフォルトの名無しさん[sage]   投稿日:2015/05/10 22:06:40  ID:yRYOsbTo.net(6)
>681

独学ならそうしたいのですが、
 
宿題みたいたな感じなので、指定通りにしないといけないんです。
コメント1件

683
デフォルトの名無しさん[sage]   投稿日:2015/05/10 22:20:00  ID:d6FZBecy.net(6)
>682
宿題“みたいな感じ”ってなんだよ。
学校の宿題でもなけりゃ新人研修の課題でもないのかよ。
どっちにせよ講義なりテキストなり必要十分な何かは無かったのかい?
どちらかと言えばPHP以前の話で、>662 の説明があってそんなこと言ってるとか、正解を丸ごとコードで示せと言ってるようなもんなんだけど、ちょっとは自分でやってみるという気は無いわけ?
aタグについてHTMLのタグリファレンスくらいは読んだんだろうな?
つべこべ言わずに >662 の仕様で list.php くらいは書けてるんだろうな?
コメント1件

684
デフォルトの名無しさん[sage]   投稿日:2015/05/10 22:22:39  ID:fqW2K+gx.net(4)
別窓じゃなくてそのページにか…
JavaScriptでAJAX使ったリロードの無い今風のシングルページって奴?

だったら初心者にはかなり難易度高め
コメント1件

685
デフォルトの名無しさん[sage]   投稿日:2015/05/10 22:36:28  ID:fqW2K+gx.net(4)
まあWeb開発ってWebサーバー、アプリの基本動作原理、PHPなどのサーバー側スクリプト、
HTMLとCSS、JavaScriptと結構広範だから本などの前提知識が無いのは結構辛いと思う

聞く側も教える側も
コメント1件

686
デフォルトの名無しさん[sage]   投稿日:2015/05/10 22:56:52  ID:yRYOsbTo.net(6)
>683
講義やテキストはないです。
本はかったのですがあまり役に立っていません。
自分でやる気はありますが調べてもわからないので聞いています。


661には各値にリンクを貼ってとありますが、ここがわからないんですよね。

それぞれリンクを貼るのではなくて、取り出したdateのように繰り返しリンクを表示させたいんです。
コメント1件

687
デフォルトの名無しさん[sage]   投稿日:2015/05/10 22:59:41  ID:yRYOsbTo.net(6)
>685

とりあえず表示が出来ればいいみたいです。

htmlとcssの基礎的な部分は分かっているつもりです。クリエイター試験も受かったので。

やっぱり複数の知識が必要みたいですね。
コメント1件

688
デフォルトの名無しさん[sage]   投稿日:2015/05/10 23:07:25  ID:6QPckb+O.net
>687
次のaとbのどっち?

a)詳細リンクを押すと別ページに移動して詳細が表示される
b)詳細リンクを押すと別ページに移動しないで同一ページに詳細が表示される

a)なら単純なリンクで>662の構成でOK
b)ならJavaScript・Ajaxなどが必要で>684の構成になる
コメント2件

689
デフォルトの名無しさん[sage]   投稿日:2015/05/10 23:21:41  ID:d6FZBecy.net(6)
>688
当初「ボタンで」と書いてるくらいだから少なからずJSが絡んでるんじゃないの。
でもJSなりAjaxなりでやるにも >662 ができることは必須なんだから、今の段階で JS がどうとか言ってもしょうがないでしょ。

>686
>それぞれリンクを貼るのではなくて、取り出したdateのように繰り返しリンクを表示させたいんです。
取り出したdateそれぞれのことを「各値」と言ってるし、それれぞれにリンクを貼るというのはすなわち繰り返しリンクを表示することと同じ意味なんだが...

つかさ、>663 の echo で >662 の aタグを出力すればいいということすらわからないの?
もしかしてPKが何のことなのかわからない?
コメント1件

690
デフォルトの名無しさん[sage]   投稿日:2015/05/10 23:58:44  ID:yRYOsbTo.net(6)
>688

aの方です!

>689

aタグの出力が上手くできません。
単独の表示になってしまいます。

pkはレコードを取り出して表示するとゆう認識なのですが間違いですか?
コメント1件

691
デフォルトの名無しさん[sage]   投稿日:2015/05/11 00:37:24  ID:oRNChqV7.net(4)
>690
> aタグの出力が上手くできません。
>663 みたいに出力部分のコードを貼り付けてみろよ。

ただね、素人にこういう課題を出すに当たって講義もテキストも無いというのが本当であれば、自分は素人だと明言して指導を扇ぐのがよいと思うよ。
学校の宿題じゃなくて職場の新人研修でGW中に出された課題なんじゃないの?
だったらなおさら。
コメント1件

692
デフォルトの名無しさん[sage]   投稿日:2015/05/11 00:41:36  ID:oRNChqV7.net(4)
あぁ、忘れてた。
PK ってのはプライマリキー、主キーのことだぞ。
レコードを一意に特定するためのキーだ。
そのケースだと date をPKにしてる可能性もあるな。

693
デフォルトの名無しさん[sage]   投稿日:2015/05/11 01:11:13  ID:pEYHs+HR.net(2)
>691
>662

pkわかりましたありがとうございます。

職場の課題で担当の人に聞いてはいるんですが、上手く時間が合わないので。

while($row = $result->fetch_assoc())[
echo $row["date"]
<a href="detail.php?pk=">詳細</a> ."<br>"
]

どこがおかしいですか?
コメント1件

694
デフォルトの名無しさん[sage]   投稿日:2015/05/11 01:27:43  ID:oRNChqV7.net(4)
>693
while($row = $result->fetch_assoc()) {
echo htmlspecialchars($row["date"])." <a href=\"detail.php?pk=".urlencode($row["XXX"])."\">詳細</a><br>";
}


つかさ、>663 のコード本当に動かしてる?
単なるコピペミスだと思って細かいこと言わなかったけどさ。

695
デフォルトの名無しさん[]   投稿日:2015/05/11 03:07:58  ID:sHXwVAbX.net
表示はできました。
$row["XXX"]の部分は何が入りますか?
コメント1件

696
デフォルトの名無しさん[sage]   投稿日:2015/05/11 04:43:28  ID:cUL4ahFk.net
>695
データベースの主キーのカラム名だよ
他のレコードと重複してない一意な値があるカラム
コメント1件

697
デフォルトの名無しさん[sage]   投稿日:2015/05/11 06:08:25  ID:pEYHs+HR.net(2)
>696
ありがとうございます。

次にdetail.phpの書き方ですが、
select from whereで書くとありますが、どのように書けばいいでしょうか?
コメント1件

698
デフォルトの名無しさん[sage]   投稿日:2015/05/11 07:32:09  ID:gSMAj2w3.net
やっぱ答えたら駄目なやつだったよ

699
デフォルトの名無しさん[sage]   投稿日:2015/05/11 08:13:48  ID:oRNChqV7.net(4)
もう上司に聞けでいいだろう。
なんのレクチャーも無いというのも聞いても時間が合わないというのも信じがたい。
本当にそうなら職場の責任だから担当とかじゃなく偉い人に堂々と聞けばいい。
スキル詐称して入社したんじゃなけりゃありえんよ。

そういう職場に入って入門書すら買わないというのもどうかと思うが。

700
デフォルトの名無しさん[sage]   投稿日:2015/05/11 08:30:58  ID:0bwE6yMo.net
くだらねぇ質問にも及んでない。

701
デフォルトの名無しさん[sage]   投稿日:2015/05/11 11:28:07  ID:gNcmvm54.net
他言語でWebシステム構築経験者のPHP入門は、オライリーのプログラミングPHPでおk?
パーフェクトPHPはもう古いのかな
コメント2件

702
デフォルトの名無しさん[]   投稿日:2015/05/11 15:33:14  ID:5R23B0V0.net
>697
一つ一つ聞かずに、まず一通り学んでみて。
その上で、書いてある通りやったけど駄目だった
って聞いてみて。

http://codezine.jp/article/detail/4473
会員登録が必要だけど参考になるかな

703
デフォルトの名無しさん[sage]   投稿日:2015/05/11 15:43:03  ID:cxSKig/O.net
>701
他言語の経験者なら割と容易に習得できる言語だと思うよ

704
デフォルトの名無しさん[sage]   投稿日:2015/05/11 19:35:33  ID:/EY7yyUc.net
>701
多少古いのは否めないがパーフェクトPHPに一票

705
デフォルトの名無しさん[sage]   投稿日:2015/05/11 21:59:12  ID:hW43GQvw.net
知識が断片的過ぎる

本ぐらい買って読みなさいよ

ゲームとかならすぐ金出すんでそ?

706
デフォルトの名無しさん[sage]   投稿日:2015/05/11 23:43:35  ID:0DBOnMdV.net
本家と、stack overflowとcodexとcakephpのtutorialとかで十分だろ

707
デフォルトの名無しさん[sage]   投稿日:2015/05/12 03:46:22  ID:XWfrzLl1.net(2)
そうなんだよね。
OS使うのも本買ったほうが分かりやすいし。
なんだかんだ体系的に学べるのは利点だな

708
デフォルトの名無しさん[sage]   投稿日:2015/05/12 11:37:12  ID:sejXMx92.net(3)
linuxにだって山程、初心者向けのtutorialあるだろが
コメント1件

709
デフォルトの名無しさん[sage]   投稿日:2015/05/12 20:54:44  ID:icc0PmJx.net
>708
初心者向けのチュートリアルは見たことないなぁ
初心者が書いたチュートリアルモドキなら
掃いて捨てるほどあるけど

710
デフォルトの名無しさん[sage]   投稿日:2015/05/12 21:22:05  ID:sejXMx92.net(3)
http://www.ee.surrey.ac.uk/Teaching/Unix/
はぁ?linux tutorialで一番上に出てくるだろ
コメント3件

711
デフォルトの名無しさん[sage]   投稿日:2015/05/12 21:24:01  ID:sejXMx92.net(3)
おまえは、manや/usr/share/docすら見たことないんだろうな

712
デフォルトの名無しさん[sage]   投稿日:2015/05/12 22:56:32  ID:XWfrzLl1.net(2)
linuxはいくらでもドキュメントあるから困らん
どうしても困ったらソースも読めるわけだし

713
デフォルトの名無しさん[sage]   投稿日:2015/05/13 00:35:07  ID:tj2XXHnt.net
php弄ってるヤツらlinuxのソースなんて読むわけないだろ
良くてもcakephpかwordpressのバグをfixするぐらい

714
デフォルトの名無しさん[sage]   投稿日:2015/05/13 02:50:03  ID:HRWLG218.net
なぜそう決め付けるのか理解に苦しむ。
自分自身がそうであるからという基準でしか見ることができなくなってるのかな。

715
デフォルトの名無しさん[sage]   投稿日:2015/05/13 03:52:32  ID:xdY7g3Br.net
ID出てるから単発でしか突っかかってこないんだなw

716
デフォルトの名無しさん[sage]   投稿日:2015/05/13 22:00:29  ID:NgVHOpPE.net
>710
これ、イマイチじゃね?

717
デフォルトの名無しさん[sage]   投稿日:2015/05/14 03:10:30  ID:W711bNAF.net
Cの授業の準備段階としてやってもらう程度の内容かな。
1コマ目がこれで、2コマ目はエディタの基本操作でも教えるんじゃない?

718
デフォルトの名無しさん[sage]   投稿日:2015/05/14 13:19:07  ID:iz5duSo7.net
>710
初心者が書いたチュートリアルモドキ の良いサンプルだね。
コメント1件

719
デフォルトの名無しさん[sage]   投稿日:2015/05/15 11:39:10  ID:YfmCR69l.net
>718
必要な資料は自分で探せカス
コメント1件

720
デフォルトの名無しさん[sage]   投稿日:2015/05/15 14:10:49  ID:aYoiMiFy.net(3)
>719
>710に言ってやれ。

721
デフォルトの名無しさん[]   投稿日:2015/05/15 16:05:10  ID:aYoiMiFy.net(3)
文法チェックで不正な変数をはじく方法ある?
function hoge(){
 $piyo->unko();
}
これをエラーと見抜いてほしい
コメント1件

722
デフォルトの名無しさん[sage]   投稿日:2015/05/15 17:06:07  ID:XFrVDM0g.net
>721
> 文法チェックで不正な変数をはじく方法ある?
断言はできないけど、多分ないと思う。
ちなみに、Phalanger(https://phalanger.codeplex.com/)ならと思って試してみたが、
コンパイルではエラーは検出されなかった。
コメント1件

723
デフォルトの名無しさん[sage]   投稿日:2015/05/15 21:25:03  ID:aYoiMiFy.net(3)
>722
ありがとう

この程度のポカミスなら、できることなら
テストコードを書く前に気付きたいんだよな

724
デフォルトの名無しさん[sage]   投稿日:2015/05/16 03:59:05  ID:fXloEdfu.net
健全でない言葉が含まれているため表示しません 内容を確認する

725
デフォルトの名無しさん[sage]   投稿日:2015/05/16 08:21:10  ID:uvSP2ukl.net
いつにもまして煽りが下手になってるけど何かあったの?

726
デフォルトの名無しさん[sage]   投稿日:2015/05/16 09:34:03  ID:IeMY8Qzy.net
PHPはプログラムの基礎もわかってないド素人が触っても大体似たり寄ったりのコードが作れるからな
誰が書いてもさほど変わらないコードが量産されていく、クソ言語だろこれ。
コメント3件

727
デフォルトの名無しさん[sage]   投稿日:2015/05/16 12:42:56  ID:qMXDpux9.net
それは究極の言語では?>だれが書いても同じコードになる

728
デフォルトの名無しさん[sage]   投稿日:2015/05/16 18:45:25  ID:2unSLM4N.net
だれが書いても同じコードになるって最高だな
コーディング規約すらいらない最強言語だったか

729
デフォルトの名無しさん[sage]   投稿日:2015/05/16 20:44:09  ID:ZJDdRqxh.net
>726
「PHP」を「日本語」に置き換えてみそ。

730
デフォルトの名無しさん[sage]   投稿日:2015/05/17 03:41:22  ID:JFSZ0UWx.net
誰が書いても同じコードになるは間違い
どんな初心者でもコード書いたら同じ動きをするが正解

731
デフォルトの名無しさん[sage]   投稿日:2015/05/17 07:41:10  ID:N7mUBV2Z.net
Webprog板から出てきたと思ったら単発ww

732
デフォルトの名無しさん[sage]   投稿日:2015/05/17 10:54:29  ID:ONGBQsYQ.net
どんなクソコードを書いても許される
これは趣味で書くには有難いぞ
perlよりずっと気楽に書ける

733
デフォルトの名無しさん[sage]   投稿日:2015/05/17 11:10:03  ID:LKO/92Vj.net
>726
>>誰が書いてもさほど変わらないコード

Pythonのことか?

『Pythonでは多くのユーザによって書かれた同一の仕事をするプログラムは、
だいたいどれも同じようなコードに収束する。』
http://ja.wikipedia.org/wiki/Python

734
デフォルトの名無しさん[sage]   投稿日:2015/05/17 14:28:16  ID:rJ7+9T5q.net
PHPは人によってコード違う部類の方だな

735
デフォルトの名無しさん[sage]   投稿日:2015/05/17 15:43:03  ID:CzRQDZeG.net
>726の世界では論理的帰結として、725は糞コードを量産してるわけか。
まあ、がんばれ。

736
デフォルトの名無しさん[sage]   投稿日:2015/05/17 21:53:32  ID:YJLG5+oq.net
Rubyに比べればPHPは人によっての差が少ないほうかもしれない

737
デフォルトの名無しさん[sage]   投稿日:2015/05/18 12:13:44  ID:NlgV+Pgh.net(3)
コードが違ってくる箇所としてはどんなとこが多いんだろ?

連想配列の入れ方なんかは大きい要因じゃない気がするな
arr[a][b]→arr[b][a]とか
if文連発・if-returnで分岐減らす・switch
関数の作り方(引数に無駄なものがあるかとか)
コメント1件

738
デフォルトの名無しさん[sage]   投稿日:2015/05/18 14:43:26  ID:fsW0cWx4.net(3)
まあ、そういうのは他の言語でも同じ

PHPは、class何それの人と、最新技術使う人らとの差が大きすぎる

739
デフォルトの名無しさん[sage]   投稿日:2015/05/18 14:54:14  ID:NlgV+Pgh.net(3)
最新技術ってどういうこと?
フレームワーク使ってたらそりゃ違うソースになって当たり前だろうけど

740
デフォルトの名無しさん[sage]   投稿日:2015/05/18 14:58:37  ID:05C/IAfg.net
最新技術ってどんなの?
バージョンアップされる度に何か追加されてんの?

741
デフォルトの名無しさん[sage]   投稿日:2015/05/18 15:00:50  ID:LJ5lzNye.net
同じ目的のために色々方法はある上に、
オブジェクト指向的な要素が最初からあるものと後から追加されたものじゃ
そりゃ差が出るっしょ。

742
デフォルトの名無しさん[sage]   投稿日:2015/05/18 15:29:46  ID:fsW0cWx4.net(3)
な、PHPの言語自体の機能が増えてるの知らない人がいるんだよ

743
デフォルトの名無しさん[sage]   投稿日:2015/05/18 15:41:28  ID:NlgV+Pgh.net(3)
増えてることは知ってても増えた内容知らない人は普通じゃないか?
といっても、ソースが大幅に変わるような内容はないでしょ。
言語機能を最新技術というのは何か違うと思う。

744
デフォルトの名無しさん[]   投稿日:2015/05/18 15:49:44  ID:hcu+yNsD.net(2)
ある変数が文字列か数値かを知る方法ってある?

たとえば、$a=123; $b="123"; とあるとき $a===$b は偽だけど
このときに $aが「数値」で$bが「文字列」だというのをログに吐きたい。

745
デフォルトの名無しさん[sage]   投稿日:2015/05/18 15:50:45  ID:hcu+yNsD.net(2)
gettype()使えばいいんですね。 ありがとうございました。

746
デフォルトの名無しさん[sage]   投稿日:2015/05/18 16:27:35  ID:fsW0cWx4.net(3)
まあ、環境が古いままの人が多いのもPHP
いまだに $v = array('1','2') な人もいるでしょ

747
デフォルトの名無しさん[sage]   投稿日:2015/05/18 16:30:42  ID:WxtKXoiM.net
確か5.2と5.3が多いんじゃないかな

748
デフォルトの名無しさん[sage]   投稿日:2015/05/18 21:25:10  ID:dqU8r2pT.net(2)
>737
普通設計の話になると思うが、なぜそんな枝葉末節から始まるのか
コメント1件

749
デフォルトの名無しさん[sage]   投稿日:2015/05/18 21:53:19  ID:M5tSLFsj.net
class何それは、さすがに無いだろうけど
エラー処理に例外使ってないとか、
ジェネレータ、名前空間何それは十分有り得るよね。

750
デフォルトの名無しさん[sage]   投稿日:2015/05/18 21:57:37  ID:GE/vKBW3.net
$this->
$this->
$this->
$this->
$this->

751
デフォルトの名無しさん[sage]   投稿日:2015/05/18 22:18:46  ID:vI2H8fDe.net
>748
設計が決まっているところからの実装の違いの話だからじゃね?
設計の違いまで含めたら同じことやるコードだろうと似たようなものに収束するなんて話は無いだろ。
コメント2件

752
デフォルトの名無しさん[sage]   投稿日:2015/05/18 22:30:58  ID:puNFPU+7.net
c++みたいにごった煮になってて
まあいいんじゃないっすかね

753
デフォルトの名無しさん[sage]   投稿日:2015/05/18 23:17:30  ID:ZqIMXwl7.net
5.6までの機能には触れてはいるけど、コード書くと5.2で動くのが出来上がるんだよなぁ。
便利になっているのは確かだが特に積極的に採用するようなものでもないという。
PHP7ではさすがに過去のもの切り捨てたスタイルに変えようと思うけど。

754
デフォルトの名無しさん[sage]   投稿日:2015/05/18 23:32:59  ID:AnePxwCu.net
「最新機能の採用」と「コードの品質」には、それほど相関は無いんじゃね。

755
デフォルトの名無しさん[sage]   投稿日:2015/05/18 23:50:54  ID:dqU8r2pT.net(2)
>751
要件定義が同じでも設計が異なることなんていくらでもあるように思うんだけど、同じになるの?
コメント1件

756
デフォルトの名無しさん[sage]   投稿日:2015/05/19 00:18:01  ID:H38JoFSc.net(2)
>755
そう言ってるんだが

757
デフォルトの名無しさん[sage]   投稿日:2015/05/19 12:37:21  ID:N+AyWRZk.net
まじかよすげえ
コメント1件

758
デフォルトの名無しさん[sage]   投稿日:2015/05/19 13:54:20  ID:kkxdp1Ko.net
>757
そのすごい状態が とりあえずの理想だよ
実際にはそこにたどり着けないので トラブルがある

759
デフォルトの名無しさん[sage]   投稿日:2015/05/19 13:55:59  ID:CgqCKJNS.net
建て増しにつぐ建て増しだからな。
いろいろ無理がある。

760
デフォルトの名無しさん[sage]   投稿日:2015/05/19 15:04:52  ID:H38JoFSc.net(2)
回答はしょりすぎた
>751 では同じことするにも設計なんて色々あると言ってる
そこを一緒にしなければ実装の違いなんて比べられないでしょと

761
デフォルトの名無しさん[]   投稿日:2015/05/27 08:19:37  ID:A8cyjd7P.net
半月後の日時を取得したいのですが、
strtotime()ではどのような記述にしたらいいですか?
もし出来ないのであれば違う方法を教えてくださいm(_ _)m
コメント1件

762
デフォルトの名無しさん[sage]   投稿日:2015/05/27 08:22:46  ID:RnsHGaMt.net
半月の定義について聞こうか
単純に15日なのか
そうでない場合月をまたぐ場合はどうするのかとか

763
デフォルトの名無しさん[sage]   投稿日:2015/05/27 13:06:36  ID:Tt3K3vlc.net
いつもの学生の課題丸投げかと思ったら PHPスレだった…

764
デフォルトの名無しさん[sage]   投稿日:2015/05/27 15:26:48  ID:SOZj9WGY.net

765
デフォルトの名無しさん[]   投稿日:2015/05/29 22:36:40  ID:6as2IH6X.net
PHPDocで、戻り値がないことを明示的に書くときは どうしたらいい?
@return 書かないだけだと、書き忘れと区別つかんし。

766
デフォルトの名無しさん[sage]   投稿日:2015/05/29 23:22:11  ID:9jHPFz3S.net
@return null じゃだめなん?

767
デフォルトの名無しさん[sage]   投稿日:2015/05/29 23:27:44  ID:3oguv8SC.net
基本的に書き忘れるなよとしか言いようがない
書くべきじゃないがどうしても書きたきゃvoidにしときゃいいんじゃね
フォーマット違反でも結局見る側がわかればいい問題だし
コメント1件

768
デフォルトの名無しさん[sage]   投稿日:2015/05/30 01:11:45  ID:c2c+lsoh.net
>767
書き忘れと区別付けたいんだよね。

769
デフォルトの名無しさん[sage]   投稿日:2015/06/01 12:21:15  ID:jClPxdDj.net
# return

770
デフォルトの名無しさん[sega]   投稿日:2015/06/02 15:18:01  ID:fJ3eeBtW.net(3)
自分自身のクラスは self でも参照できる
ってのは、マニュアルのどこに書いてありますか?

なんかどこを読んでも、そういう前提でマニュアル書いてあるんだけど
自分自身はselfだってことがどこにも書いてないんだよな
コメント1件

771
デフォルトの名無しさん[sage]   投稿日:2015/06/02 15:31:48  ID:JpMYfsQK.net

772
デフォルトの名無しさん[sage]   投稿日:2015/06/02 15:48:27  ID:fJ3eeBtW.net(3)
>771
オー! サンキューベリーマッチ

773
デフォルトの名無しさん[]   投稿日:2015/06/02 20:35:59  ID:7VRhULmj.net
うっひょ〜!PHP最高!

774
デフォルトの名無しさん[sage]   投稿日:2015/06/02 21:30:11  ID:ruRnIKMr.net
Symfonyがわからなすぎて辛い
日本語ドキュメントもほとんどないし…

775
デフォルトの名無しさん[sage]   投稿日:2015/06/02 21:35:16  ID:38iTpmow.net
でも代わりになる良いフレームワークが無い
コメント1件

776
デフォルトの名無しさん[sage]   投稿日:2015/06/02 22:24:24  ID:OtbaiMpw.net(2)
laravelって流行ってるの?

777
デフォルトの名無しさん[sage]   投稿日:2015/06/02 22:50:28  ID:fJ3eeBtW.net(3)
>775
FuelPHP いいよ
導入コストはゼロに近い

778
デフォルトの名無しさん[sage]   投稿日:2015/06/02 22:57:26  ID:dwjHRJAm.net
laravel重いからやだ

779
デフォルトの名無しさん[sage]   投稿日:2015/06/02 23:10:54  ID:n6IbB7yL.net(2)
SymfonyのようなフルスタックなMVCフレームワークは頑張ってやっといたほうがいいぞ
他で応用がきくからな
おかげでPlayもすんなり使えたぜー

780
デフォルトの名無しさん[sage]   投稿日:2015/06/02 23:27:46  ID:OtbaiMpw.net(2)
cakephpぐらいしか入門者向けのtutorialなくね?

781
デフォルトの名無しさん[sage]   投稿日:2015/06/02 23:58:49  ID:n6IbB7yL.net(2)
http://docs.symfony.gr.jp/
一応あるっちゃあるんだけどな
完璧に使いこなせなくてもいいから
とりあえず使ってみることが大事だぜー

782
デフォルトの名無しさん[sage]   投稿日:2015/06/03 00:43:03  ID:TkXokWHH.net
ASP.NET MVC使ったらZendFramework使いたくなくなるのは伏せておくとして、
他のよりはいいと思うが。

783
デフォルトの名無しさん[sage]   投稿日:2015/06/03 18:21:53  ID:CFPmUN8f.net
テンプレート使いたいけどfuelと一緒に使うならtwigかsmartyの2つの他に何かある?
コメント1件

784
デフォルトの名無しさん[sage]   投稿日:2015/06/04 01:04:06  ID:FZpfA7xp.net
twig ってどう言うの? 使いやすい?

785
デフォルトの名無しさん[sage]   投稿日:2015/06/05 00:36:24  ID:vgtnI7Mx.net

786
デフォルトの名無しさん[sage]   投稿日:2015/06/05 15:38:50  ID:aaRdZOdi.net
composerにデフォルトでtwig,haml指定されてるのか

787
デフォルトの名無しさん[]   投稿日:2015/06/05 15:48:01  ID:H2M0ctpc.net
debug_backtrace で返される連想配列の途中で
'file' が無いところがあったんだけど、ナンデ?

ファイルの存在しないところからのアクセス?

788
デフォルトの名無しさん[sage]   投稿日:2015/06/05 17:50:21  ID:Mh91SRqR.net
symfonyのpersistがよくわからない

789
デフォルトの名無しさん[sage]   投稿日:2015/06/06 06:26:00  ID:D7JiD14y.net
フレームワークよりsubversionとかの使い方がよくわからない
一人ならいらないかもしれんけどせっかくだから使ってみたいよね
コメント2件

790
デフォルトの名無しさん[sage]   投稿日:2015/06/06 08:13:38  ID:wzCXSsbY.net(2)
〜がわからないって書き込みみると質問というより独り言に見えてならない

ソーシャル日記アプリみたいな感覚なのかな?
コメント1件

791
デフォルトの名無しさん[sage]   投稿日:2015/06/06 09:07:33  ID:KMNvqcU5.net
>789
動いたバージョンに何時でも戻せるという安心感は、個人でも有効。
特に学習中は、勘違いして色んな意味で間違ったコードで埋めがちだし。
仕事で本格的に使うようになる前の練習くらいのつもりて良いと思うよ。

792
デフォルトの名無しさん[sage]   投稿日:2015/06/06 18:08:34  ID:zuUc75X6.net
>790
2chなんて「品のいい便所の落書き」だろ
何書いたっていいのさ

793
デフォルトの名無しさん[sage]   投稿日:2015/06/06 19:38:20  ID:KXeoVawS.net
>789
一人でも要る。

794
デフォルトの名無しさん[sage]   投稿日:2015/06/06 19:51:46  ID:wzCXSsbY.net(2)
一人だけどGit立て、redmineもついでに立てた

バックアップやメモ代わりには大げさ過ぎる気もするが

795
デフォルトの名無しさん[sage]   投稿日:2015/06/07 20:45:19  ID:ovV6qflK.net
メーリングリストに加入したいけどメールがこない
手動なの?遅すぎるよ

796
デフォルトの名無しさん[]   投稿日:2015/06/08 23:26:18  ID:73KDW0i2.net
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.5
【連携ソフトウェア】xampp(MySQL、Apach) Codeigniter3.0
【質問内容】
Codeigniterのセッション利用で質問です。
下記の構成で画面を作っているのですが、Codeignierのエラーログが
吐かれてしまい対処に困っています。

【処理内容】
CI_controllerクラスを継承したMy_controllerクラスから
loginクラスを作成し、そこで最初のログイン認証後にセッションを
書き込んでいます。
セッションに書き込んだ後に他のページにリダイレクトさせていますが
そこでセッションを参照するとemptyとなって旨く処理ができません。
セッション書き込み処理のあとすぐvar_dumpしたところ書き込みはできているようでした。
設定はautoload.phpのlibraryでsessionを自動読み込みしています。
そこで、色々いじくってみてphp.iniのsession.auto_startを1(ON)に
してみたところセッションの読み取りは出来ましたが
今度はCodeignierのログに「session.auto_startが有効になっています、
中断してください」といったメッセージが出力されるようになってしまいました。
ユーザガイドのセッションの項にはphp.iniに関する記述がないのですが
どのように対処するのが適切なのでしょうか?
旨くかけていないかもしれませんがよろしくお願いします。
コメント1件

797
デフォルトの名無しさん[sage]   投稿日:2015/06/08 23:52:37  ID:pbk/+Kp9.net(2)
一片のコードすら出てこないのな
コメント1件

798
デフォルトの名無しさん[sage]   投稿日:2015/06/08 23:53:58  ID:pbk/+Kp9.net(2)
書き込んでしまった。
これ読んで、そのように使ってるかどうか確認してみたら。
http://www.codeigniter.com/user_guide/libraries/sessions.html

799
デフォルトの名無しさん[sage]   投稿日:2015/06/09 00:00:36  ID:rzPPp0B+.net
>797
すいません、、
職場でちょっと触ってて家帰って頭捻ってたとこでしてコード見れません。
頂いたUrl見てみます。

800
片山博文MZ ◆T6xkBnTXz7B0 [sage]   投稿日:2015/06/09 12:05:41  ID:9rDHYdk2.net
PHPで作った体液取引所の人気が出ない。。。

http://katahiromz.esy.es/taieki/
https://github.com/katahiromz/taieki

なんかいい方法ないかなああああああ

801
デフォルトの名無しさん[sage]   投稿日:2015/06/10 16:30:07  ID:JjE8Vgth.net(2)
PHPExcelを使うことになって、作者には大変感謝するが、セル"B8"を取得するのに
> getCellByColumnAndRow(1, 8)
はひどいよ。
VBAだとCells(8, 2)。
"A1"がgetCellByColumnAndRow(0, 1)ってどういうことだよ・・・。
コメント1件

802
デフォルトの名無しさん[sage]   投稿日:2015/06/10 17:47:10  ID:o1tFouS8.net
>801
VBAと同じになるようにクラス作れ
コメント1件

803
デフォルトの名無しさん[sage]   投稿日:2015/06/10 18:35:55  ID:JjE8Vgth.net(2)
>802
そんなに使う昨日多くなかったから、ラッパーメソッドいくつか書いてお茶を濁した。
ほかもいろいろ酷かった。

セルの背景色設定が、
$sheet->getStyle("A1")
    ->getFill()
    ->setFillType(PHPExcel_Style_Fill::FILL_SOLID)
    ->getStartColor()
    ->setARGB($argb);

セルに対角線を引くのが
$sheet->getStyle("A1")
    ->getBorders()
    ->setDiagonalDirection(PHPExcel_Style_Borders::DIAGONAL_UP)
    ->getDiagonal()
    ->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

みたいな感じ。

804
デフォルトの名無しさん[sage]   投稿日:2015/06/11 03:53:34  ID:ABeq3ksD.net
これはひどい

805
デフォルトの名無しさん[sage]   投稿日:2015/06/11 12:08:06  ID:dLC9LZnf.net
>796
質問の聞き方が悪すぎる
session関係の設定がわからないしcodeigniterの設定もわからないのにこちらが聞き返さないと行けない

806
デフォルトの名無しさん[sage]   投稿日:2015/06/15 16:32:23  ID:ks4U7BG0.net
またまたまたまたyohgaki氏がしょうもない記事を書いてる。

ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション
http://blog.ohgaki.net/input-validation-disables-most-injection-atta...

この人なんでバリデーションにこうもこだわるかね。

SQLインジェクション対策なら、第一に上げるべきはプリペアードステートメントでしょうが。
コメント2件

807
デフォルトの名無しさん[sage]   投稿日:2015/06/16 02:17:57  ID:VrtJnVQC.net
まあ溢れんばかりの情熱は感じるから、これはこれで。

808
デフォルトの名無しさん[sage]   投稿日:2015/06/16 14:34:25  ID:8MBTn3Q1.net
>806
また大垣か
何もしないよりはマシだけど、こういう間違ったセキュリティ対策を勧めてもし何かあった場合こいつ責任取れんのかな?

809
デフォルトの名無しさん[sage]   投稿日:2015/06/16 17:03:13  ID:1ZpIz9bG.net(3)
これはこれでとか、何もしないよりはとか、本気かね。
このレスには>806も戸惑いを隠せないだろう。
コメント1件

810
デフォルトの名無しさん[sage]   投稿日:2015/06/16 17:53:26  ID:a7UeLNF9.net(2)
これ間違ってるの?
これじゃ対策できないの?
コメント1件

811
デフォルトの名無しさん[sage]   投稿日:2015/06/16 18:12:09  ID:sXGSd9sk.net(4)
>810
yohgakiという人が、Webアプリのコードを書いてるのか、メジャーどころのFWの事情なんかを
知ってるのか、それを使ってるのか不明だが、上のURLみたいなコードを書いてるとしたら、
もう全然ダメ。

まねしてはいけない。

812
デフォルトの名無しさん[sage]   投稿日:2015/06/16 18:23:04  ID:TqJAvMYM.net(2)
具体的に何が駄目なの?
コメント1件

813
デフォルトの名無しさん[sage]   投稿日:2015/06/16 18:33:03  ID:sXGSd9sk.net(4)
>812
あのコードが「ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション」に
なってるかどうかも判断できないのなら、もっと本読め。
コメント3件

814
デフォルトの名無しさん[sage]   投稿日:2015/06/16 18:34:09  ID:gqnH2dL3.net(2)
>813
お前に理解力と説明力が無いことは良く分かった。
コメント1件

815
デフォルトの名無しさん[sage]   投稿日:2015/06/16 18:36:34  ID:sXGSd9sk.net(4)
仮に「ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション」を実現する
コードが書けたとしても、それは「ほぼ全て」でしかないんだよ。

816
デフォルトの名無しさん[sage]   投稿日:2015/06/16 18:37:41  ID:sXGSd9sk.net(4)
>814
あ、そう来る?

じゃ、大垣氏の考えを全面的に受け入れて、今後もコードを書いてけばいいよ。
大垣氏は書籍も出してるから、全部買って読めばいいさ。
コメント1件

817
デフォルトの名無しさん[sage]   投稿日:2015/06/16 18:43:20  ID:gqnH2dL3.net(2)
>816
そうくる? じゃねーよw
具体的に例を挙げて説明してみろよw
それも出来ないようじゃお前こそ大垣以下だろw

818
デフォルトの名無しさん[sage]   投稿日:2015/06/16 18:53:58  ID:TqJAvMYM.net(2)
>813
いや、だからそれがわからないから聞いてるんだけどw

具体的に何が駄目なの?って
コメント1件

819
デフォルトの名無しさん[sage]   投稿日:2015/06/16 18:59:20  ID:VNwjpJ1t.net(2)
アレって、お前の言うSQLインジェクション等の確実な対策の前段階の
入力に対するエラーを出すための処置だろ

アレで対策を行なうんだと思った方がおかしいんだよ
もっとも、俺もこいつ嫌いだがな。
そもそも、開発中だの仕様変更で開発速度だの言ってるくだりが意味が分からん
最後に、くれぐれもこの緩い入力バリデーション関数で運用に入らないようお願いします
って書いてるんだぞ お前は何がしたいんだ

820
デフォルトの名無しさん[sage]   投稿日:2015/06/16 19:24:49  ID:1ZpIz9bG.net(3)
>818
横からだけど、
・適切に処理しなければ問題が発生する文字がある
 →ならそれらの文字を除外すればよい
という対応をしているわけだけれど、それが本末転倒だと思えるかどうかじゃないかな。

Webサーバを公開していたら攻撃されたので80ポートふさぎました。これで攻撃されません。
この対策はある意味では正しいけど、本末転倒だし根本的に間違えているでしょ。
コメント1件

821
デフォルトの名無しさん[sage]   投稿日:2015/06/16 19:27:22  ID:1ZpIz9bG.net(3)
ついでにいうと、彼の方針に従うとしたとしてもバグがあるので、
彼が除外すべきだとしている一部の記号を入力できてしまう。

そういう意味でも、駄目だね。

822
デフォルトの名無しさん[sage]   投稿日:2015/06/16 19:43:29  ID:VNwjpJ1t.net(2)
0-Zが面白い

823
デフォルトの名無しさん[sage]   投稿日:2015/06/16 21:31:42  ID:ZuUbQivG.net
0-Zは、0-9A-Zの間違いだろうね。
その他に、バリデーションとしてどこがダメなの?
コメント2件

824
デフォルトの名無しさん[sage]   投稿日:2015/06/16 22:08:13  ID:JwGJ9FW7.net
ほぼ全てのインジェクションって書いてるじゃん
インジェクション攻撃はSQLだけにあらず

825
デフォルトの名無しさん[sage]   投稿日:2015/06/16 22:44:11  ID:+xig3h/n.net(3)
>823
横から口挟むけど、インジェクション対策をしようとしてのバリデーションて話なら、その発想がどこかナナメだということじゃないの?
例えばHTMLエディタを作りましょうって場合に、悪用可能な文字は全部除外してしまえ!とか無理でしょ。
インジェクション対策は、例えどんな文字列が来ようとSQLとか外部コマンド、ユーザーサイドへ出力するHTML、JS、CSS、etc. を混乱させない処理を施すこと(適切なエスケープ、サニタイジング)が基本でしょ。
もちろん目的に敵わない入力を予め除外するというのは前処理として決して的外れではないんだけど、それは本質じゃないってことだ。

そんな当たり前のところで食い下がるって、もしかして本人?
コメント2件

826
デフォルトの名無しさん[sage]   投稿日:2015/06/16 22:54:56  ID:MQvvbfkJ.net(3)
>823
まず>829が書いているように、省いている文字を入れたいのに入れられない。
あとバイナリデータ入れたい場合これだとどうしようもない。

書いているバリデーションの質としてどうこうはこの際どうでもよくて、「SQLインジェクション対策」を目的としているから根本的にダメなんだよ。

827
デフォルトの名無しさん[sage]   投稿日:2015/06/16 22:55:59  ID:a7UeLNF9.net(2)
>813からすると、あのコードではほぼ全ての無効化はできていない、と判断できるのだけど、
0-Zみたいなバグは置いといて、何がまずいの?
仮にあれだけの文字除外して大丈夫なシステムだったら採用してOKなの?

>825の基本は十分分かってるけど、そもそも色んな言語に分けて対応しなくていいなら楽でしょ
コメント2件

828
デフォルトの名無しさん[sage]   投稿日:2015/06/16 22:56:54  ID:MQvvbfkJ.net(3)
間違い。>829じゃなくて>820

829
デフォルトの名無しさん[sage]   投稿日:2015/06/16 23:07:26  ID:MQvvbfkJ.net(3)
>827
> 仮にあれだけの文字除外して大丈夫なシステムだったら採用してOKなの?
改行と記号と空白を除外するシステムって自分は見たことないんですが……。

> >825の基本は十分分かってるけど、そもそも色んな言語に分けて対応しなくていいなら楽でしょ
それだったらプリペアードステートメントのほうが間違いなく楽なんですが……。
コメント2件

830
デフォルトの名無しさん[sage]   投稿日:2015/06/16 23:07:32  ID:+xig3h/n.net(3)
>827
バリデーションですり抜ける直接的な文字でインジェクションできなくても、その文字列が直接使われない場所でなら悪用できるかもよ。
メジャーな処理として挙げるわけじゃないが、何かのキーをBASE64で変換してフォームとやりとりしてて、SQLにはそれをデコードしたものを含めてるとか。
だいたい悪用しようとする側からすれば、サーバサイドへ何かを入力する経路はGETやPOSTだけじゃなくCOOKIEだってあるわけで、フォームの項目だけバリデーションすればいいような話はひいき目に見てもミスリード。
対策はそのデータの利用場面に合わせてしか行えない。
だから基本だと言ってるし、それが本質。

831
デフォルトの名無しさん[sage]   投稿日:2015/06/16 23:31:47  ID:96Zh/lJj.net
「ほぼ全てのインジェクション攻撃を・・・」っていうタイトルだけど、
本来は個別に対策すべきで、「ほぼ全ての・・・」っていう
包括的なバリデーション関数を作ること自体がナンセンスってことなの?
コメント1件

832
デフォルトの名無しさん[sage]   投稿日:2015/06/16 23:41:57  ID:+xig3h/n.net(3)
>831
ほぼ全て云々はおれの主張することじゃないんで見解だけ言えば、バリデーションで全てのケースに対応できるわけないんだからバリデーションでインジェクション対策をするという発想そのものが誤り、かな。
そもそも何故それをバリデーションでやりたいの?って話だよ。
それだけやっとけば後は特別なことをする必要がない包括的な手段として目を付けたということなんだろうけど、それが成立するのは全てのケースに対応できる場合だけ。
それができないというんだから、その方法には特別な価値は無いということだよ。
コメント1件

833
デフォルトの名無しさん[sage]   投稿日:2015/06/16 23:44:05  ID:a/iHLN7R.net
欠陥だらけのシステム作ってもらわないとお仕事なくなっちゃう><

834
デフォルトの名無しさん[sage]   投稿日:2015/06/17 00:03:10  ID:LiGG8CES.net
>832
なるほど。「バリデーション」と「インジェクション対策」は別のフェーズと考えるべきなのか。
そういう考え方だと、「ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション」
っていうのはフェーズを混同させるものとも言えるね。
コメント1件

835
デフォルトの名無しさん[sage]   投稿日:2015/06/17 00:24:54  ID:qOETCbZk.net
そういうこと。
しかも、他の人も書いてるけどプリペアドステートメントみたいなずっといい方法があるんだから、それを活用した方がいい。

ただ、包括的に処理できればなぁとは思う。
SQLの場合はこの方法、sh使うならこの方法、HTMLに埋めるならこの方法と、やり方がばらばらだしやるべき場面も知っている必要があるからね。
変数のtypeを拡張して、単なる文字列なのか、HTMLとしても文字列なのかのような属性を持たせて、型違いになる値の埋め込み時には自動キャストよろしく勝手に適切な処理がされるとか。
言うほど簡単な話じゃないけど。

836
デフォルトの名無しさん[sage]   投稿日:2015/06/17 09:59:54  ID:DHqA5koz.net
>834
> そういう考え方だと、「ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション」
> っていうのはフェーズを混同させるものとも言えるね。
そう。

そして、yohgakiは意識的にか無意識か知らないけどずっと前(2008年あたり?)からそういう論調で、
自分が万人に受け入れられるまでは続けると思うよ。

837
デフォルトの名無しさん[sage]   投稿日:2015/06/17 10:32:14  ID:k/UmS/Z+.net
次の記事見ればコイツのスタンスは分かる

つーか、いちいちコイツがなんか書いたからってわざわざ報告しなくていいから

838
デフォルトの名無しさん[sage]   投稿日:2015/06/17 12:39:47  ID:RAu2/XiI.net(2)
まぁインジェクション対策云々はおいといて入力バリデーションは重要だけど
フィルタリングである程度想定してないデータを弾くのはいいことだ

839
デフォルトの名無しさん[sage]   投稿日:2015/06/17 12:46:54  ID:Y2jbb8HB.net
そもそも多重防御がセキュリティの基本だからね。

840
デフォルトの名無しさん[sage]   投稿日:2015/06/17 21:56:23  ID:jnKm6Y3Z.net
$tweetid = (int)$_GET['tweetid'];
$query = "SELECT * FROM tweets WHERE tweetid=$tweetid;";

みたいに、入れるものが明らかに安全なときはプリペア使わないことがあるけどだめ?
コメント5件

841
片山博文MZ ◆T6xkBnTXz7B0 [sage]   投稿日:2015/06/17 21:59:08  ID:/OO8ry8l.net
>840
馬鹿が危険なコードに書き換える可能性アリ

842
デフォルトの名無しさん[sage]   投稿日:2015/06/17 22:15:53  ID:RAu2/XiI.net(2)
>840
そんなのは普通

843
デフォルトの名無しさん[sage]   投稿日:2015/06/17 23:54:41  ID:nOv8plof.net
>840
Getの値があきらかに安全だという
根拠を知りたい(´・ω・)

844
デフォルトの名無しさん[sage]   投稿日:2015/06/18 00:34:26  ID:KbwadcNI.net
intにキャストしてんじゃん
変なのきてても0になるだけ

845
デフォルトの名無しさん[sage]   投稿日:2015/06/18 10:55:58  ID:yMgp6kaJ.net
>840
それはそれでいいかもしれない。
ただ数値型はAという処理、文字列はBという処理みたいに、内容に応じてクエリを作るとミスが起きる可能性がある。
その点プリペアドステートメントはどのパターンでも統一した書き方ができるので、結果ミスが起き辛くなる。

846
デフォルトの名無しさん[sage]   投稿日:2015/06/18 12:54:06  ID:d3F4/2GH.net
>840
RDBMSにもよるが、プリペアードクエリは、SQLインジェクション対策以外にも
実行計画をキャッシュできるというメリットがある。

847
デフォルトの名無しさん[sage]   投稿日:2015/06/18 16:01:25  ID:spIyrXEm.net
Debian7・Nginx・php5-fpmの環境でcrontabを使ってphpファイルを自動実行したいのですが、www-dataユーザーで実行したい場合は以下の方法で良いのでしょうか?

crontab -u www-data -e



0 15 * * * cd /var/www/html php -f ./auto.php


php -f ではなくphp5 -fにした方がいいのではないかと悩んでいます。

848
デフォルトの名無しさん[sage]   投稿日:2015/06/18 16:57:43  ID:kNpEqESr.net
複数バージョンのインストールした場合みたいな話は
サーバー次第なので聞かれても分からんよ
cdコマンドの後 普通は ;じゃね?

つーかPHPかんけーねー

849
デフォルトの名無しさん[sage]   投稿日:2015/06/24 21:08:45  ID:sYzOe4hn.net(2)
質問です。スレチだったらすみません。
Youtubeの動画をDLするスクリプトを書いてたのですが、ものによって低画質だったり高画質だったりします。
高画質でDLするにはどうすればいいでしょうか。
コメント3件

850
デフォルトの名無しさん[sage]   投稿日:2015/06/24 21:39:02  ID:ix5XSndE.net
>849
先にコード貼れよ
どういうコードかによってアドバイス変わるだろ

851
デフォルトの名無しさん[sage]   投稿日:2015/06/24 21:50:20  ID:dh/bI8tC.net
違法ちゃいますのん

852
デフォルトの名無しさん[sage]   投稿日:2015/06/24 23:07:30  ID:XZ6zUxBq.net
元々低画質なだけだろ

853
デフォルトの名無しさん[sage]   投稿日:2015/06/24 23:57:01  ID:sYzOe4hn.net(2)
ビットレートが明らかに低く音質、画質ともに最悪です。
やり方は同じなので、品質のばらつきはコードとは別に問題があると思い質問しました。

854
デフォルトの名無しさん[sage]   投稿日:2015/06/25 03:19:00  ID:Wi36vyFt.net
>849
お察しのとおりスレチだよ。PHP関係ないもの。

855
デフォルトの名無しさん[sage]   投稿日:2015/06/25 04:38:30  ID:chffdwA+.net
>849
やり方は知ってるよ
でもスレチだから答えてあげない

856
デフォルトの名無しさん[sage]   投稿日:2015/06/25 07:52:20  ID:iAgotMUN.net
失礼しました。 他の板で質問し直します。

857
デフォルトの名無しさん[sage]   投稿日:2015/06/26 13:58:00  ID:LOLHSmOB.net(2)
以前PhpStormのスレがあった気がしたんだがどこ行っちゃったかね
無いようなら立ててもいいかな?

858
デフォルトの名無しさん[sage]   投稿日:2015/06/26 14:17:52  ID:OdrCnoN5.net
この板はプログラムを作る人のための板です。

あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。

その他、お勉強ページへのリンクスレ、
推薦図書・必読書スレ
もあります。

プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。

859
デフォルトの名無しさん[sage]   投稿日:2015/06/26 18:05:08  ID:LOLHSmOB.net(2)
PhpStormでさ、定数の定義値をマウスオーバーでポップアップさせたいんだけど
どうしたらいいかな
CTRL+SHIT+ でポップアップできるけど、いちいちキー打ちゅの面倒くさい

860
デフォルトの名無しさん[sage]   投稿日:2015/06/26 18:36:39  ID:o1Df+09Z.net
キーを打つ時間がほとんどなのに

861
デフォルトの名無しさん[sage]   投稿日:2015/06/27 19:15:35  ID:XTIsa2U8.net
PhpStormでさ、ボタンアイコンとかの上にマウスカーソル乗せたときに
ツールチップヒントが出るけど、この出るまでの時間がちょっと長くて
これを短くするにはどうしたらいいかな

862
デフォルトの名無しさん[]   投稿日:2015/06/28 13:48:24  ID:5m9gZHLm.net(2)
switch文のインデントで、case文をhalf indentにしてるんだけど
これって俺だけ?

if( $unko ){
    exit(0);
}
switch( $chinko ){
  case USED:
    do();
    break;
  default:
    die();
}
みたいな感じ
コメント1件

863
デフォルトの名無しさん[sage]   投稿日:2015/06/28 14:31:25  ID:ztXjEmUK.net

864
デフォルトの名無しさん[]   投稿日:2015/06/28 15:40:16  ID:5m9gZHLm.net(2)
>863
おお! いるのか。

PhpStormとかEclipseとかは こういうインデントに対応してないから
switch文だけ毎回微調整しなきゃならなくて 面倒くさいんだよな

865
デフォルトの名無しさん[sage]   投稿日:2015/06/28 15:54:18  ID:YBvq0FDq.net
そのインデントやめれば?w

866
デフォルトの名無しさん[sage]   投稿日:2015/06/28 20:49:02  ID:RSiHFvOo.net
おれも前はインデントしてたけど、ラベルの親戚だと考えればインデントしない方がいいという結論に至った

867
デフォルトの名無しさん[sage]   投稿日:2015/06/29 07:19:44  ID:GUCtyGAa.net
質問です。
また大垣がやらかしたようですが、
自分は脆弱性のあるプログラムしか書けないくせに、
バリデーションはセキュリティ(キリッ)とか言っちゃてて恥ずかしくないのでしょうか?

868
デフォルトの名無しさん[sage]   投稿日:2015/06/29 12:29:31  ID:eS8mn29W.net
その大垣って有名な人なの?

869
デフォルトの名無しさん[sage]   投稿日:2015/06/29 14:03:59  ID:dI4zlbgu.net
徳丸と大垣はお互いにあいつは話のわからんやつだと思い合う関係。
どっちにつくのも自由だよ
コメント1件

870
デフォルトの名無しさん[]   投稿日:2015/06/29 14:42:09  ID:teFqna/9.net
PDOでエラーになったときに例外が出るのと出ないのがあるんだけど
どこで区別されるの?

insert時に重複してると例外がでるけど
これエラーで済ませないかな

871
デフォルトの名無しさん[sage]   投稿日:2015/06/29 17:19:26  ID:k48kibIU.net
PDO::ATTR_ERRMODE の話?
どっちにしてもトランザクション中なら続きできない気がするが

872
デフォルトの名無しさん[sage]   投稿日:2015/06/29 17:41:24  ID:nWtxw8xH.net
test

873
デフォルトの名無しさん[sage]   投稿日:2015/06/30 06:37:05  ID:+pw4+xSb.net(3)
>869
いや全然違う
CSRFも理解しておらず、この間はテストすらしてないバグのあるコードを公開してた
大垣にセキュリティを語る資格はない
コメント1件

874
デフォルトの名無しさん[sage]   投稿日:2015/06/30 12:26:30  ID:htUHD13i.net(2)
>873
話がかみ合ってない
コメント1件

875
デフォルトの名無しさん[sage]   投稿日:2015/06/30 12:39:27  ID:f9Xenhmh.net
ポインタがずれてますよ

876
デフォルトの名無しさん[sage]   投稿日:2015/06/30 12:57:40  ID:+pw4+xSb.net(3)
>874
会話の土台にすら立ててないってこと
デタラメなセキュリティ情報を発信する奴につくのは見当違いな発言だろ
コメント1件

877
デフォルトの名無しさん[sage]   投稿日:2015/06/30 13:01:17  ID:htUHD13i.net(2)
>876
別におかしなやつについていこうがなにしようが自由でしょ。ばかだなぁとは思うけど。
ちな>809は俺な

878
デフォルトの名無しさん[sage]   投稿日:2015/06/30 15:57:44  ID:yGbQd19m.net(2)
徳丸disな記事を丸々削除して、同じURLで別の記事を登録した模様。
http://blog.ohgaki.net/criticism-for-my-sample-program

削除した記事には、こんなこと書いてたのに。

> 徳丸さんのブログでの全く間違った指摘に対するコメント ...
> blog.ohgaki.net/wrong-criticism-for-my-sample-program
> 4 時間前 - 徳丸さんとは論理的に議論をする余地がないので、議論をするつもりは全くありません。
> しかし、完全に間違った指摘をされているのでコメントしておきます。 問題のブログはこちらです。
> 書籍『Webアプリケーションセキュリティ対策入門』のCSRF ...
コメント1件

879
デフォルトの名無しさん[sage]   投稿日:2015/06/30 16:01:05  ID:yGbQd19m.net(2)
おっと、
http://blog.ohgaki.net/wrong-criticism-for-my-sample-program
の内容を丸ごと置き換えて、同じ内容を
http://blog.ohgaki.net/criticism-for-my-sample-program
でも公開してる。
なんだこれ。

880
デフォルトの名無しさん[sage]   投稿日:2015/06/30 16:17:02  ID:+pw4+xSb.net(3)
>878
これは酷い
けど、ようやく間違いを認めたようだね


検証した人のわかりやすいまとめもあるから反面教師にしよう

書籍『Webアプリケーションセキュリティ対策入門』のCSRF脆弱性について追試してみた
http://blog.a-way-out.net/blog/2015/06/30/web-app-security-bbs-csrf/

こっちは徳丸
書籍『Webアプリケーションセキュリティ対策入門』のCSRF脆弱性
http://blog.tokumaru.org/2015/06/webcsrf.html

881
デフォルトの名無しさん[sage]   投稿日:2015/06/30 19:44:44  ID:6xoEPUUH.net
せめて くだらない質問スレ にあったこと書け
そんなのはお前の名前だした上で別のとこでやれ

882
デフォルトの名無しさん[]   投稿日:2015/06/30 21:20:00  ID:TGfi4m1b.net
private とか public とかの修飾って、なんて呼べばいいの?
公開属性?

883
デフォルトの名無しさん[sage]   投稿日:2015/06/30 22:18:02  ID:Ni6S0TpV.net
アクセス修飾子

884
デフォルトの名無しさん[sage]   投稿日:2015/07/01 00:39:36  ID:O0L9W844.net
smartyのテンプレート内で配列の定義が出来なくて
ドロップダウン作るのがすごく不便なんですがなんとかなりませんかね

885
デフォルトの名無しさん[sage]   投稿日:2015/07/01 02:53:09  ID:jhXB2ucL.net
配列をアサインできないのっぴきならない理由があるとしても、最悪PHPのコードかけるわけだけども。

886
デフォルトの名無しさん[sage]   投稿日:2015/07/01 10:49:41  ID:Gv9F9Dvy.net
PHP関係ない愚痴を書くのやめてくれませんかねぇ

887
デフォルトの名無しさん[sage]   投稿日:2015/07/01 11:35:50  ID:7SCeZZlO.net
PHP関連の話だろ・・・
質問も上に出てる


888
デフォルトの名無しさん[]   投稿日:2015/07/02 17:13:07  ID:udBxYDkn.net
PhpStormでさ、@param に 参照だよ、とか、戻り値用だよ、とかを
書き留めておきたいんだけど、どうすればいい?

889
デフォルトの名無しさん[sage]   投稿日:2015/07/02 20:28:22  ID:u9YxqP+S.net
doxygenならin out指定もできたんだけどね。
phpdocのときは変数名でわかるようにしたりしたよ。
コメント1件

890
デフォルトの名無しさん[sage]   投稿日:2015/07/02 22:59:52  ID:Ji+WLvKO.net
インフラエンジニアで上にのせるエンジニアの気持ちを知るためにPHPを覚えたい。
だが作りたいものが無いので取っ掛かりがつかめないんだがどうしたらいいだろう。
コメント1件

891
片山博文MZ ◆T6xkBnTXz7B0 []   投稿日:2015/07/02 23:05:58  ID:4xu5S6Hj.net
>890
クラウドとAjaxで掲示板のウェブパーツを作ってくれ。

892
デフォルトの名無しさん[sage]   投稿日:2015/07/03 13:38:24  ID:nz2GsR+p.net(3)
htmlのヘッダーで定義した変数の存在期間っていつまでなのかな?
例えばページ読み込んで1秒後にjavascriptを使ってphpの変数の値を取りたい時とか、変数の値はまだ保持できてるの?

893
デフォルトの名無しさん[sage]   投稿日:2015/07/03 14:16:31  ID:3rp9Mnby.net
サーバとクライアント、HTMLとPHPとjavascriptの生存場所等、把握してる?
コメント1件

894
デフォルトの名無しさん[sage]   投稿日:2015/07/03 14:24:32  ID:nz2GsR+p.net(3)
>893
サーバとクライアントは把握している
phpはサーバー側で処理されるんだろう
例えばjsで作った変数はクライアント側で保持されるけど、phpの変数保持期限ってのはよくわかってない
生存場所はどっかのメモリに保持される、ぐらいの曖昧なレベルしか想像出来ていない
コメント1件

895
デフォルトの名無しさん[sage]   投稿日:2015/07/03 14:49:09  ID:HsGlHAzd.net
>894
PHPの変数なんだからphpが生きてる場所生きてる間だけが有効範囲。
つまりそのままではサーバ上のPHPスクリプト内でしか参照できないし、クライアント(ブラウザ)へ出力し終えたら跡形もなく居なくなる。
PHPが持っていた変数の値をクライアントのJSで参照したいなら、クライアントへ送り返す出力へJSソースコードの形なんかで含めておく。

んまあその調子だとサンプルが無いと理解できなそうだね。
残念ながら今サンプルは提供できないけど。
コメント1件

896
デフォルトの名無しさん[sage]   投稿日:2015/07/03 14:58:13  ID:nz2GsR+p.net(3)
>895
ありがとう、理解出来たよ

>クライアント(ブラウザ)へ出力し終えたら跡形もなく居なくなる。
これが知りたかった

897
デフォルトの名無しさん[sage]   投稿日:2015/07/03 21:50:02  ID:7d9NxVxw.net
>889
ありがとう
PHPDocって意外とかゆいところに手が届かないよね

898
デフォルトの名無しさん[sage]   投稿日:2015/07/04 10:41:36  ID:tBngPXwX.net(6)
VS2013でオンラインのツールをキーワード PHP で検索すると
 VS.Php for Visual Studio
 PHP Tools for Visual Studio
 PHP Language Support
の3つが出てくるのですが、どれがお勧めですか?
3つ全部入れるとおかしくなりますか?
使ったことある人、それぞれの特徴など教えてくれよ

899
デフォルトの名無しさん[sage]   投稿日:2015/07/04 11:10:15  ID:cUUS545T.net(2)
PHP Tools for Visual Studio一択


上は有料 下はハイライト表示できるだけ
コメント1件

900
デフォルトの名無しさん[sage]   投稿日:2015/07/04 11:21:57  ID:tBngPXwX.net(6)
>899
レス有り難うございます。
この二番目のやつ、昔は無料板が有ったようですが、今は無さそうなんでが、私の勘違いですか?この会社のHP見てもfree版を見つけられません。
コメント1件

901
デフォルトの名無しさん[sage]   投稿日:2015/07/04 12:27:38  ID:cUUS545T.net(2)
>900
払わないと機能は限られるけど無料で使い続けられる
コメント1件

902
デフォルトの名無しさん[]   投稿日:2015/07/04 13:09:36  ID:csloKTS+.net
PhpStormでさ、ライセンスを読んでも良く分からないんだけど
デスクトップPCとノートPCの両方にインストールして使っていいの?

903
デフォルトの名無しさん[sage]   投稿日:2015/07/04 14:12:51  ID:tBngPXwX.net(6)
>901
なるほど、そういうことですか。
ありがとうございます。
やはりVSでPHPやる人は、これを購入しているのでしょうか?

904
デフォルトの名無しさん[sage]   投稿日:2015/07/04 14:46:48  ID:ZF0hC5cM.net(2)
VS自体が少ない気が

PHPならnetbeansやeclipse、はたまた慣れたエディタで良さそうな気が

905
デフォルトの名無しさん[sage]   投稿日:2015/07/04 15:49:05  ID:3cpiwj5J.net
ライセンスはどちらかにしか適用されない

906
デフォルトの名無しさん[sage]   投稿日:2015/07/04 18:03:00  ID:vQN4X51O.net
初歩的な質問で申し訳ないです。
VSのphpツールを使えば、phpスクリプトをexeファイルに転換することは出来ますか。

907
897[sage]   投稿日:2015/07/04 18:26:21  ID:tBngPXwX.net(6)
VS2013に
 PHP Tools for Visual Studio
 php-5.6.10-Win32-VC11-x64
入れてPHPが動くところまでは出来たのですが(echoで文字出力)、
https://pear.php.net/manual/ja/package.http.http-request.intro.php
にある
yahoo.com の内容を取得し、 それを表示する

<?php
require_once "HTTP/Request.php";

$req =& new HTTP_Request("http://www.yahoo.com/";);
if (!PEAR::isError($req->sendRequest())) {
  echo $req->getResponseBody();
}
?>


 Class 'PEAR' not found
が出て解消出来ません。どのあたりをチェックすれば良いでしょうか?
コメント1件

908
デフォルトの名無しさん[sage]   投稿日:2015/07/04 18:38:08  ID:qSwrJLUr.net
>907
Class 'PEAR' not found
↑このあたりをチェックしてください

あと、VS2013にphpを入れたって言うのやめよう。
あなたのPCにVS2013とPHPを入れたに過ぎない。

909
デフォルトの名無しさん[sage]   投稿日:2015/07/04 19:54:39  ID:v523Fn+n.net(2)
今時HTTP_Requestなんて使わない
せめてHTTP_Request2を使ってください
PEARなんて使わんでもcURLでことたりる
クッキーとかリファラーとかいらないサイトならfile_get_contentsだけでいい

と余計なおせっかいをしてみる

910
897[sage]   投稿日:2015/07/04 20:13:59  ID:tBngPXwX.net(6)
今までC++などの経験はあり、WEBプログラミングを最近始めてVS2013のメニューの
  新しいWEBサイト
   ASP.NET空のWebサイト
でプロジェクトを作成してhtmlやJavaScript練習しました。
サーバーサイドにも挑戦したくてPHPとPHP Tools for Visual Studioを入れて、現在
906のサンプルの実行で行き詰っています。

基本的な質問なのですが、現在はlocalhost相手にデバッグしていますが、このlocallhostは
 1. PHP built-in Web Server
 2. IIS Express server
 3. Custom web server
の三つから選択できるのですが、現状1.でやっています。でもPHPを入れただけでは足らないライブラリみたいなの
が沢山あるようで、そのたびに、ダウンロードしてインストールしなくてはならないようなのですが、
(例えば908さん推薦のHTTP_Request2など)、それだったら、Xamppを入れてそれを使えばAll-In-Oneらしいので、
追加で何だかんだ入れる手間が省けると思うのですが、Xampp使う方針のほうが良いでしょうか?

911
デフォルトの名無しさん[sage]   投稿日:2015/07/04 21:04:16  ID:v523Fn+n.net(2)
自分が入れてるのは4年前のxamppだから最近のは知らないけど、
windows版xamppのphpはよく使うpeclとかに必要なdllが揃っていて、
php.iniで有効にするだけですぐ使える状態になるのも多いが、
pearはコアしか入ってないような気がする。
結局必要なものは都度インストールしないといけないと思うよ。
go-pearでパッケージマネージャ入れて、
php pearcmd.php install HTTP_Request2
とかやれば関連パッケージも勝手にやってくれるし。

912
デフォルトの名無しさん[sage]   投稿日:2015/07/04 21:15:52  ID:ku1TVvdF.net
ライブラリはcomposerで

913
デフォルトの名無しさん[sage]   投稿日:2015/07/04 21:20:13  ID:ZF0hC5cM.net(2)
なんだかんだwindowsでOSSもの扱うのは割りと面倒くさいな

ビルド環境整えられる人は実質限られてる

914
897[sage]   投稿日:2015/07/04 21:29:51  ID:tBngPXwX.net(6)
ちなみに皆さん、自宅にテスト環境など構築されていますか?
参考までにどういう構成か教えてください。
コメント2件

915
デフォルトの名無しさん[sage]   投稿日:2015/07/04 22:59:15  ID:ifL9jFAi.net
>914
仮想でCentOS入れて擬似的な環境を構築してる。
理由はWindowsとLinuxだと挙動が異なる部分があるから。
コメント1件

916
デフォルトの名無しさん[sage]   投稿日:2015/07/05 00:22:14  ID:4t+47Ntn.net
テスト兼本番環境はCentOS Apache OpenSSL PHP5.6 MySQL Postfixぐらいかな。
開発はWindowsでそっちにはPHP5.4とApacheぐらいしか入ってないけど。
OpenSSLはhttps使うためで、PHPでOpenSSL関数使ってどうこうするとかそういう目的で入れてるわけではない。
DBは最近はSQLite使ってるしMySQLは全然使ってない。
実際はPHPMailerみたいなSMTPとPOP3実装してるスクリプト使って、外部のメールサーバ使ってるから、
Postfixは機能してない。踏み台にされない自信がついてから使う予定。
追加インストールやモジュールを有効化させる必要があるものとしては、GD memcached cURL等いっぱいある。
PEARは使わない方針。

917
デフォルトの名無しさん[sage]   投稿日:2015/07/05 03:02:00  ID:+z9nj1c8.net(2)
>914
>915と同じで、仮想マシンにLinux入れてる

918
デフォルトの名無しさん[sage]   投稿日:2015/07/05 07:12:11  ID:3yF620GD.net(2)
普段javaしているのでPHPのコンパイルエラーないのとか変数型ないのとか怖いんですがどうすればミスを防げるんですか?
とりあえず間違って代入しないように全部の変数名を型名_変数名にしてるんですが一般的ではないですよね?
コメント3件

919
デフォルトの名無しさん[sage]   投稿日:2015/07/05 08:24:26  ID:Uqe8BPso.net
>918
なんかいろいろ心配と勘違いしてるな

920
デフォルトの名無しさん[sage]   投稿日:2015/07/05 09:11:30  ID:wLc26Ae+.net
半端な知識だと不安しか生まないよな

921
デフォルトの名無しさん[sage]   投稿日:2015/07/05 12:36:43  ID:yHORgw3K.net(2)
>918
第一に、型の自動変換をよく理解する。
第二に、必要に応じ明示的にキャストする。
第三に、ユニットテストで確認する。

922
デフォルトの名無しさん[sage]   投稿日:2015/07/05 12:40:09  ID:yHORgw3K.net(2)
ついでに言うと、変数名を型名_変数名としても
自動変換された型の値が入ることもあるのであまり意味がない。

923
デフォルトの名無しさん[sage]   投稿日:2015/07/05 15:46:48  ID:3yF620GD.net(2)
自動変換は分かります。文字列"1"で計算をする時は関数を使わないといけないのも分かります。
ただミスが心配で・・・
構文エラーを見つけてくれるツールみたいなのありませんか?
コメント2件

924
デフォルトの名無しさん[sage]   投稿日:2015/07/05 15:48:10  ID:+z9nj1c8.net(2)
>918
変数名から型が類推できない状況があまりないように思うけど、たまにはあるのかな

925
デフォルトの名無しさん[sage]   投稿日:2015/07/05 16:09:08  ID:VORGGaSF.net
>923
う〜(・ω・`)

926
デフォルトの名無しさん[sage]   投稿日:2015/07/06 01:20:56  ID:Kti+i7Kd.net(2)
>923
Javaっつったら普通Eclipseあたり使うと思うんだけど
メモ帳とかで開発してたわけ?
コメント2件

927
デフォルトの名無しさん[sage]   投稿日:2015/07/06 01:26:59  ID:1HLVIjn9.net(7)
>926
Eclipse使うとPHPの構文エラー見つけてくれるの?
コメント1件

928
デフォルトの名無しさん[sage]   投稿日:2015/07/06 01:31:02  ID:KV2IR53H.net
phpEditor使っとけ

929
デフォルトの名無しさん[sage]   投稿日:2015/07/06 01:39:37  ID:Kti+i7Kd.net(2)
>927
IDE使ったことないのかよ・・・
コメント1件

930
デフォルトの名無しさん[sage]   投稿日:2015/07/06 02:10:38  ID:1HLVIjn9.net(7)
>929
あるよ。
PHPの型の不一致も見つけてくれるの?
コメント1件

931
デフォルトの名無しさん[sage]   投稿日:2015/07/06 02:22:19  ID:i5+ZC+xx.net
>930
Eclipseではそこまで見てくれない
PhpStormなら見つけてくれる
コメント1件

932
デフォルトの名無しさん[sage]   投稿日:2015/07/06 03:42:51  ID:iuaD/3wt.net(6)
暗黙の変換をするPHPの型の不一致はパースエラーじゃないしな
===使えっていう話になるし
コメント1件

933
デフォルトの名無しさん[sage]   投稿日:2015/07/06 04:42:41  ID:1HLVIjn9.net(7)
>932
じゃあタイプヒンティングなんていらないね。
つーか、なんかかたくなすぎないか?

934
デフォルトの名無しさん[sage]   投稿日:2015/07/06 04:50:53  ID:iuaD/3wt.net(6)
かたくなって?
タイプヒンティングは暗黙の変換じゃないじゃん
それはもちろんパースエラーになるに決まってる

935
デフォルトの名無しさん[sage]   投稿日:2015/07/06 04:52:57  ID:1HLVIjn9.net(7)
なぜ暗黙の型変換の話に限定して進めたのかがわからん。
パースエラーって、実行前にEclipse上でエラーを検知してくれるということ?
コメント1件

936
デフォルトの名無しさん[sage]   投稿日:2015/07/06 05:10:25  ID:iuaD/3wt.net(6)
>935
Eclipseってひとくくりにしても実行前にエラー検知してくれるかはプラグインによるでしょ
Java入れてないからEclipseなんて使えんし知らんよ
わざわざ型指定してんならさすがに出してくれるだろ
ていうか無料なんだからPDTあたりで試してみろよ

937
デフォルトの名無しさん[sage]   投稿日:2015/07/06 05:33:44  ID:1HLVIjn9.net(7)
> Java入れてないからEclipseなんて使えんし知らんよ
なのに > それはもちろんパースエラーになるに決まってる
なんて書いたの?

> わざわざ型指定してんならさすがに出してくれるだろ
ふぅん
コメント1件

938
デフォルトの名無しさん[sage]   投稿日:2015/07/06 05:38:19  ID:iuaD/3wt.net(6)
>937
俺はPHPインタプリタの話をしてたんだがな
Eclipseの話なんてした覚えはねーよ
コメント1件

939
デフォルトの名無しさん[sage]   投稿日:2015/07/06 06:05:01  ID:1HLVIjn9.net(7)
>938
じゃあ実行時エラーの話に変わってるってことか。
元質問の意図を読めてないね。

940
デフォルトの名無しさん[sage]   投稿日:2015/07/06 06:08:21  ID:iuaD/3wt.net(6)
PHPにおいて型の不一致が構文エラーって言ってるから
それは違うだろうと言っただけなんだがな

941
デフォルトの名無しさん[sage]   投稿日:2015/07/06 06:13:19  ID:1HLVIjn9.net(7)
構文エラーじゃないだろっていっても、
> それはもちろんパースエラーになるに決まってる
んでしょ?
コメント1件

942
デフォルトの名無しさん[sage]   投稿日:2015/07/06 06:55:26  ID:iuaD/3wt.net(6)
型指定したい人がいるから妥協してそういう書き方もできるようにしたってだけで
型の不一致って曖昧な表現で型指定ありきで議論するのがそもそもナンセンスだからその辺理解してくれ

943
デフォルトの名無しさん[sage]   投稿日:2015/07/06 07:21:47  ID:ltVzluvD.net
function sum(int $a, int $b) : intとか、
function concat(string $a, string $b) : stringとか、引数や返り値にはできても、
int $a = 1;
string $b = "a";
とか、変数には出来ないのに、タイプヒンティングとか関係あるの?
$a+$bや$a.$bでエラーが出るようにしてくれって言ってるように思えるんだけど。

944
デフォルトの名無しさん[sage]   投稿日:2015/07/06 10:52:48  ID:jnmQ4lhD.net(2)
>941
PHPにおいてそれは構文エラーでもパースエラーでもないよ。
だからIDEで検出できるのは無いか、もしくは少ないだろうね。

945
デフォルトの名無しさん[sage]   投稿日:2015/07/06 12:21:26  ID:da/MN1a6.net
多分ね、案ずるより産むが易しだと思うの。
そんなチェック無くても困ることなんてほとんど無いよ。
ちゃんとテストすれば何の問題も無い。

946
デフォルトの名無しさん[sage]   投稿日:2015/07/06 14:03:52  ID:oXtXAYjB.net(3)
PhpStorm最近使い始めたけどチェック弱くない?
バルーン出たと思ったら全然関係なかったり
>931のテストコードがどういうのかはわからないけど
"abc"===trueやarray指定してるのにただの変数渡しても特に何も言わない
設定が悪いのかなんか入れないといけないのか見るところ間違ってるのかわからないけども
前回保存したコードいじってたらインデントがおかしくなったり
今のところ評価はNetbeansやEclipseより駄目な感じ
コメント1件

947
デフォルトの名無しさん[sage]   投稿日:2015/07/06 14:18:08  ID:jgWjPX/O.net(3)
>946
Netbeans ってPhpStormの無料版じゃないの?
コメント1件

948
デフォルトの名無しさん[sage]   投稿日:2015/07/06 14:25:36  ID:oXtXAYjB.net(3)
>947
それは初耳
フォークかなんか?
とりあえず開発してるグループは違うから別物だと思うけど
PhpStormに無料版があるならPhpStorm Free Editionとかになりそう
コメント1件

949
デフォルトの名無しさん[sage]   投稿日:2015/07/06 14:27:24  ID:oXtXAYjB.net(3)
あ、もしかして
Photoshopに対するGimpみたいなこと言いたかったのかな?
VSも含めてIDEは似てる部分いっぱいあるからね

950
デフォルトの名無しさん[sage]   投稿日:2015/07/06 16:16:12  ID:jgWjPX/O.net(3)
>948
完全な勘違いだった。 同じ会社が作ってると思ってたわ。
ねこび〜んかわいい。

951
デフォルトの名無しさん[sage]   投稿日:2015/07/06 16:17:17  ID:jgWjPX/O.net(3)
ねこび〜んだと 「引数の数が合ってない」 とかも検知してくれるのかな

952
デフォルトの名無しさん[sage]   投稿日:2015/07/06 17:07:27  ID:EWqBVBeG.net
>926
Eclipse使ってたけど構文エラー警告してくれない。
コメント1件

953
デフォルトの名無しさん[sage]   投稿日:2015/07/06 18:45:06  ID:swqGSHIc.net(3)
>952
vsでphpやる奴はいないのか?
猫ビーンのほうがいいのか?

954
デフォルトの名無しさん[sage]   投稿日:2015/07/06 20:27:43  ID:TRPzwZ1E.net
言語に応じて切り分けるのは当然だろう
VSでPHPやる事自体そもそもナンセンス
VSでJava書いたりCOBOL書いたりしてるようなもの
コメント2件

955
デフォルトの名無しさん[sage]   投稿日:2015/07/06 20:41:52  ID:swqGSHIc.net(3)
>954
vsでcobolやれるのかどうかは知らんが、vsでcobolやってる奴居ればそりゃ変だと俺も思う。
でもvsでphpやるのって、それ位変なのか?ここにはvsでphpやってる人、一人も居ないのか??教えてケレ!
コメント1件

956
デフォルトの名無しさん[sage]   投稿日:2015/07/06 20:49:24  ID:+DHCfnaN.net
情報が少ないからトラブったら大変だなーと思ってEclipseでやってるわ
元々Win畑で大半は.netだけどたまーにECCUBEカスタマイズとかの案件やるくらいだから
VS以上のIDEなんて存在しないんだけど情報少ないのはハマるとキツイ
コメント1件

957
デフォルトの名無しさん[sage]   投稿日:2015/07/06 21:02:13  ID:swqGSHIc.net(3)
>956
なるほど、そう言う事か。
phpと.net両方やっている人の意見は説得力有るな。参考になったよ、サンキュウ!

958
デフォルトの名無しさん[sage]   投稿日:2015/07/06 21:28:30  ID:SWoG0MmF.net(3)
VSは無料化したからこれからの主流になる

959
デフォルトの名無しさん[sage]   投稿日:2015/07/06 21:37:40  ID:3Nwo+Cbx.net
売り物作るのに無償版使ったらアカンよ?

960
デフォルトの名無しさん[sage]   投稿日:2015/07/06 21:43:05  ID:SWoG0MmF.net(3)
小規模(10人?)なら大丈夫なはずだが

961
デフォルトの名無しさん[sage]   投稿日:2015/07/06 21:44:39  ID:SWoG0MmF.net(3)
あっ売り物はダメなのね

962
デフォルトの名無しさん[sage]   投稿日:2015/07/06 23:19:17  ID:jnmQ4lhD.net(2)
Eclipse重くない?
昔使ってたけど即捨てた。で、色々試した結果結局SublimeTextに落ち着いた。
最近Atomが出たけどどうなんだろ?

963
デフォルトの名無しさん[sage]   投稿日:2015/07/07 01:01:39  ID:jrHiHLu0.net
>954
当然じゃない
慣れたIDEに統一したほうがいいしいくつもIDE入れるのは愚策
使えなかったら仕方なく他のを入れるぐらい
コメント1件

964
デフォルトの名無しさん[sage]   投稿日:2015/07/07 08:07:08  ID:GGpy3zJy.net
>963
いくら慣れ親しんでてもVSでPHPやるみたいに生産性落ちたら意味ないだろ
馬鹿か
コメント1件

965
デフォルトの名無しさん[sage]   投稿日:2015/07/07 08:17:23  ID:oR9xV2kd.net(3)
>964
VSでPHPやるとそんなに生産性悪いのか?俺は知らんが、も少し具体例を教えてくれよ。

966
デフォルトの名無しさん[sage]   投稿日:2015/07/07 08:38:07  ID:0GZbV0wX.net(2)
phpでIDE使ったこと無くてもっぱらテキストエディタでコーディングしてるけど、IDE使うとどんないい点があるの?
トレースしたりブレーク張ったりできれば便利だなと思うけど、そういうことはできるの?
コメント1件

967
デフォルトの名無しさん[sage]   投稿日:2015/07/07 08:41:54  ID:oR9xV2kd.net(3)
>トレースしたりブレーク張ったりできれば便利だなと思うけど、そういうことはできるの?
IDEって言えば最低限それ位の機能は必要だと思う。それが無いとエディタと変わらんし。
コメント1件

968
デフォルトの名無しさん[sage]   投稿日:2015/07/07 08:42:28  ID:9H83+G3x.net(2)
>955
VSでPHP、JS、C#書いてるけど、各言語オンリーだったらJS以外に使ってみたいのは有る。
ただ、個人でやるならまだしも、社外の応援頼んだり後輩教育の時にVSだと話が通りやすい。

969
デフォルトの名無しさん[sage]   投稿日:2015/07/07 08:46:18  ID:qmpX8CEE.net
IDEにだって学習コストかかるし全部切り分けてるやつは馬鹿と言わざるをえない
いくら言語に特化した優秀なIDEだって0からだとしばらくは生産性落ちるだろうよ
やり玉にあがってるVSでPHPだってそんな生産性落ちるってほどでもない

自分ならC#はVSだがその他のJS PHP Py JavaはEclipse使うわ

970
デフォルトの名無しさん[sage]   投稿日:2015/07/07 08:48:10  ID:9H83+G3x.net(2)
>966
今時のIDEはクラスライブラリの取込みが簡単になってるから、既存ライブラリで良い時に使ってる。

971
デフォルトの名無しさん[sage]   投稿日:2015/07/07 08:55:44  ID:0GZbV0wX.net(2)
>967,969
なるほど、やっぱりそれなりのことはできるのね。
でもそういうのって、デバッグ環境をターゲット環境にどう合わせるかが面倒そうだけど、
例えば httpd下で動くphpにも対応できるのかな。
ブラウザから何かをPOSTして、サーバサイドのphpにブレーク張ってステップ実行する、みたいな。
もしかするとIDEにhttpdまで入っちゃってたりするのかな。
それはそれでhttpdの設定の再現や互換性が気になるところ。

つべこべ言わずこれ触ってみろやってのはある?
コメント2件

972
デフォルトの名無しさん[sage]   投稿日:2015/07/07 09:51:11  ID:41wd3X8y.net
>971
ちょっとは触っとけ というのは確かにある。
おれはそれでsublimeとbracketsを切った。

973
デフォルトの名無しさん[sage]   投稿日:2015/07/07 13:39:05  ID:ws3V8sWI.net(3)
>971
IDEがどうこうの前に、xdebug使ってないってことか

974
ドラゴニア善財[]   投稿日:2015/07/07 18:20:16  ID:rvYvDGj8.net(2)
29歳引きこもりで家で暇つぶしにJAVAでゴミみたいなショピングサイト作ってたらなんかいける気がしてきて
勢いで就活したらPHP使うWEB系のブラックっぽい企業に内定もらった。

phpも実際の現場じゃオブジェクト指向にもとづいてみんなで開発してんの?一人でやってたから
まったくイメージがわかない。まずは営業成績管理するシステム開発する部署でスタートするんだけども。
コメント2件

975
デフォルトの名無しさん[sage]   投稿日:2015/07/07 18:33:43  ID:ws3V8sWI.net(3)
>974
とりあえず現場にあわせる。
ちゃんとしてるならそれでいいし、ひどいなら少しずつ改善提案。
それだけのことですよ。
コメント1件

976
ドラゴニア善財[]   投稿日:2015/07/07 21:08:04  ID:rvYvDGj8.net(2)
>975
ありがとう
一応オブジェクト指向で開発していくのが望ましいいんだね。
コメント1件

977
デフォルトの名無しさん[sage]   投稿日:2015/07/07 22:11:59  ID:oR9xV2kd.net(3)
>974
もし良ければそのショッピングサイト
どこ?教えてくれよ

978
デフォルトの名無しさん[sage]   投稿日:2015/07/07 22:41:27  ID:ws3V8sWI.net(3)
>976
今どきデザインパターン知らない人もいないだろうし、意識レベルを合わせやすいからね。
とにかく、独学でやってた人がチームに入る場合は、まず合わせること。
気に食わなかろうがなんだろうが、まずはそうすることが大事だよ。

979
デフォルトの名無しさん[sage]   投稿日:2015/07/08 04:17:30  ID:PAkk6Hqa.net
教えてケレ。
VSでclient sideのJavaScriptしか書いた事無いんだが、PHPでserver sideのデバッグする時ってclient side JSのデバッグも一緒に出来るの?

980
デフォルトの名無しさん[sage]   投稿日:2015/07/08 11:56:22  ID:ribTz8l0.net
教えてケレ。
PhpStormでクラス定数とかの上にマウスカーソルを乗せたときに
定義値をポップアップ表示してほしいんだけど、どうすれば出来るの?

981
デフォルトの名無しさん[sage]   投稿日:2015/07/08 19:31:14  ID:AmEp81Mb.net
php初心者なのですが、参考書には
DBのパスワードがかかれたソースファイルを
ルートより上位のディレクトリに置くように書かれていたのですが、これは、レンタルサーバで実現できるのでしょうか?
ロリポップではできませんでした。
レンタルサーバで、パスワードがかかれたソースファイルを隠すにはどのような手段が一般的なのでしょうか?
コメント2件

982
デフォルトの名無しさん[sage]   投稿日:2015/07/08 19:39:13  ID:Kxz7evxA.net
>981
非公開ディレクトリに置けばOK

983
デフォルトの名無しさん[sage]   投稿日:2015/07/08 22:19:04  ID:9IdXyS8m.net
>981
ロリポは、たしか公開領域しか使えないんだよね。
その場合、.htaccessでアクセス制限かけたディレクトリを使う方法がある。

根本的な解決として、公開領域の上に非公開領域がある
別のサーバーを使う方がおすすめ。

984
デフォルトの名無しさん[sage]   投稿日:2015/07/08 23:54:16  ID:zNFh4RYA.net
ホームディレクトリ以下全部公開ファイルなの?
ドットファイルは上位でアクセス制限されてるんだろうけど、不安で仕方ないね。

985
デフォルトの名無しさん[sage]   投稿日:2015/07/09 06:24:58  ID:CmA0FZny.net
PHP界では相変わらずDBはほぼMySQL一択状況なの?
コメント1件

986
デフォルトの名無しさん[sage]   投稿日:2015/07/09 10:41:14  ID:a973sKT/.net(2)
>985
PHPというか、rubyでもJavaでもWEB制作界ではMySQL一択だね
あとスケールしないことがわかってる小規模なところはSQLiteか
未だにPostgreSQL使ってるところはもうほぼ無いんじゃないかな
コメント2件

987
デフォルトの名無しさん[sage]   投稿日:2015/07/09 11:23:32  ID:SLWTmnwe.net(2)
>986
> 未だにPostgreSQL使ってるところはもうほぼ無いんじゃないかな
そうでもないと思うけど。

Which Technologies Do Startups Use? An Exploration of AngelList Data (07 Aug 2014)
http://codingvc.com/which-technologies-do-startups-use-an-explora...
コメント1件

988
デフォルトの名無しさん[sage]   投稿日:2015/07/09 11:26:19  ID:9ZnfqP+N.net
>986
ひろゆき「それはあなたの感想ですよね?」

989
デフォルトの名無しさん[sage]   投稿日:2015/07/09 11:34:11  ID:OqiP450p.net
 
(MariaDBってまだまだなの?)
コメント1件

990
デフォルトの名無しさん[sage]   投稿日:2015/07/09 11:56:15  ID:OtgBnuSy.net(2)
MsSQL Server (´;ω;`)
コメント1件

991
デフォルトの名無しさん[sage]   投稿日:2015/07/09 12:47:10  ID:SLWTmnwe.net(2)
>990
>987の調査は、対スタートアップのものだからね。
エンタープライズ向けの調査したら、MSSQLもかなり使われてる気がする。
コメント1件

992
デフォルトの名無しさん[sage]   投稿日:2015/07/09 13:10:21  ID:OtgBnuSy.net(2)
>991
無償版のExpress使ってる

993
デフォルトの名無しさん[sage]   投稿日:2015/07/09 13:51:02  ID:mMbg3FA2.net
>989
後発の新規DBMSと勘違いしてんのか、それともMySQLがまだまだだという前提に立ってるのか。

994
デフォルトの名無しさん[sage]   投稿日:2015/07/09 14:37:57  ID:g/ZifueO.net
MariaDBってMySQLと同義じゃないの

995
デフォルトの名無しさん[sage]   投稿日:2015/07/09 14:56:15  ID:FXD7F5LP.net
OracleにMySQLが買収されて、反発したコミュニティがForkしたのがMariaDB
だから中身は殆ど一緒
GoogleもMySQLは切り捨ててMariaDBに移行してる

996
デフォルトの名無しさん[]   投稿日:2015/07/09 16:04:30  ID:zI7Krizk.net
実装レベルで微妙な違いあるからね。
今後のサポート面ではmariaの方が良いかもしれない。
oracleはMySQLを葬り去ろうとしている気がする。

997
デフォルトの名無しさん[sage]   投稿日:2015/07/09 22:13:37  ID:a973sKT/.net(2)
MariaDBでもMySQLコマンドのままだしあんまり困らないしな

998
デフォルトの名無しさん[sage]   投稿日:2015/07/09 22:47:16  ID:7gcchy0Q.net
更新情報
・スレッド一覧ページで過去ログのタイトル検索・一覧表示ができるようになりました(2016/1/20)
NGワード登録
登録する
スレッド内検索

プログラム板 タイトル検索

このスレッドが人気です(実況系)
国会中継「参議院予算委員会質疑」★3 (770)NHK実況
実況 ◆ TBSテレビ 27353 江藤愛はひるおび!が無くても20時に寝て5時前後に起床 (330)TBS実況
実況 ◆ 日本テレビ 54689 (751)NTV実況
実況 ◆ テレビ朝日 47323 大下さんのがぶり寄り (133)テレ朝実況
実況 ◆ フジテレビ 82970 あまたとぅ (505)フジ実況
国会中継「参議院予算委員会質疑」★1 (1014)NHK実況
連続テレビ小説 べっぴんさん★245 (747)NHK実況
NHK総合を常に実況し続けるスレ 132231 スーパー主婦 (984)NHK実況
このスレッドが人気です(ニュース系)
【辻元氏今日会見】辻元清美氏に関する記述、民進「事実に反する虚偽」と否定 メディア各位に拡散しないよう要求★232 (1003)ニュー速+
【辻元氏今日会見】辻元清美氏に関する記述、民進「事実に反する虚偽」と否定 メディア各位に拡散しないよう要求★233 (212)ニュー速+
【辻元氏今日会見】辻元清美氏に関する記述、民進「事実に反する虚偽」と否定 メディア各位に拡散しないよう要求★231 (1000)ニュー速+
【辻元氏今日会見】辻元清美氏に関する記述、民進「事実に反する虚偽」と否定 メディア各位に拡散しないよう要求★230 (1000)ニュー速+
【辻元氏今日会見】辻元清美氏に関する記述、民進「事実に反する虚偽」と否定 メディア各位に拡散しないよう要求★229 (1000)ニュー速+
【辻元氏今日会見】辻元清美氏に関する記述、民進「事実に反する虚偽」と否定 メディア各位に拡散しないよう要求★228 (1000)ニュー速+
【森友学園】籠池氏、安倍昭恵夫人へ国有地契約で口利き依頼した経緯明かす 総理夫人付きの谷氏がFAXで「希望に添えない」と返信★58 (795)ニュー速+
【辻元氏今日会見】辻元清美氏に関する記述、民進「事実に反する虚偽」と否定 メディア各位に拡散しないよう要求★227 (1001)ニュー速+
プログラム板の人気スレ
オブジェクト指向って自然な文法だな 2 (416)
オブジェクト指向って不自然な文法だよな (1000)
【統計分析】機械学習・データマイニング14 (348)
Excel VBA 質問スレ Part47 (368)
くだすれPython(超初心者用) その32 (1001)
Visual Studio 2017 (831)
C言語なら俺に聞け 139 (576)
次世代言語議論スレ[Go Rust Haskell Scala]第3世代 (368)
C#, C♯, C#相談室 Part92 (726)
C++相談室 part129 (916)
推薦図書/必読書のためのスレッド 81 (579)
ふらっと C#,C♯,C#(初心者用) Part127 (134)
【PHP】下らねぇ質問はここに書き込みやがれ 8 (114)
Swift part10 (311)
ねねっちと一緒にプログラムを勉強するスレ第2話 (76)
Pythonのお勉強 Part52 (707)
Visual Studio 2015 Part8 (554)
Xamarin Part3 (656)
Git 15 (357)
Java入門・初心者質問スレ Part.2 (924)
HSP総合スレ【part 10】 [無断転載禁止](c)2ch.net (249)
クラス名・変数名に迷ったら書き込むスレ。Part27 (929)
☆★Java質問・相談スレッド179★★ (829)
ドルオタワイ、1からプログラミングを学びたい (130)
Ruby 初心者スレッド Part 59 (924)
プログラミング言語 Rust 2 (704)
関数型プログラミング言語Haskell Part30 (241)
このサイトについて
このサイトは2ちゃんねるからデータを取得し、表示するサービスです。
画像のインライン表示機能について
画像のURLの後ろにある[画像をインライン表示]をクリックすると、URLの下に表示します。
表示される画像は横幅100pxに縮小されていて、クリックすると原寸で表示します。
このサイトの特徴
1)スレッド内検索ができます
2)レス(「>>1」など)のポップアップができます
3)不適切な言葉を含む投稿を表示しません
4)ページ内で画像を直接表示できます
5)2ch他スレッドへのリンクはタイトル・板名つきでリンクします
6)すっきりとしたデザインで表示します
7)最新スレや前スレをチェック・一覧表示します
8)NGワード機能の搭載でイヤな言葉が目に入りません
9)荒らしを自動チェックします
10)スレッド内・同一IDの書き込みだけ表示できます
11)レスの返事をレスされた発言の下に表示する「まとめビュー」が利用できます
12)シリーズ化したスレッドの一覧を表示します
13)最新のスレッドがある場合はお知らせします
削除について
こちらをご覧ください
機能要望について
現在機能要望受付中です。
問い合わせについて
こちらのページからどうぞ
広告


首都圏の方、ソフトバンク光オススメですよ


このサイトは2ch.scからデータを取得・表示しています。削除などについてはこちらをご覧ください。 アクセスモード:差分取得 - 新着書き込みなし(304)