【PHP】下らねぇ質問はここに書き込みやがれ [転載禁止]©5ch.io
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
2014/12/16(火) 23:02:27.78ID:IVwNaeTxまず読むこと【PHPマニュアル】
http://www.php.net/manual/ja/
0002デフォルトの名無しさん
2014/12/16(火) 23:57:45.49ID:if+akcCT重複の糞スレ終了
0003デフォルトの名無しさん
2014/12/17(水) 00:23:17.60ID:oDlbLDL6【OS名】CentOS
【PHPのバージョン】5.5
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0004デフォルトの名無しさん
2014/12/17(水) 02:44:27.36ID:XucQiojd0005デフォルトの名無しさん
2014/12/17(水) 08:01:24.21ID:Q55Z/XYm糞スレ立てるなウジ虫
0006デフォルトの名無しさん
2014/12/17(水) 08:33:48.37ID:2HMoZql10007デフォルトの名無しさん
2014/12/17(水) 09:24:51.54ID:92SEZchH0008デフォルトの名無しさん
2014/12/17(水) 09:29:24.82ID:9gD1VcMA0009デフォルトの名無しさん
2014/12/17(水) 09:36:52.98ID:92SEZchHhttp://qiita.com/mpyw/items/1cb6fc8170b6a8c8eb04
こんなんばっかりだろPHPerってさ
一応http://www.japrpo.or.jp/には通報済みだけど削除されないものだな
0010デフォルトの名無しさん
2014/12/17(水) 09:55:03.92ID:VoUyzdqa質問スレでオナニー披露しないでいいから
0011デフォルトの名無しさん
2014/12/17(水) 10:24:51.50ID:nSozQxMf0012デフォルトの名無しさん
2014/12/17(水) 11:20:05.35ID:uBob9+nL0013デフォルトの名無しさん
2014/12/17(水) 11:22:53.68ID:YTfSGPhx0014デフォルトの名無しさん
2014/12/17(水) 11:47:06.25ID:VoUyzdqa0015デフォルトの名無しさん
2014/12/17(水) 12:16:50.99ID:eyin5x5c0016デフォルトの名無しさん
2014/12/17(水) 21:34:22.64ID:XucQiojd前もその人のURL貼られてたな。宣伝か何か?
0017デフォルトの名無しさん
2014/12/19(金) 10:29:57.08ID:WohFU2Cvhttp://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/
0018デフォルトの名無しさん
2014/12/19(金) 11:04:24.93ID:CgQyWAAG0019デフォルトの名無しさん
2014/12/19(金) 13:56:22.75ID:5dTMV7SU0020デフォルトの名無しさん
2014/12/20(土) 23:34:22.47ID:wxqr2k4chttp://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/
0021デフォルトの名無しさん
2014/12/21(日) 01:02:58.17ID:1EJiFivb0022デフォルトの名無しさん
2014/12/21(日) 01:39:44.90ID:t1x8P14SWebProgみたいに恥ずかしい連投しろよ?
0023デフォルトの名無しさん
2014/12/21(日) 10:29:32.06ID:a7slx30o何か理由があるのですか?
0024デフォルトの名無しさん
2014/12/21(日) 12:46:31.09ID:oet6k+Aq長くなりますが、最後まで読んでいただき、解決策を教えていただければと思います。
スレ違いかもしれないのも、厚かましいお願いであることも重々承知してますが、何卒みなさまのお力をお借りできればと思います。
スレ違いの場合は誘導していただけると助かります。
同じ質問をZenCart本家のBBS、そして日本のBBSにも投稿しました。
ただ日本のBBSは過疎ってますし、本家の方でも3年たっても解決されてません。
PHPが読める人にはなんてことない質問だと思うんですが、私にはどうやっても解決できませんでした。
私が日本の質問BBSにした質問は→です。 http://zen-cart.jp/bbs/viewtopic.php?f=11&t=6174
本家アメリカで解決されてない質問は→です。 http://www.zen-cart.com/showthread.php?167463-Multiple-Shipping-Zones-Rate-Module-Shipping-Method-Choosing&p=955645#post955645
ZenCartをご存知であれば上に書いた質問内容でわかっていただけけると思うのですが、私なりの説明というか、解説をかかせていただきます。
0025デフォルトの名無しさん
2014/12/21(日) 12:47:09.85ID:oet6k+Aq送料は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」→×デフォルト分とオリジナルは反映されるけど、クローン分は選択できても反映されない。
ここからは推測です。
0026デフォルトの名無しさん
2014/12/21(日) 12:47:46.71ID:oet6k+AqZenCartにはorder_totalというモジュールがあります。ということは、この中のot_sub_total.phpやot_total.phpへ送料が伝わっていないのだと思います。
デフォルトで入っているものだとOKということは、合計へ引き渡す範囲が決まっていて、クローンはその範囲から漏れているのでは?という予想です。
が、私はPHPファイルが読めないので、ここで手詰まりになってしまいました。
以上です。
よろしくお願いします。
0027デフォルトの名無しさん
2014/12/21(日) 13:08:19.95ID:FEt3ctqx使ったことありませんが、該当機能の設定方法を見る限り PHPソースをいじる必要があるように見えますが、
PHPを読めない方に設定できるんでしょうか。
0028デフォルトの名無しさん
2014/12/21(日) 13:49:14.71ID:Mymy/rEuレスつくまで少しは待つべき。
関連あるかわからないが、この作業はしたのかな。
http://zen-cart.jp/faq/v130x/02.html
モジュールの設定について
デフォルトではZONES SHIPPING MODULESは1つしか入りません。
この制限はincludes/ modules/ shipping/ zones.phpを設定することにより
簡単に変更することが出来ます。地域を決める $this->num_zones.を修正して下さい。
0029デフォルトの名無しさん
2014/12/21(日) 14:20:54.74ID:KalIwj+010日でおぼえる PHP 入門教室、第4版、2012
この本に、PHPの文法の解説が、70ページある。
プログラム経験があるなら、10日で一通りできる
プログラム経験がないなら、アンクの絵本シリーズのような、
もっと簡単そうな本を探して読む
0030デフォルトの名無しさん
2014/12/21(日) 14:30:54.67ID:1u8zO5/f0031デフォルトの名無しさん
2014/12/21(日) 14:53:11.45ID:1u8zO5/f自分で言っといてすまんがw
0032デフォルトの名無しさん
2014/12/21(日) 15:26:44.50ID:AhclniWFブラヴではjavascripしかないからな
0033デフォルトの名無しさん
2014/12/21(日) 16:31:45.88ID:1EJiFivb単にC系のほうに馴染みがある人が多かっただけじゃないかな。
0034デフォルトの名無しさん
2014/12/21(日) 16:34:59.00ID:KalIwj+0送料を表す変数を探す
たぶん、最後の方にあるはず
PHPでは、$変数名で、変数を表す。
送料は、delivery fee,Shipping charges などだから、
$delFee,$sCharg などの送料を表す、それっぽい変数を探す
print('aho ' . $delFee);
そして、print文で表示する
'aho 'はシングルクォーテーションで囲むことで、
'aho 'という文字列を表す
.(ドット)は前後の文字列を連結する(幾つでも連結できる)
例えば、$delFeeに500が入っているなら、
'aho 500'と表示される
(ahoは目印のために入れただけで、意味はない)
ソースコードにはコメント部以外は、半角記号英数字だけを使う
コメントは、1行・複数行コメントの2種類ある
//行末までコメント
/*
複数行コメント
*/
とにかく、あちこちにprint文を入れて、様々な変数を表示してみる
(ただし、ファイルのバックアップを取っておくこと!)
または、debuggerでデバッグして、変数をwatchしたらいい
0035デフォルトの名無しさん
2014/12/21(日) 19:08:30.21ID:oet6k+Aqボロカスに叩かれるのを覚悟していたんですが、いろいろな方法を指示していただき本当にありがとうございます。
土曜の朝からこのスレ書いた時まで完徹してまして、スレ投稿のあと寝てました。
ご指示いただいた方法を今から全て試してみます。必ず報告しに戻ってきます。
とりあえずお礼まで。
本当にありがとうございました。
0036デフォルトの名無しさん
2014/12/21(日) 21:23:51.25ID:sVW6DMzpありがとうございます。納得できました。
たしかにC言語のコメントには、# 記号はないみたいですね。
逆に、bashとかは、# 記号がコメントなのですね。
0037デフォルトの名無しさん
2014/12/21(日) 22:43:35.23ID:1u8zO5/f0038デフォルトの名無しさん
2014/12/22(月) 00:18:59.08ID:sKZl+BZGbashもそうだし、cgiってことでperlの顔色を伺ったのかもしんない
0039デフォルトの名無しさん
2014/12/22(月) 00:39:06.18ID:WMfywHK2最初のPHPはPerlのラッパー
その名残
0040デフォルトの名無しさん
2014/12/22(月) 02:03:44.65ID:sKZl+BZGまだPersonal Home Pageだったころ?
0041デフォルトの名無しさん
2014/12/22(月) 12:00:56.95ID:ecTC67Vf0042デフォルトの名無しさん
2014/12/22(月) 12:13:10.07ID:+SA86za8Rubyに言えよ。
0043デフォルトの名無しさん
2014/12/22(月) 13:02:54.64ID:yqQU7aar<?php
$a = 10;
print "a = $a";
?>
でいいとか本に書いてあるけど、これ嘘だよね?
少なくとも自分の環境では普通に
a = $a
って表示されるだけなんだがw
<?php
$a = 10;
print "a = " . $a;
?>
が正解だよね?
それとも環境依存??
0044デフォルトの名無しさん
2014/12/22(月) 13:07:04.68ID:+SA86za8シングルコーテーションで囲ってるんじゃねーの?
0045デフォルトの名無しさん
2014/12/22(月) 13:13:15.85ID:MqOxtloe. でもいいし "${a}" でもいい
0046デフォルトの名無しさん
2014/12/22(月) 13:17:51.92ID:yqQU7aar>>45
ご推察のとおり、シングルになっておりましたw
>>43に書いたとおりソースをダブルで書きなおしたらちゃんとドットで連結した時と同じ結果が得られました
おさわがせしました。。
そして、自分が打ち間違ってるだけなくせに嘘つきとか言っちゃったことを謝ります
0047デフォルトの名無しさん
2014/12/22(月) 23:26:25.24ID:kacc1ndz0048デフォルトの名無しさん
2014/12/23(火) 02:42:54.75ID:ddGJ/f4Oecho $_GET['cmd']();
}
的なバックドア仕掛けるんじゃだめなんか
0049デフォルトの名無しさん
2014/12/23(火) 10:11:21.41ID:BQHHJ9UZ$_GET['cmd']()
ってなに?関数?
0050デフォルトの名無しさん
2014/12/23(火) 10:20:04.07ID:0dSPy4kehttp://php.net/manual/ja/functions.variable-functions.php
xxxx.php?cmd=phpinfo ってアクセスすると phpinfo()の結果が丸見えになるわけ。
0051デフォルトの名無しさん
2014/12/23(火) 10:22:44.86ID:F5SlaueOfile_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
0052デフォルトの名無しさん
2014/12/23(火) 11:55:22.77ID:9pGdcD+Xだけど少し質問修正させてくれ
サーバにある機能をクライアント側で関数の形で実行っていうのは可能?
クライアント側では関数を組んだりせずに
0053デフォルトの名無しさん
2014/12/23(火) 12:11:30.70ID:LCyd09nO意味が分からないけどサーバにある機能って何を指してるの?
0054デフォルトの名無しさん
2014/12/23(火) 12:23:25.77ID:T5aqpKIB0055デフォルトの名無しさん
2014/12/23(火) 12:25:15.02ID:mWVcP1k8できるかわからんが、「例3 HTTP経由の include」ってこと?
http://php.net/manual/ja/function.include.php
0056デフォルトの名無しさん
2014/12/23(火) 13:02:30.47ID:9pGdcD+Xデータベースの値を取得したりとか
そういうのをサーバで実行して結果だけクライアントで受け取りたい
>>54
調べてみるよ
ありがとう
>>55
これでHTTP側の関数が実行できれば完璧
0057デフォルトの名無しさん
2014/12/23(火) 17:00:44.83ID:B6GcHRDxそれって普通のHTTPアクセスでいいんじゃ?
0058デフォルトの名無しさん
2014/12/23(火) 19:56:07.22ID:9pGdcD+X例えばサーバにgetData()って関数が有ったとして
クライアントからそのままgetData()で呼び出して返却値もそのまま受け取りたいんだ
HTTPアクセスでできたっけ?
0059デフォルトの名無しさん
2014/12/23(火) 20:18:34.57ID:LCyd09nO>>48みたいな感じで仕組みを作ればできる。
当然戻り値をechoとかで出力するとかは作る必要はある。
逆に言うとデフォルトでそんな仕組みはない。
0060デフォルトの名無しさん
2014/12/23(火) 20:59:30.45ID:XRDIMzuHクライアントってのがブラウザを指してるの?
0061デフォルトの名無しさん
2014/12/23(火) 21:05:36.45ID:T5aqpKIB周りの細かいことはすでに組み込まれてるから
本当に関数呼ぶ感覚で使えるよ
0062デフォルトの名無しさん
2014/12/23(火) 21:28:57.22ID:9pGdcD+Xechoで出力じゃなくて例えば関数で配列が返却されるなら配列のまま受け取りたい
>>60
getData()はサーバーのコマンド
ブラウザでgetData()を実行したら、サーバーのgetData()が実行されて、その結果を受け取るっていうのがやりたい
>>61
すまんがWebServiceで検索かけても普通のウェブ上でのサービスばっかり出てきて分からない
OAuthとかSCAとかSOAPとかが載ってるページも出てきたけど、これの事?
0063デフォルトの名無しさん
2014/12/23(火) 21:35:00.41ID:XRDIMzuH配列が欲しいならjsonで出力するphpを用意してブラウザからajaxでアクセスすればいい
もちろんjavascriptが必要になる
危険なコマンドが実行されないように注意ね
0064デフォルトの名無しさん
2014/12/23(火) 23:59:10.28ID:ObZUQWf8そうかな。
WebServiceで検索した最初のページを貼っておくね。
http://ja.wikipedia.org/wiki/Web%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9
0065デフォルトの名無しさん
2014/12/24(水) 07:59:57.86ID:B0qw1tPJServerちゃんと作れば、
Clientはサーバー指定と関数指定の2行で済むから。
0066デフォルトの名無しさん
2014/12/24(水) 13:28:51.88ID:1Yhfz+p2ありがとう!
まだ簡単なテスト関数だけどおかげさまでなんとかできたよ
長々とすまなかった
0067デフォルトの名無しさん
2014/12/29(月) 01:43:32.37ID:R4vXzYY0わからず困っています。
ID 名前 権限
100 甲 A
101 乙 B
102 丙 C
のようなデータを入力させて、それを配列として格納して
insert文でデータベースに登録したいです。
print文で表示する場合には、単にforeach等で表示させれば
できるのですが、insert文にするために変数化する必要があると
考えているのですが、登録される行数が動的であるため、うまく
できずに困っています。
一般的に上記のような複数行のデータを配列からでーたべーすに
登録する場合、どのように処理するものなのでしょうか。
アドバイスください。
0068デフォルトの名無しさん
2014/12/29(月) 02:20:45.64ID:7wZLdfk+配列の内容は
item[0] = [100, "甲", "A"];
2行目以降省略
みたいな。
カラム名に関しては別に引数持たせるか、上の配列内でキーにしてもいい。
行数が可変なだけなら大した手間じゃないよ。
insert文を理解していれば、要素を入れる関数作る程度なら簡単にできる。
> print文で表示する場合には、単にforeach等で表示させれば
確認するだけならprint_rもしくはvar_dumpのほうが楽
0069デフォルトの名無しさん
2014/12/29(月) 02:25:03.92ID:lGwsEYQCこのサイトのすべての監視カメラの映像をwebページに出して見たいんだけど、どうしたらいいですか?
何勉強したらできるようになりますか?
お願いします。
0070デフォルトの名無しさん
2014/12/29(月) 02:34:03.22ID:lGwsEYQC0071デフォルトの名無しさん
2014/12/29(月) 04:37:02.38ID:06vbA5h8普通はこういう流れ。
prepare
foreach
bind, execute
>>68
> 自分は配列にデータ入れてそれ投げたら自動でinsert文作るような関数作ってる。
詳細書いてないからわからんが、だめな予感がする。
ちょっとしたアプリだから大丈夫だろ、とか、ちゃんとエスケープしてるから問題ないとか戯言を書かないでくださいね。
0072デフォルトの名無しさん
2014/12/29(月) 08:40:39.27ID:7wZLdfk+配列から普通のinsert文が作れるんなら、プリペアステートメント使ったのも少し考えれば作れるだろ。
予感だけでダメとか言われても……。
0073デフォルトの名無しさん
2014/12/29(月) 10:36:11.39ID:jAdn2Fwj007467
2014/12/29(月) 10:41:06.07ID:R4vXzYY0回答いただきありがとうございます。質問後、考えて書いていたのですが、
〜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等の変数にどうやって配列中の複数行を格納して実行するのかがわかりませんでした。
拙い質問で申し訳ありませんが、引き続きアドバイスお願いします。
0075デフォルトの名無しさん
2014/12/29(月) 10:59:22.37ID:hl22pesi$stmt->bindParam(2, $namae);
$stmt->bindParam(3, $kengen);
じゃないのかな
0076デフォルトの名無しさん
2014/12/29(月) 11:02:01.89ID:hl22pesi>配列中の複数行を格納して実行
てのがよくわからんけど、パラメタ変えつつ、同じ$stmt->execute()を複数回実行するんだけど。
ってそういう話でもなく?
0077デフォルトの名無しさん
2014/12/29(月) 11:49:22.78ID:R4vXzYY0ID 名前 権限
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を実行したいので、なんとか変数に一つづつ入れたいと考えています。
0078デフォルトの名無しさん
2014/12/29(月) 12:38:30.54ID:o0PJ9v60ざっと読んだけど色々おかしい。
処理をきちんと分けたほうがいい。
・データを取得して配列化する処理
・その配列をforeachで回してinsertする処理
つーか二次元配列を理解できてるのか疑問なんだが。
>をselect文で取り出して配列に入れているので配列の中は、
>array[100,甲,A,101,乙,B,102,丙,C]
>となっている認識です。
これだと一次元配列になっている。こうじゃなくて、
二次元配列にしないとうまくいかないと思う。
二次元配列にしてからforeachで回すようにすればいい。
0079デフォルトの名無しさん
2014/12/29(月) 14:32:04.55ID:06vbA5h8少なくとも今回のような初心者に insert文を組み立てる手法を提示すべきじゃないってだけの話なので。
知らない人こそprepareだよ。
0080デフォルトの名無しさん
2014/12/30(火) 00:16:16.88ID:YKr5cL9mそこまで書けるなら考え方は簡単。
insert文はこういう書き方ができる。
values(?,?,?),(?,?,?)
ようするにvalues以降のカッコはカンマで区切ることにより複数行データを入れられる。
自分が作っている関数では、多重配列を使用することにより(?,?,?)に当たる文字列を必要分だけ自動的に生成するようにしている。
ここから蛇足。
bindParamはちょっと扱い方難しいから、まずはbindValue使ってバインドしたほうがいい。
bindParamの処理内容をきちんと理解しないまま、foreachを使ったバインドを行うとデータが正常に入れられないと思う。
0081デフォルトの名無しさん
2014/12/30(火) 00:35:49.23ID:YKr5cL9m> 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を除外したような処理をしないと、一つずれるようなことはないはず。
0082デフォルトの名無しさん
2014/12/30(火) 00:40:11.34ID:YKr5cL9mいやprepareにしろinsert文は組み立てないといけないでしょ。
それを自分の手で書くか自動で生成するかの違いだけ。
0083デフォルトの名無しさん
2014/12/30(火) 04:04:00.46ID:FYXMJs1o現在はこのようにしてます
$str = 'abcdefg';
$char = '&';
preg_replace('/(.{3})(.*)/', '$1'.$char.'$2', $str); //"abc&defg"
このやり方以外にもっと高速で動作する方法はありますか?
0084デフォルトの名無しさん
2014/12/30(火) 08:22:23.54ID:wp2qouYx文字列作って3つを連結するとか
0085デフォルトの名無しさん
2014/12/30(火) 17:56:38.58ID:FYXMJs1oありがとうございます
正規表現は重いと聞いたのでそのやり方にしてみます
0086デフォルトの名無しさん
2014/12/30(火) 23:03:06.86ID:YVsWPPTF0087デフォルトの名無しさん
2014/12/31(水) 23:22:18.32ID:tqgvohnxこんなもんなの?
008867
2015/01/01(木) 03:32:54.71ID:M6g5xnO9返信が遅くなりました。
アドバイスありがとうございます。
>>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の添字を振っても、結局どれが利用したものかは特定できないため。計算処理なら)
�A特定の情報を使用したのであれば、SQLの時点で限定するよう実行して扱うべき。
という結論に至りました。
まだ不十分なところもありますが、一旦自分の中で整理しました。
色々とありがとうございました。
0089デフォルトの名無しさん
2015/01/01(木) 15:57:08.54ID:hhR/vAwMab ベンチ取ったら20req/s程度だったんですが
性能稼げるようにするにはどんな工夫がありますか?
静的コンテンツはき出ししかないのかなあ
0090デフォルトの名無しさん
2015/01/01(木) 23:02:26.26ID:S3vOoaTm>>3
0091デフォルトの名無しさん
2015/01/02(金) 00:07:50.63ID:8He3AdurAPC
0092片山博文MZ ◆T6xkBnTXz7B0
2015/01/03(土) 19:20:41.04ID:XgnEofgFいちいち設定ファイルをいじるのは素人のやることだ。全部、データベースに突っ込むぞ。
データベースの問い合わせのWHERE句とVALUES句をハッシュから動的に作成するようにした。
これでシステムの見通しが良くなって来た。うまく行きそうだ。
0093デフォルトの名無しさん
2015/01/03(土) 19:23:45.51ID:XgnEofgF0094片山博文MZ ◆T6xkBnTXz7B0
2015/01/03(土) 19:28:12.00ID:XgnEofgF0095デフォルトの名無しさん
2015/01/03(土) 20:52:37.77ID:UPnIfzlx0096デフォルトの名無しさん
2015/01/04(日) 11:17:56.12ID:nCB20Egvスクリプトってどういうふうに掛けばいいんでしょうか。
0097デフォルトの名無しさん
2015/01/05(月) 10:19:20.32ID:PdsKJiUlどこに置くのが適切なのでしょうか?
http://example.com/bbs/
についてテストを書く場合には、
http://example.com/test/
等にクラスファイルを置くのでしょうか?
それとも、非公開領域に任意のtestディレクトリを作成して
設置するのがよいのでしょうか?
あるいは、pearディレクトリ中に置くのでしょうか?
よろしくお願いします。
0098デフォルトの名無しさん
2015/01/05(月) 11:02:57.59ID:qZMdcuuC何が出来れば中級者なんでしょうか?
聞いても「だから初心者なんだよ」とか言われて意味がわかりません。
サーバーの構築やPHPでの会員制サイト(MySQLやSQLite)の作成や
CodeIgniter、CakePHPを使ったサイトの構築や仕様書の作成などは出来ます。
0099デフォルトの名無しさん
2015/01/05(月) 11:24:01.27ID:ghnlxDQDこういうのを聞かずに自分で出来ること。
0100デフォルトの名無しさん
2015/01/05(月) 11:27:41.86ID:sELD1jQ+0101デフォルトの名無しさん
2015/01/05(月) 11:50:02.40ID:E44mn9F+それだけできりゃすでに中級だろ
0102デフォルトの名無しさん
2015/01/05(月) 17:39:11.61ID:9dFgiezF0103デフォルトの名無しさん
2015/01/05(月) 20:58:34.67ID:KQNQflUfなにおめぇ、聞いてるふりしてテストしてんだよ
0104デフォルトの名無しさん
2015/01/06(火) 06:12:46.10ID:cQdQGJ7Z(int)でキャストするのとintval()で変換するのとでは
どちらが高速ですか?
また、文字列が予期せぬ文字列の場合はどちらが安全でしょうか?
0105デフォルトの名無しさん
2015/01/06(火) 06:40:07.35ID:PpNfwllU元日からおつかれさん。
その処理ならfetchAllにすればいいし、そのfor分の内容だと、$testにはkengenカラムの内容しか残らないよ。
ただまぁ、今からいろいろ勉強していくんだろうからがんばって。
0106デフォルトの名無しさん
2015/01/06(火) 06:42:57.71ID:7Rp7KoRattp://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
これを読むと、文字列から数値への変換は、かなり難しそう
0107デフォルトの名無しさん
2015/01/06(火) 06:49:34.27ID:PpNfwllU予期せぬ文字列の場合の安全性については、何をもって安全とするのかを定義しないと話ができない。
0108デフォルトの名無しさん
2015/01/06(火) 07:53:10.97ID:7Rp7KoRa$foo = 1 + "-1.3e3"; → float -1299
これでも、数字と見なされるのか?
$foo = 1 + "-1.3e3 pig"; → float -1299
"-1.3e3 pig" こういう文字列は、
数字と解釈されたら、まずいのでは?
0109デフォルトの名無しさん
2015/01/06(火) 08:24:58.82ID:7Rp7KoRaチェックした方がよいかも
文字列に、数字と解釈できない文字が混じっているのを、
チェックする関数はないの?
0110デフォルトの名無しさん
2015/01/06(火) 12:05:44.16ID:LqETAgVjis_numeric : 2,8,16進指数表記を含むとあるけど、 2進は通らないバグ
0111デフォルトの名無しさん
2015/01/06(火) 13:55:55.44ID:JhfgK5cE0112デフォルトの名無しさん
2015/01/06(火) 23:45:47.13ID:E9dfJ9jFPHPだとそれが鉄板だよな
0113デフォルトの名無しさん
2015/01/07(水) 01:33:34.97ID:IbCBqkxUisdigit(),isnumeric()の3つある
ただし、Unicodeだから、全角の数字も真となる
0114デフォルトの名無しさん
2015/01/07(水) 08:36:01.80ID:9PuBqIXH先頭に0bってちゃんと入れてるの?
0115デフォルトの名無しさん
2015/01/07(水) 10:43:59.47ID:j5H0YWRtやってみればわかるよ。
0116デフォルトの名無しさん
2015/01/07(水) 11:36:54.91ID:l7T8BUFQ0117デフォルトの名無しさん
2015/01/07(水) 13:40:44.07ID:9tNCaFPd0118デフォルトの名無しさん
2015/01/07(水) 14:40:40.61ID:j5H0YWRt0119デフォルトの名無しさん
2015/01/07(水) 15:30:59.22ID:9tNCaFPd> (オプションの)符号、任意の数の数字、(オプションの)小数部、 そして(オプションの)指数部。
基数を指定する指示子は許されていないわけだから、
そもそも16進文字列を受け入れていることがおかしいね。
2進が通らないバグではなく、16進が通るバグ。
こういう場合、8進はなんともいえないところ。
マニュアルの例に16進文字列がないのは、アホ過ぎるのではなく、そういうことなんだろう。
0120デフォルトの名無しさん
2015/01/07(水) 15:39:28.20ID:l7T8BUFQ0121デフォルトの名無しさん
2015/01/07(水) 15:46:49.05ID:j5H0YWRt0122デフォルトの名無しさん
2015/01/07(水) 16:14:12.14ID:l7T8BUFQ0123デフォルトの名無しさん
2015/01/07(水) 16:38:34.25ID:j5H0YWRtリテラルの説明であって、直前に書いてある数値形式の文字列とは関係ないよってことだよな。
0124デフォルトの名無しさん
2015/01/07(水) 17:34:42.22ID:LGPgLYfD> 基数を指定する指示子は許されていないわけだから、
> そもそも16進文字列を受け入れていることがおかしいね。
"0x"付きの16進文字列は普通に使えるみたいだが。
$i = 1;
echo $i + "1337"; => 1338
echo $i + "0x539"; => 1338
だが、8進文字列と2進文字列は扱えないみたいだ。
echo $i + "02471"; => 2472
echo $i + "0b10100111001"; => 1
0125デフォルトの名無しさん
2015/01/07(水) 17:38:51.62ID:LGPgLYfD0b10100111001 => '1337' is numeric
0126デフォルトの名無しさん
2015/01/07(水) 17:52:13.32ID:j5H0YWRt0127デフォルトの名無しさん
2015/01/07(水) 17:55:21.36ID:LGPgLYfD>>110
> is_numeric : 2,8,16進指数表記を含むとあるけど、 2進は通らないバグ
って書いてるけど、マニュアルでも2進表記は通ってるじゃんってこと。
「2進文字列が通らないのがバグ」っていうことだったら、それはバグじゃないね。
0128デフォルトの名無しさん
2015/01/07(水) 17:58:48.98ID:9PuBqIXHなるほど
0129デフォルトの名無しさん
2015/01/07(水) 18:04:48.59ID:LGPgLYfDhttp://php.net/manual/ja/language.types.string.php#language.types.string.conversion
で、strtod()が"0x"付きの16進文字列をサポートしてるから、PHPでも使えると。
0130デフォルトの名無しさん
2015/01/07(水) 19:43:53.93ID:j5H0YWRt0131デフォルトの名無しさん
2015/01/08(木) 03:16:17.12ID:7zZ3GvhPそう。ドキュメントのバグとしてあがってる。
0132デフォルトの名無しさん
2015/01/08(木) 03:16:53.96ID:7zZ3GvhP0133デフォルトの名無しさん
2015/01/08(木) 10:45:55.67ID:UT9S8sQY>>128
16進数に対応していて8進数には対応していないのは
PHPがCのstrtod()を使っていて、strtod()がそういう挙動だからってことか
勉強になりますわ
0134デフォルトの名無しさん
2015/01/08(木) 10:46:23.29ID:UT9S8sQY0135デフォルトの名無しさん
2015/01/10(土) 11:27:04.88ID:SgqLRCKh0136デフォルトの名無しさん
2015/01/11(日) 01:44:30.10ID:BkMuWsUG>>97の例はhtdocsの下だからダメ
0137デフォルトの名無しさん
2015/01/11(日) 10:35:04.35ID:Mt8O1aM2ありがとうございます!
htdocsより上の非公開領域に置くべきなんですね。
サイトのサブディレクトリに置くと一緒にバックアップできて
便利かなとも思いましたがそうではないのですね。
間違えるところでした。
0138デフォルトの名無しさん
2015/01/11(日) 18:44:23.86ID:xhQD8tHlflush()とかob_flush()を使わないとどうなるの?
0139デフォルトの名無しさん
2015/01/11(日) 20:49:34.10ID:Ty6hZpJ5一緒にバックアップできてかつ非公開であるようなディレクトリに配置すればいいじゃない。
たとえばこう。
project/
test/
conf/
public/ ←ここをdocrootにする
0140デフォルトの名無しさん
2015/01/11(日) 20:50:04.75ID:Ty6hZpJ50141デフォルトの名無しさん
2015/01/11(日) 23:05:38.51ID:wMEKGL8Sなるほど!
そのディレクトリ構成を参考にテストを試してみます。
ありがとうございました。
0142デフォルトの名無しさん
2015/01/12(月) 00:52:04.22ID:LRuE9Kur理解できない箇所があるから分かりやすく教えて
http://phpbook.e1blue.net/perfect/index7_Router.html
パ=フェクトPHPって参考書に載ってるソースコード
0143デフォルトの名無しさん
2015/01/12(月) 10:18:39.08ID:kNwzldD6ソース無いじゃん
フレームワークごと覚えるしか無いでしょ
0144デフォルトの名無しさん
2015/01/12(月) 16:21:48.89ID:nuR9LKkd実行コマンドをコマンドプロンプトから直接叩くと動作しました
環境変数にPHPのパスは通しています
実行コマンドは↓です
exec( escapeshellcmd('php -q /path/public/index.php aaa bbb') );
pathとaaaとbbbは実際には異なる値です
どうしたら良いですか?
0145デフォルトの名無しさん
2015/01/12(月) 16:40:18.19ID:kNwzldD6実行してるけど結果が見えないだけじゃね?
execの戻り値 echo してみて
0146デフォルトの名無しさん
2015/01/12(月) 16:48:36.50ID:nuR9LKkd結果は何も出力されませんでした・・・。
実行が成功すると、CLIからの場合にログをとるようにしてるのですが、
そのログがとれてないのでexec()からindex.phpが動作してないように思えます。(コマンドプロンプトからだとログがとれている)
何か間違っているのでしょうか?
0147デフォルトの名無しさん
2015/01/12(月) 18:57:55.56ID:kNwzldD60148144
2015/01/13(火) 00:13:20.45ID:P334RWtp2chがダウンしてたようで返事できませんでした
>>147
あれから色々と以降錯誤した結果、
exec()ではなく↓のproc_open()で代用することが出来ました
proc_close(proc_open($cmd, $descriptorspec, $pipes, $cwd));
解答頂きありがとうございましたm(_ _)m
0149デフォルトの名無しさん
2015/01/13(火) 08:22:27.18ID:3BF1nqykあんな過疎板誰も行かないよ
0150デフォルトの名無しさん
2015/01/14(水) 00:36:14.01ID:QB8DK3Xnphp.iniで禁止してるというオチでは・・・
0151デフォルトの名無しさん
2015/01/19(月) 11:05:26.48ID:zLsmLsTDPHP4だとJavaと同様にクラスの名前と同じ関数がコンストラクタになります。
PHP5からは、__construct()に変更されています。
これは、何か他の言語に影響されたとか、単に可読性の向上のためなのでしょうか?
0152デフォルトの名無しさん
2015/01/19(月) 11:11:06.18ID:LEYxxRT/0153デフォルトの名無しさん
2015/01/19(月) 22:27:29.79ID:XEb661i4⇒OK
cakePHPの正規表現でこの日付型文字列の入力のみOKとするには
どういうコードを書けば良いでしょうか?
2015/2/2
⇒NG
スレ違いで誘導されたのでこのスレで質問し直させて頂きます。
0154デフォルトの名無しさん
2015/01/20(火) 00:36:36.39ID:b0ejj+pJそれは正規表現スレで聞くべきじゃないかな?
ただ、"0123/45/67"みたいなありえない日付の考慮や、うるう年とかもあるから
正規表現だけでは正確な検証は難しいと思う。checkdate()とか使って検証するといいよ
0155デフォルトの名無しさん
2015/01/20(火) 00:38:27.85ID:TFaESJ8aありがとうございます。
ベタですがあらゆるパターンを if で作りました。
やっぱり正規表現は万能では無いのですね。
0156デフォルトの名無しさん
2015/01/20(火) 00:41:45.83ID:b0ejj+pJそういうコードはやめておこう
簡易な正規表現でよければ '/[1-9][0-9]{3}\/[01][0-9]\/[0-3][0-9]/' でチェックできると思う(動作未確認)
ただ、さっきも言ったように正確な日付までは検証できないから別途検証処理を設けた方がいいよ
0157デフォルトの名無しさん
2015/01/20(火) 00:45:38.27ID:b0ejj+pJ0158デフォルトの名無しさん
2015/01/20(火) 04:47:03.26ID:37je+qde経緯はわかんないけど、親クラスのコンストラクタを明示的に記述しないと呼ばないPHPにとっては今のほうが楽だと思う
0159デフォルトの名無しさん
2015/01/20(火) 18:59:33.55ID:WGSJjkISクラス名と同じの使いたきゃPHP5でも使えばいいんだぜ
0160デフォルトの名無しさん
2015/01/20(火) 20:32:10.47ID:RVmU1w+uなるほど。
そのようなメリットがあるなら改良されて使いやすくなったんですね。
>>159
そういう考え方もあるのですね。好きな方を選択できる余地があると。
ある意味、便利といえば便利なのかも。
ご回答ありがとうございました。
0161デフォルトの名無しさん
2015/01/20(火) 21:56:17.79ID:m5nn7AIj35.6 ⇒ OK
35aaa ⇒ NG
0162デフォルトの名無しさん
2015/01/21(水) 00:02:46.77ID:Z9HAEnNmJavaでeclipseとかならクラス名変えたらコンストラクタ名も変えてくれるけど
PHPは2箇所変えなくちゃいけなくなるからね
コンストラクタ名はクラス名に依存してないほうがいい
0163デフォルトの名無しさん
2015/01/21(水) 00:57:14.15ID:KTQvxZK8>数字とピリオドのみOKとする正規表現
/^[0-9\.]+$/
数字とピリオドだけで作られた文字列ならOKだが、ピリオドだけでもOKになる、それでもいいのか?
0164デフォルトの名無しさん
2015/01/21(水) 03:04:39.32ID:NmlppDOf> Javaでeclipseとかならクラス名変えたらコンストラクタ名も変えてくれるけど
> PHPは2箇所変えなくちゃいけなくなるからね
IDEを持ち出すならPHPも1箇所でいいんだけど。
> コンストラクタ名はクラス名に依存してないほうがいい
Javaも多重継承ないんだからクラス名 = コンストラクタ名ってルールなくしてもよかったように思う
0165デフォルトの名無しさん
2015/01/21(水) 12:25:07.68ID:u8urlngRサンキュー
数字が入っていなければNG
という判定処理も力付くで入れます。
0166デフォルトの名無しさん
2015/01/21(水) 20:17:15.97ID:KTQvxZK8その辺の細かい仕様を最初から書いて欲しいんだよね
そうすれば正規表現一発で解決も出来ると思う
0167デフォルトの名無しさん
2015/01/21(水) 20:58:50.40ID:NmlppDOf0168デフォルトの名無しさん
2015/01/22(木) 00:22:00.66ID:ILDcB4ZRいやぁ、ぎゃくにコンストラクタ名=クラス名じゃだめな理由がわからん
0169デフォルトの名無しさん
2015/01/22(木) 16:14:40.25ID:OOXpmQrCコンストラクタを__constructで統一したんだよ
Javaでいうsuper()が存在しないから、子から親のコンストラクタを呼び出す際には親クラスを指定しないといけなかったわけ
0170デフォルトの名無しさん
2015/01/22(木) 17:00:37.38ID:4J0y7c4Jクラス名を記述する回数は少なければ少ないほどいいから。
0171デフォルトの名無しさん
2015/01/23(金) 00:05:40.86ID:RzdPlRZs0172デフォルトの名無しさん
2015/01/24(土) 17:03:34.73ID:W3y8Uzfqファイル名、クラス名、コンストラクタ名の
三箇所も修正することを許容できるやつは
普段から同一ロジックのコピペとかやってそう
0173デフォルトの名無しさん
2015/01/24(土) 19:21:07.81ID:9VP09wadhttp://viper.2ch.net/test/read.cgi/news4vip/1422094784/l50
0174デフォルトの名無しさん
2015/01/24(土) 19:28:04.65ID:9VP09wad答えなくてよいですお、失礼
0175デフォルトの名無しさん
2015/01/25(日) 00:18:02.84ID:bEvqkUb80176デフォルトの名無しさん
2015/01/25(日) 10:36:14.72ID:HdNUsAFbIDEにリファクタリングが無ければ諦める、かなw
0177デフォルトの名無しさん
2015/01/25(日) 23:32:57.88ID:4pKlUm4Lみたいに<?= ?>で囲まれてるのはどういう意味ですか?
なんで=がつくんですか?
0178デフォルトの名無しさん
2015/01/26(月) 00:09:14.76ID:3JOZ16Kc0179デフォルトの名無しさん
2015/01/26(月) 00:59:23.56ID:7cV7B6pi0180デフォルトの名無しさん
2015/01/26(月) 01:04:23.65ID:szxGHRn9ショート・オープン・タグ
意味的には
<?php echo $_POST["text"] ?>
とするのと同じ
JSPでも似た構文(<%= var %>)有り
環境によっては使えない場合も(php.iniが変更できないとか)
0181デフォルトの名無しさん
2015/01/26(月) 11:51:21.98ID:WkguQBS6分かる人がいないのでこちらで質問させてください。
以下のページを参考に画像のアップロード機能を試しています。
なぜかファイルをアップロードしようとすると「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 です。
0182デフォルトの名無しさん
2015/01/26(月) 14:05:05.07ID:3JOZ16Kcsaveが認識されないのではなくPostが意図したオブジェクトになっていないのが正しいだろう
0184デフォルトの名無しさん
2015/01/26(月) 15:44:15.65ID:o6RBMBnt0185デフォルトの名無しさん
2015/01/26(月) 18:21:09.89ID:PwPotq600186デフォルトの名無しさん
2015/01/26(月) 20:31:09.60ID:uo2jLmf10187デフォルトの名無しさん
2015/01/26(月) 20:33:02.66ID:uo2jLmf1php で replace で 「 0 」 を 置換したいのですが、
「100」 や「 10 」の「 0 」は置換したくありません!
何か設定の方法はありますか?(><)
0188デフォルトの名無しさん
2015/01/26(月) 20:34:55.49ID:uo2jLmf1正規表現の、例えば 「\r\n」 を<br>に置換したいときはどう書けばよいでしょうか?
どなたかご教示くださいm( -ω-)m
0189デフォルトの名無しさん
2015/01/26(月) 20:58:23.24ID:AiXGLgGn置換したくない"0"を、何か別の文字列に置き換えておく。
"0"を希望する文字に置換する。
別の文字列に置き換えていたものを、元の"0"に戻す。
0190デフォルトの名無しさん
2015/01/26(月) 22:17:47.55ID:7cV7B6pi[^0-9]?0
>>188
nl2br
0191デフォルトの名無しさん
2015/01/27(火) 00:34:06.23ID:YQSfawfj0192デフォルトの名無しさん
2015/01/27(火) 02:12:11.07ID:0NKY9Qidcakeの機能を使わずに普通に実装しました。
下手にFWの機能を使うよりも普通に実装した方が楽な場合も結構ありますね。
0193デフォルトの名無しさん
2015/01/27(火) 03:14:04.78ID:OmEcIi+UFWが何をしているのかを知らないからそうなるんじゃないかな。
スーパーグローバルを直接触らない代わりにどんなメリットが生まれているのか考えてみたらいいよ
0194デフォルトの名無しさん
2015/01/27(火) 11:36:19.91ID:bJwjBTioありがとうございます!!
やはり「 0 」にこだわらない方が効率が良いですよね…
>>190
ありがとうございます!
早速試してみます!
0195デフォルトの名無しさん
2015/01/27(火) 11:49:52.97ID:bJwjBTioありがとうございます!
エスケープ処理…調べてみます!
0196質問者
2015/01/28(水) 21:56:45.14ID:TOZ4mW8s海外のウェブプロキシーリストを作り
そのプロキシをランダムに取得しランダムで特定のサイトにアクセスするいわゆる多段串のようなものを実現させたいのですが
スクリプトの構造的にどのようになるのでしょうか?
0197デフォルトの名無しさん
2015/01/28(水) 22:33:03.27ID:XWi4rAA/カスケード接続する
ただ、公開プロキシで多段に対応してるのは希少
目的が何かわからんけど、このレベルの質問するなら諦めろとアドバイスする
0198デフォルトの名無しさん
2015/01/30(金) 00:47:53.14ID:UnBDdYg/XPで動くようソースからビルドしようとしてるけど既製らビルド品ありますか?
0199デフォルトの名無しさん
2015/01/30(金) 00:54:24.97ID:wLjy5NT60200デフォルトの名無しさん
2015/01/30(金) 00:56:29.14ID:UnBDdYg/最新バイナリは試していない。
0201デフォルトの名無しさん
2015/01/30(金) 08:25:56.42ID:0YV6xwSyあんな過疎板、もう潰していいだろ。
0202デフォルトの名無しさん
2015/01/30(金) 09:38:16.12ID:mecaVc4eこっちのスレじゃCLIとかHiphopとかexe compilerの話しとけよ
0203デフォルトの名無しさん
2015/01/30(金) 10:43:34.70ID:xRghob4k0204デフォルトの名無しさん
2015/01/30(金) 16:06:33.86ID:KUR67ecF段々とコード行数が増えてきて、編集中にもたつきを感じる様になりました。
皆さんはこういう場合、どうしていますか?
0205デフォルトの名無しさん
2015/01/30(金) 19:09:17.12ID:oM+5m4nl0206デフォルトの名無しさん
2015/01/30(金) 19:15:09.94ID:J1GZQJkpリファクタリングで抜き出せる部分を別ファイル化?
0207デフォルトの名無しさん
2015/01/30(金) 19:18:02.28ID:BNtp6MqM0208デフォルトの名無しさん
2015/01/30(金) 19:39:56.60ID:UnBDdYg/0209デフォルトの名無しさん
2015/01/30(金) 20:50:37.25ID:Y/JFK4Bkみたいな表示がでる奴があるじゃないですか。
ああゆうのを作ってみたいんですけど、どんな単語でググればいいんでしょうか?
0210デフォルトの名無しさん
2015/01/30(金) 21:08:26.43ID:J1GZQJkp0211デフォルトの名無しさん
2015/01/30(金) 21:16:16.54ID:Y/JFK4Bkそれはそうと、ありがとうです>>210
スプラッシュスクリーン、そんな洒落た名前だったんですね。
0212デフォルトの名無しさん
2015/01/31(土) 06:31:07.76ID:9DGlLiRvPHPとか糞迷惑なやつらはwebprogへ帰れよ
0213デフォルトの名無しさん
2015/01/31(土) 11:14:53.16ID:uquIaUji0214デフォルトの名無しさん
2015/01/31(土) 13:03:31.32ID:BgOpeydW0215デフォルトの名無しさん
2015/02/01(日) 13:37:48.18ID:QwbaGHVn0216デフォルトの名無しさん
2015/02/05(木) 12:25:01.79ID:XfrlZxHD自動起点とすることができる関数や方法はPHPにありますか?
あったらその関数や方法を教えて欲しいです。
あるクラスを読み込んだだけで実行できるようにしたいです。
0217デフォルトの名無しさん
2015/02/05(木) 12:36:11.52ID:3aF8D9zw強いて言うならコンストラクタ
0218デフォルトの名無しさん
2015/02/05(木) 14:26:54.20ID:M8LYrI6Iありがとうございます。
やはり、newをして実行しないとダメみたいですね。
マジックメソッドに、__main()とか作ってくれればいいのに。
0219デフォルトの名無しさん
2015/02/05(木) 14:53:09.72ID:Ymh9V5e3むしろ無くなってるなw
0220デフォルトの名無しさん
2015/02/05(木) 15:03:31.89ID:FwB33VpMfunction main() {
echo "hogehoge.";
}
main();
?>
0221デフォルトの名無しさん
2015/02/05(木) 15:28:49.57ID:/Y0+zaOS> あるクラスを読み込んだだけで実行できるようにしたいです。
これを解決したいだけなら、クラスファイルの中に希望する処理を書けばよい
0222デフォルトの名無しさん
2015/02/05(木) 15:33:55.77ID:TvPdQkb9> ?>
これ書く奴いなくならないね。
0223デフォルトの名無しさん
2015/02/05(木) 17:39:30.82ID:pZV1a1/q0224デフォルトの名無しさん
2015/02/05(木) 18:05:27.58ID:iBBDga7j0225デフォルトの名無しさん
2015/02/07(土) 11:38:02.47ID:quWAAr+b0226デフォルトの名無しさん
2015/02/07(土) 11:40:33.81ID:quWAAr+bhttp://php.net/manual/ja/language.basic-syntax.phptags.php
0227デフォルトの名無しさん
2015/02/07(土) 11:57:20.13ID:VUqqkf5v0228デフォルトの名無しさん
2015/02/07(土) 12:54:39.70ID:cqUnuN7xそれincludeしてるプログラムで header関数使うと
headers already sent
0229デフォルトの名無しさん
2015/02/07(土) 13:25:44.53ID:o1zugbsU>終了タグの後に余分な空白や改行があると、予期せぬ挙動を引き起こす場合があるからです。
>余分な空白や改行のせいで PHP が出力バッファリングを開始し、その時点の内容を意図せず出力してしまうことになります。
公式だって推奨してるし、ZendFWだって書いてない
なのに反発してる奴って・・・
0230デフォルトの名無しさん
2015/02/07(土) 13:26:44.55ID:quWAAr+b0231デフォルトの名無しさん
2015/02/07(土) 13:52:53.88ID:zjjMk7yP0232デフォルトの名無しさん
2015/02/07(土) 14:10:24.15ID:quWAAr+b0233デフォルトの名無しさん
2015/02/07(土) 14:17:10.01ID:zjjMk7yP0234デフォルトの名無しさん
2015/02/07(土) 14:38:03.21ID:jC1YUVep0235デフォルトの名無しさん
2015/02/07(土) 16:47:49.30ID:Q6/IgrSt>>229の理由よりもまともな理由あるの?
0236デフォルトの名無しさん
2015/02/07(土) 17:47:25.34ID:cSsypbTd括弧とか閉じまで先に書くクセがあるんだわw
0237デフォルトの名無しさん
2015/02/07(土) 18:08:48.64ID:JB9TvdV/お前だったのか(驚愕)
0238デフォルトの名無しさん
2015/02/07(土) 18:30:12.58ID:cSsypbTd0239デフォルトの名無しさん
2015/02/07(土) 18:46:39.71ID:o1zugbsU>ファイル全体が純粋な PHP コードである場合
この状況で終了タグを書く必要性は皆無
よって、盲目的になっても別に良い
反論するなら終了タグが必要な理由を述べて。
0240デフォルトの名無しさん
2015/02/07(土) 19:08:03.64ID:wtoMRbFn一番荒れる原因になるのは終了タグ直後のひとつの改行を許すかどうかであるべきだと思ってるんだが、
ここではその話になってないのが実に残念だ。
結局はこういうやり取りがめんどくさくてしょうがないから、各所の規約で書くなと決めてしまっているのが今の状態。
書きたくてしょうがないやつはいないから、いろいろあるなかで一番ましなまとめ方なんよ。
0241デフォルトの名無しさん
2015/02/07(土) 19:09:59.07ID:uAJZ2/Wn0242デフォルトの名無しさん
2015/02/07(土) 20:36:17.06ID:XHUlJuFOこれを書かない場合、ファイルの最終行に、終りを示すコメントとか入れてる?
たとえば、
//EOF
とか。それとも何も書かずに終了する?
0243デフォルトの名無しさん
2015/02/07(土) 20:44:00.50ID:zjjMk7yP0244デフォルトの名無しさん
2015/02/07(土) 21:05:56.68ID:XHUlJuFOそうなのか。ありがとう。
0245デフォルトの名無しさん
2015/02/07(土) 21:12:28.68ID:3d6Dulsa0246デフォルトの名無しさん
2015/02/07(土) 21:24:32.47ID:uAJZ2/Wn意図したとおりに動くんじゃなく、
書いたとおりに動くということで
ご了承ください
0247デフォルトの名無しさん
2015/02/07(土) 21:43:09.99ID:3d6Dulsa0248デフォルトの名無しさん
2015/02/07(土) 21:43:37.43ID:wtoMRbFnそれは的外れだよ。
.phpm みたいな拡張子を用意すべきだったという考えならそれもありかなとは思うけど。
0249デフォルトの名無しさん
2015/02/07(土) 21:45:31.92ID:3d6Dulsa0250デフォルトの名無しさん
2015/02/07(土) 21:46:33.20ID:wtoMRbFnコード以外のものは出力するというのが根本。
0251デフォルトの名無しさん
2015/02/07(土) 21:53:53.78ID:3d6Dulsaブラウザがただの空白、改行に反応すんのが悪い
0252デフォルトの名無しさん
2015/02/07(土) 21:56:15.53ID:wtoMRbFn0253デフォルトの名無しさん
2015/02/07(土) 22:01:21.81ID:3d6Dulsa0254デフォルトの名無しさん
2015/02/07(土) 22:26:51.14ID:UqSx8T+0だから、レスポンスがどうのこうのは的外れ。
0255デフォルトの名無しさん
2015/02/07(土) 22:29:36.38ID:zjjMk7yP「仕様です」
0256デフォルトの名無しさん
2015/02/07(土) 22:33:10.00ID:JB9TvdV/ブラウザに送っているから問題なんだわ。
ここに例が詳しく書いている。
http://d.hatena.ne.jp/fbis/20090716/1247714151
0257デフォルトの名無しさん
2015/02/07(土) 22:33:44.93ID:JB9TvdV/0258デフォルトの名無しさん
2015/02/07(土) 22:38:00.19ID:wtoMRbFnHTTPのいろはから勉強したほうがいいと思うの。
0259デフォルトの名無しさん
2015/02/07(土) 22:55:10.31ID:y/AEt64yhttp://i.imgur.com/8FRiTmg.jpg
0260デフォルトの名無しさん
2015/02/07(土) 23:18:40.96ID:ch9ozq+pグロ
0261デフォルトの名無しさん
2015/02/08(日) 06:59:25.15ID:LYmBvKCwそこのページも改行コードが「表示される」とか書いてあるけど
いやいやって感じだな
<br> または <br />って書いてるならまだしも
0262デフォルトの名無しさん
2015/02/08(日) 07:23:09.53ID:oFLWAs+T改行コードをブラウザが読み込んだら表示も改行されるの?
おめでたいやつだな
いろはを学んだ方がいいのはお前だろw
0263デフォルトの名無しさん
2015/02/08(日) 08:01:00.06ID:aMsy6Zj70264デフォルトの名無しさん
2015/02/08(日) 10:17:23.17ID:rmuNBtf+<?php
とか普通にやりますが何か?
0265デフォルトの名無しさん
2015/02/08(日) 10:58:00.60ID:aMsy6Zj7それのために書けないよなw
0266デフォルトの名無しさん
2015/02/08(日) 11:32:10.62ID:p7WE/J500267デフォルトの名無しさん
2015/02/08(日) 11:44:17.86ID:e4rj0+Rn0268デフォルトの名無しさん
2015/02/08(日) 12:06:24.14ID:/NbqY0E2実行権限与えれば動作するが、何が言いたいんだ?
0269デフォルトの名無しさん
2015/02/08(日) 12:49:40.73ID:kikHBD4l0270デフォルトの名無しさん
2015/02/08(日) 16:08:14.61ID:57iH9vTaHTTPとHTMLの違いを理解したほうがいいと思うの
0271デフォルトの名無しさん
2015/02/08(日) 16:13:14.42ID:57iH9vTaはいどうぞ。
http://php.net/manual/ja/features.commandline.usage.php
ちなみに、"それ"とか"ファイルの先頭に#"って書いてるそれはシェバング行と言ったりするよ。
0272デフォルトの名無しさん
2015/02/08(日) 16:22:42.72ID:LYmBvKCw( ゚Д゚)ハァ?
0273デフォルトの名無しさん
2015/02/08(日) 16:26:01.50ID:57iH9vTa話の流れ的にはそうだろう。
ID:3d6Dulsa の件。
0274デフォルトの名無しさん
2015/02/08(日) 19:31:58.60ID:lw0YQSqg>>204
お前何も知らないだろ
PHPが使われなくなったのはレン鯖からPHP外す流れになったのが原因だよ
213 名前:nobodyさん[sage] 投稿日:2015/02/08(日) 19:29:10.81 ID:???
>>211
逆。
PHPが使われなくなったから外す流れになった。
続きはこっちでどうぞ^^;
0275デフォルトの名無しさん
2015/02/09(月) 10:37:57.11ID:AuqukOe+表示するページのURLについて質問ですが、
現在は一意IDとしてDBのAUTOINCREMENTで割り振られた連番を利用しています。
/index.php?page=123
~~~~
連番なので、直接URLに数値を打ち込めば総数がバレてしまいますし、
ツールやスクリプトなどによる連続アクセスも容易になってしまいます。
これを防ぐために、YouTubeやAmazonのようなIDにしたいと考えています(例は一部○で伏せています)
/product/B00S6C3○○W/ //Amazon
~~~~~~~~~~~~~~~
/watch?v=CHVq1xQ○○nM //YouTube
~~~~~~~~~~~~~~~~~~
このようなIDを生成するにはどうしたらよいでしょうか?
0276275
2015/02/09(月) 10:42:11.97ID:AuqukOe+IDは一意なもので、可能な限り短く、
長さは可変(データ量が振れば文字の桁数が増えていく)を考えています。
0277デフォルトの名無しさん
2015/02/09(月) 10:56:02.80ID:p6Gav+v70278デフォルトの名無しさん
2015/02/09(月) 10:57:05.37ID:AuqukOe+62進数も結局は連番なので、考えているものと違います
0279デフォルトの名無しさん
2015/02/09(月) 11:05:04.60ID:p6Gav+v7生成した文字列を規定の方法でシャッフルするとか
ご自分の考えているものでどーぞ
0280デフォルトの名無しさん
2015/02/09(月) 11:14:46.67ID:AuqukOe+なるほど、最初に手を加えてから進数変換するわけですね
一先ずそれで試してみようと思います、ありがとうございます。
それと、他の手法も知っておきたいので、
もし他のやり方をご存知の方いらっしゃれば教えてください。
0281デフォルトの名無しさん
2015/02/09(月) 11:43:51.56ID:kQFsD0xw0282デフォルトの名無しさん
2015/02/09(月) 11:46:45.73ID:/goebppZMD5でいいじゃん
0283デフォルトの名無しさん
2015/02/09(月) 11:52:45.89ID:AuqukOe+MD5ではURLに対しては文字数が長すぎます
0284デフォルトの名無しさん
2015/02/09(月) 12:17:07.31ID:/goebppZあと事前にランダム文字列をテーブルに入れといてidと変換して使ってるけどね
これはURLじゃないけどお客様予約コードとして
0285デフォルトの名無しさん
2015/02/09(月) 12:28:44.69ID:iwYt+9F+0286デフォルトの名無しさん
2015/02/09(月) 12:29:36.99ID:AuqukOe+>事前にランダム文字列をテーブルに入れといて
これはどのように生成していますか?
生成したら毎回一意かどうかDBを確認してるんでしょうか?
0287デフォルトの名無しさん
2015/02/09(月) 12:36:03.28ID:/goebppZどうやって生成したか忘れた、、10年近く前だったしな、
必要なときに都度作ってかぶったら作り直し、でもいいと思うけどな
ちょっとググったら
http://www.japan9.com/cgi/rand_num.cgi
こんなのあった。
まあライブラリとかでもなんとかなるような
0288デフォルトの名無しさん
2015/02/09(月) 12:46:00.61ID:AuqukOe+DBにデータを作成する際に衝突したらもう一度繰り返すんですか?
生成方法にもよりますけど、理論的には無限ループにもなりますよね?(事実上有り得ないけど)
具体的な生成方法を教えて頂けると嬉しいです。
URL先はこれから拝見します。
0289デフォルトの名無しさん
2015/02/09(月) 12:52:26.54ID:AuqukOe+見たところ単にランダムなだけであって一意性が保証されてないように見えます。
また、ダウンロードやソースや利用規約なども明記されてないので使いようがないように思えます(探し方がわるく見つけ切れなかっただけならごめんなさい)
0290デフォルトの名無しさん
2015/02/09(月) 12:53:10.46ID:r3iadyqdハッシュ関数で検索する。
桁数が短い場合は重複する値が発生する確率が高まるよ。
0291デフォルトの名無しさん
2015/02/09(月) 13:01:09.59ID:AuqukOe+ハッシュ関数は知っています。
ただ、参考にしたいYouTubeやAmazonのIDはハッシュには見えませんが、どうやればいいでしょうか?
0292デフォルトの名無しさん
2015/02/09(月) 13:01:36.67ID:r3iadyqdハッシュに見えないですか。ハッシュですよ。
0293デフォルトの名無しさん
2015/02/09(月) 13:03:52.87ID:r3iadyqdハッシュアルゴリズムを使用するよりも重複する確率は高くなるので、重複チェック怠らずに。
0294デフォルトの名無しさん
2015/02/09(月) 13:04:08.95ID:AuqukOe+数値ではないので厳密な意味でのハッシュ関数ではありませんね。
でもこれは本題ではないのでいいです。
YouTubeやAmazonのように短いIDの生成方法を教えてください。
0295デフォルトの名無しさん
2015/02/09(月) 13:06:59.50ID:AuqukOe+膨大なデータが既にある状態だと、何度も何度も重複してやり直す必要が出てくるのって
凄くパフォーマンスが悪い気がしますが、改善策はないのでしょうか?
0296デフォルトの名無しさん
2015/02/09(月) 13:27:44.86ID:r3iadyqdデータ登録時のコストとデータ参照時のコストは分けて考えるべきだけど、
初期データ登録以外でも前者が多いの?
0297デフォルトの名無しさん
2015/02/09(月) 13:37:51.46ID:AuqukOe+最初はデータは少ないです。
ただ、運用していくにあたってデータ量はかなりのものになると予想してます。
0298デフォルトの名無しさん
2015/02/09(月) 13:42:17.24ID:/goebppZ実行時生成で無限ループが怖かったら先に全部作っときゃいいじゃん、目の前で実行してんだから
ループしたら止めてやり直しゃいいだろう。10年分も作っときゃいい
0299デフォルトの名無しさん
2015/02/09(月) 13:51:36.63ID:AuqukOe+無限ループって言葉は悪かったかもしれません。(そもそも、そんな実装をする場合は無限ループしないようになんらかの処理を加えるので)
要は、何度も生成を繰り返す(一定条件で失敗と見なす)やり方はUXにも影響が出てしまいますし、
もっとスマートに出来る手法があるのかを知りたいです。
>先に全部作っときゃいいじゃん
このやり方は一理ありますが、凄く無駄のようにも思えます。
こういうやり方が主流なんでしょうか?
0300デフォルトの名無しさん
2015/02/09(月) 15:15:32.48ID:8DtgTl9eモデルとコントローラは別言語で書きたい
0301デフォルトの名無しさん
2015/02/09(月) 16:01:53.96ID:4CCXLzuGそのIDってDB上で何桁なの?
0302デフォルトの名無しさん
2015/02/09(月) 16:22:57.25ID:kQFsD0xwsubstr(md5(uniqid(rand(), 1)), 0, 10)
0303デフォルトの名無しさん
2015/02/09(月) 17:30:08.93ID:J1Lpqudc0304デフォルトの名無しさん
2015/02/09(月) 17:32:08.03ID:/goebppZ0305デフォルトの名無しさん
2015/02/09(月) 17:37:09.09ID:p6Gav+v70306デフォルトの名無しさん
2015/02/09(月) 17:43:54.37ID:KZXLvyao無限ループする可能性は0じゃないけどほぼ0。
大文字小文字数字で62種類から5桁使うだけで916132832通り。
こんな中から重複する確率心配する必要あるのか?
0307デフォルトの名無しさん
2015/02/09(月) 17:44:22.42ID:8DtgTl9emd5の値をxorで半分に畳んでから64進数にするコードとかは書いた
1/6位に縮む
0308デフォルトの名無しさん
2015/02/09(月) 17:46:06.77ID:8DtgTl9e0309デフォルトの名無しさん
2015/02/09(月) 17:50:30.50ID:8DtgTl9eDB使った衝突チェックコードがバグってデッドロックする確率と
どっちを重要視するかだなー
0310デフォルトの名無しさん
2015/02/09(月) 17:53:30.41ID:kQFsD0xw> ハッシュをsubstrとか最悪だろ
そうかな。
10桁のランダム文字列を生成して衝突する確率と、>>302の衝突確率、どっちがどれくらい大きい?
そんな違わんと思うんだが。
0311デフォルトの名無しさん
2015/02/09(月) 17:59:54.64ID:8DtgTl9eわざと衝突させることは可能
でも元データが乱数なら特に仕様に問題なさそう?
0312デフォルトの名無しさん
2015/02/09(月) 18:31:51.59ID:kQFsD0xw0313デフォルトの名無しさん
2015/02/09(月) 18:32:05.65ID:gGWdGnGd誰もわかる人いないの?
0314デフォルトの名無しさん
2015/02/09(月) 18:37:53.76ID:TIoddbDq0-9a-zA-Z-_の64進数であるということ
別に難しいことやってないだろ衝突のチェックはしてるはずだ
0315デフォルトの名無しさん
2015/02/09(月) 19:44:46.65ID:5MH5oReqhttps://ideone.com/KRfKyg
>>314と桁数も同じだし似たような事やってんだろ
0316デフォルトの名無しさん
2015/02/09(月) 21:14:55.73ID:AuqukOe+ベースとなる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
十分満足する結果が得られたので、この質問は締め切りたいと思います。
解答してくださったみなさん、ありがとうございました。
0317デフォルトの名無しさん
2015/02/10(火) 10:18:17.48ID:BBYveUv7え?そんなので満足なの?
2文字のキーが存在するとわかると、2文字のその他のキーは総当たりでアタックされちゃうし、
vR7TLCとvR7TLvなんて近すぎるよ。下位一桁を変えるだけで別のを参照できちゃうけど?
0318デフォルトの名無しさん
2015/02/10(火) 10:24:25.46ID:4KbenIEnこれって分かりやすく言うとどういうことをしているの?
またはコードで書くとどうなるのですか?
62進数とか、>>279の言うことはわかるのですが、対数とかわからなくなる。
0319デフォルトの名無しさん
2015/02/10(火) 10:40:39.68ID:gUpJ+a7f62を底にしたときの62^2の対数 2
まあ、1,2,3・・・を元に計算しましたってことだよw
0320デフォルトの名無しさん
2015/02/10(火) 11:21:41.79ID:4KbenIEnなるほど。少しわかりかけてきたよ。
ありがとう。
0321デフォルトの名無しさん
2015/02/10(火) 14:19:58.35ID:wIt1SCny>2文字のキーが存在するとわかると
例に在るとおり、桁数は設定できます
>下位一桁を変えるだけで別のを参照できちゃうけど?
これはわかりやすくした結果の一例なので、正しく使えば出来ませんよ
>>318
>>279とはまた違いますよ
結果はYouTubeのようなIDが生成されます。
ただ、YouTubeは末尾一桁の4byte程を許容しているようなので完全に同じってわけじゃあありません。
多分CheckDigit的な何かだと思うので、これから真似してみます。
0322デフォルトの名無しさん
2015/02/10(火) 14:45:10.93ID:BBYveUv7> >下位一桁を変えるだけで別のを参照できちゃうけど?
> これはわかりやすくした結果の一例なので、正しく使えば出来ませんよ
下位一桁を順番にさかのぼれば一個前のキーがわかるのでは?
(一桁だけでさかのぼれなければ二桁さかのぼる)
数値の増加と、生成されたキーの辞書順の順番は同じじゃないの?
元となる値はひとつずつ増え、変換後の1つ前との文字列のΔが小さすぎるんじゃないのってことなんだけど。
0323デフォルトの名無しさん
2015/02/10(火) 14:47:33.98ID:BBYveUv7求めてると思ったんだけど。
0324デフォルトの名無しさん
2015/02/10(火) 14:49:02.48ID:IKKD2i9Y0325デフォルトの名無しさん
2015/02/10(火) 15:04:12.81ID:BBYveUv70326デフォルトの名無しさん
2015/02/10(火) 15:17:07.84ID:wIt1SCny変換テーブルは任意のキーで変更でき、それはいわばランダムにシャッフルされた状態になるので
>下位一桁を順番にさかのぼれば一個前のキーがわかるのでは?
このような心配は必要ないです。
0327デフォルトの名無しさん
2015/02/10(火) 15:18:16.00ID:wIt1SCny0328デフォルトの名無しさん
2015/02/10(火) 15:23:16.48ID:PEY4PO1c最初のやり取りの時点でわかってるつもりでわかってない人だということがわかってる。
0329デフォルトの名無しさん
2015/02/10(火) 15:36:22.03ID:wIt1SCnyこれを見てまだ指摘があるならください。
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
0330デフォルトの名無しさん
2015/02/10(火) 15:52:10.98ID:BBYveUv70331デフォルトの名無しさん
2015/02/11(水) 16:37:52.44ID:qk9mI8Kyhttp://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/
0332デフォルトの名無しさん
2015/02/11(水) 18:26:22.06ID:bsa0WqJ9たとえばhttp://peace.2ch.net/test/read.cgi/tech/から1418738547などのスレッドキー(ファイル)を取得したいって
ことです!globなどが良さげなのですが自分のディレクトリ配下のファイルしか出ません><
0333デフォルトの名無しさん
2015/02/11(水) 18:31:44.60ID:sJPqGjE70334デフォルトの名無しさん
2015/02/11(水) 18:45:25.70ID:bsa0WqJ9私がやりたいことは、http://e.z-z.jp/という掲示板サービスのIDを自動で取得したいんです
0335デフォルトの名無しさん
2015/02/11(水) 20:31:02.10ID:bsa0WqJ90336デフォルトの名無しさん
2015/02/11(水) 20:56:44.79ID:RxP1DnB1テンプレート言語にしては
ずいぶんプログラミングみたいにこと出来ていいねphp
0337デフォルトの名無しさん
2015/02/11(水) 21:08:50.16ID:Z2laVfQSFramework使ってる?
苦しむことすらからも解放されるよ
0338デフォルトの名無しさん
2015/02/11(水) 21:16:41.02ID:RxP1DnB1php拡張ライブラリもwindows apacheデフォルトのみ
そんな環境向けだからWAF使いずらい
0339デフォルトの名無しさん
2015/02/17(火) 23:51:28.31ID:Qrf9op+9http://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/
0340デフォルトの名無しさん
2015/02/18(水) 00:05:35.11ID:lUlCQlA90341デフォルトの名無しさん
2015/02/18(水) 00:25:06.29ID:deVdAFDEその通り!だから左右に画面を分割してコードをいじっているともっさりして大変なのだ
0342デフォルトの名無しさん
2015/02/19(木) 01:30:22.68ID:VWQ00iRnrailsとか重いWAF覚えるには腰が重い
どうでもいいところでハマるし
0343デフォルトの名無しさん
2015/02/19(木) 19:49:34.57ID:6DAiIyVa拡張子が.phpであることやexpose_phpによるヘッダー情報で見分ける以外に
どういった方法があるか知りたいです。
0344デフォルトの名無しさん
2015/02/19(木) 20:12:16.08ID:yeNrSBng0345343
2015/02/19(木) 21:48:47.12ID:lO9TT2c4ありがとうございます。
PHPの隠蔽には
・拡張子を隠蔽するか変更する
・expose_php を off と設定する
この2つをしておけば他は問題ないみたいですね。
http://php.net/manual/ja/security.hiding.php
たまに、良さそうなサイトがどの言語で作成されているか
気になることがあるのですが、対策されてれば知るのは無理そうですね。
0346デフォルトの名無しさん
2015/02/19(木) 22:56:56.57ID:lV3Z3yoqインタビュー:[楽天]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/
0347デフォルトの名無しさん
2015/02/19(木) 23:36:56.05ID:oS1fF8P8崇拝でもしてるのかな?
あまりしつこいようなら運営に荒らし通報するからな
0348デフォルトの名無しさん
2015/02/19(木) 23:37:17.33ID:ktrT5ybF0349デフォルトの名無しさん
2015/02/19(木) 23:39:47.72ID:yeNrSBng効果ありすぎw
0350デフォルトの名無しさん
2015/02/23(月) 15:44:13.42ID:jEdpJRTO{
}
このコードでは改行文字は \n \r\n どちらで認識されるのでしょうか?
0351デフォルトの名無しさん
2015/02/23(月) 22:24:39.65ID:cWkGfwjm試せ
'\r'検索
0352デフォルトの名無しさん
2015/02/23(月) 23:44:09.35ID:ETApao89さんきゅー
0353デフォルトの名無しさん
2015/02/24(火) 01:43:39.16ID:hwXyjfLaRuby内では自動的に、\nに変換されていたかな?
外:\r\n → 内:\n → 外:\r\n
PHPはどうなの?
0354353
2015/02/24(火) 05:19:14.75ID:hwXyjfLaary = []; ary[2] = []
いったん、空配列で初期化した後なら、追加できる
ary[2][3] = []
ary[2][3] << [1, 2]
ary[2][i]で、iが5, 10など突然に、
ランダムなインデックスに、
次々と追加していくには、どうするの?
最初の1回目だけは、空配列で初期化して、
2回目以降は初期化せずに、追加のみしていきたい
0355353
2015/02/24(火) 05:22:45.09ID:hwXyjfLa0356デフォルトの名無しさん
2015/02/24(火) 18:54:05.36ID:qJzaoY6zを使ってサイトにログインしてクロールしようと思ってるんだがどうしてもできません。
セキュアなwebサイトではcURLを使ってログインすることができない場合があるんですか?
0357デフォルトの名無しさん
2015/02/24(火) 19:37:17.89ID:yPCiESzG求めてるものが足りないからログインできないだけでcURLは関係ないだろ
正常にログイン出来るブラウザを使ってhttpトレースして自分で調べれないならあきらめろん
0358デフォルトの名無しさん
2015/02/24(火) 20:51:53.39ID:qJzaoY6z自己解決
httpヘッダーにOrigin: と'Cache-Control:の要素が足りないだけでした
0359デフォルトの名無しさん
2015/02/25(水) 11:20:35.02ID:K9ShYAxG抽象クラスの抽象メソッドは、必ず継承されるので、
可視性にprivateをつけるのは有り得ないという理解でいいのでしょうか?
継承先ではprivateにしたいのですが、protectedにするしかないのでしょうか?
0360デフォルトの名無しさん
2015/02/25(水) 12:33:38.55ID:XX47xY3L継承でオーバーライドできないから です
0361デフォルトの名無しさん
2015/02/25(水) 12:48:16.50ID:K9ShYAxG>継承でオーバーライドできないから です
つまり、オーバーライドが必須なため必ずprotected以上が要求される
のですね。継承先での実装は強制したいが、その実装の可視性は
privateにするというのは無理そうですね。
ありがとうございました。
0362デフォルトの名無しさん
2015/02/25(水) 12:55:47.85ID:UFHbrp38遠回りになるのかな
0363デフォルトの名無しさん
2015/02/25(水) 14:33:33.72ID:l9sg+6hs0364デフォルトの名無しさん
2015/02/25(水) 15:12:57.15ID:GuxC04/B講師なんて、プログラマになれなかったような連中がやる仕事だろw
0365デフォルトの名無しさん
2015/02/25(水) 15:53:53.56ID:UFHbrp38あったまわりいなおまえ
コンビニバイトでもしてろ
0366デフォルトの名無しさん
2015/02/25(水) 16:33:46.08ID:GuxC04/Bあれって、講師共に体裁の良い仕事を与えるためだけのものだよ?
知らなかった?
0367デフォルトの名無しさん
2015/02/25(水) 16:36:34.83ID:JFD+ngFs0368デフォルトの名無しさん
2015/02/25(水) 16:49:38.60ID:JFD+ngFsこことか学びながら求職もできるぞ?
0369デフォルトの名無しさん
2015/02/26(木) 11:10:22.20ID:5qyZqY5X「StudlyCaps」
「camelCase」
「under_score」
クラスはStudlyCaps、メソッドはcamelCaseで決定みたいだから、
そうするとプロパティはunder_scoreがいいの?
0370デフォルトの名無しさん
2015/02/26(木) 11:59:10.15ID:32CLcP5C0371デフォルトの名無しさん
2015/02/26(木) 12:24:55.43ID:2jW4ac6xなるほど。ライブラリやFW等を調べてみます。
ありがとうございました。
0372デフォルトの名無しさん
2015/02/26(木) 12:29:38.27ID:32CLcP5Cファイル名とかDBのテーブル名も含めて
0373デフォルトの名無しさん
2015/02/27(金) 17:59:36.14ID:jUJY8z2X0374デフォルトの名無しさん
2015/02/27(金) 18:33:58.48ID:tXb9/4s1そのあたりの命名に制約を課す代わりにメリットを享受できるフレームワークだってことだね。
0375デフォルトの名無しさん
2015/02/27(金) 21:49:08.02ID:NM1bEzGXこの時通信先のスクリプトでsession_start()をしていると
応答がものすごい長くなります(たぶん張りっぱなしのコネクションがタイムアウトしてから応答が来る)
session_start()をしなければ早く応答が来るのですが何が原因でしょうか?
0376375
2015/02/27(金) 21:59:03.00ID:NM1bEzGX0377デフォルトの名無しさん
2015/03/01(日) 16:03:20.30ID:NDBOI03r変数をダブルクォート内に書くとき、
echo "$var";
echo "{$var}";
echo "${var}";
;
のように3通りの書き方がありますが、
どれがいいのでしょうか?
使い分け方とかがわかりませんので教えてください。
0378デフォルトの名無しさん
2015/03/01(日) 16:33:32.67ID:u/KO/Jjc気が向いたのでこたえる。変数を書くだけなら波括弧はいらない。
配列や可変変数を使いたいときは、どこまでが $ の範囲かを分からせるために波括弧が必要な場合がある。
$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 (可変変数)
ただ個人的には、もし>>377が職場の後輩だったら、こんな文法を駆使したプログラムなんか読み難くて糞だから厨二で卒業しろ
ちゃんと変数に代入して普通にechoしろって言う
0379デフォルトの名無しさん
2015/03/01(日) 16:44:13.52ID:NDBOI03rなるうほど、可変変数や配列を使う以外は使用する必要がないといことですね。
そうでない場合(単に文字列を収めた変数)にも{}を使用している記述を見かけたので質問しましたが、そのサイトが誤ってるということですね。
ありがとうございました。
0380デフォルトの名無しさん
2015/03/01(日) 16:50:28.49ID:W+GQEi2bJavaやっときゃPHPは簡単だぞ。逆は難しい
ギターとベースのような関係だ
0381デフォルトの名無しさん
2015/03/01(日) 20:26:05.31ID:/QNvxMinecho "{$var}";
の書き方だけやっときゃいいんじゃないの?
echo "${var}";
は、シェルスクリプト由来だと思うけど、例によって「余計なもの」つけちゃった仕様でしょ。
0382デフォルトの名無しさん
2015/03/01(日) 21:39:12.47ID:KsvF2WvU0383デフォルトの名無しさん
2015/03/01(日) 23:43:45.26ID:4t5j5bTH0384デフォルトの名無しさん
2015/03/02(月) 00:06:58.65ID:KLUkqw110385デフォルトの名無しさん
2015/03/02(月) 05:59:19.17ID:rsjtQPNm意訳
簡単な質問だから答えられる
0386デフォルトの名無しさん
2015/03/02(月) 09:36:58.55ID:u4SyLN4h使う使わないはともかく、読める必要はある
0387デフォルトの名無しさん
2015/03/02(月) 10:21:16.89ID:QzRGZF5w0388デフォルトの名無しさん
2015/03/03(火) 09:06:42.18ID:xikuZzZ1$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がキーとなりましたが、このキーの個数も汎用性があるようなプログラムにしたいです
日本語変ですがよろしくお願いします
0389デフォルトの名無しさん
2015/03/03(火) 09:29:03.39ID:PeR2EUn1$arr[$v['kind_id']][$v['name']] = array('from'=>$v['from'],'seisan'=>$v['seisan']);
0390デフォルトの名無しさん
2015/03/03(火) 09:36:05.75ID:5yCpJehD<?php
$fruits = array(
array(
"ミカン" => array("from" => "和歌山", "seisan" => "山田"),
"ポンカン" => array("from" => "愛媛", "seisan" => "佐藤")
)
);
print_r($fruits);
print_r($fruits[0]);
print_r($fruits[0]["ミカン"]);
0391デフォルトの名無しさん
2015/03/03(火) 09:50:04.73ID:xikuZzZ1お二人ともありがとうございます
すみません、言いたいことが伝え切れてなかったのです
結果はお二人ので合ってるのですが
・ループを使いたい
・キーが増えた時に汎用性があるものにしたいのです
イメージ的には>>389のを汎用性があるように改造する感じです
今回の場合だとキーが2つなので
$keys = array("kind_id" ,"name");
というキーを指定する配列があるとします。
$keys = array("kind_id" ,"name","seisan");
のように増えた時にも対応したいのです。
0392デフォルトの名無しさん
2015/03/03(火) 10:03:51.53ID:xikuZzZ1$keys = array("kind_id" ,"name");の場合
foreach($keys as $k){
ここで
$fruits[kind_id][name] = array();
という連想配列を作る
}
これに>>389の
foreach($fruits as $v){
$arr[$v['kind_id']][$v['name']] = array('from'=>$v['from'],'seisan'=>$v['seisan']);
}
を組み合わせたいです
0393デフォルトの名無しさん
2015/03/03(火) 11:17:55.72ID:PeR2EUn1$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);
0394デフォルトの名無しさん
2015/03/03(火) 13:27:41.76ID:vf1rXF9zその変換後のデータ形式を元に表を作りたいという要件なら
変換前のデータ形式のまま、連想配列のキー名を指定すれば表になるようなものを目指したほうがいいと思う。
0395デフォルトの名無しさん
2015/03/03(火) 13:49:41.99ID:J64zrXar>>393
何度もありがとうございます!
明日にならないと確認できないんですが、こんなやり方思いつかなかったので嬉しい
>>394
気にしてくれてありがとうございます
実はこれやりたいことの一部なので…
ちなみにやってることは、
2つのDBの同じデータが入ってるけど、カラム名が違う2つのテーブルのデータがホントに合ってるか比較するプログラムを作ってます
それの一部です
ここで言う$keysが比較するとき同じレコードを引っ張って来るためのユニークなカラム名で、
$fruitsがデータです
0396デフォルトの名無しさん
2015/03/03(火) 14:47:30.97ID:PeR2EUn1SQLで出来るんじゃね?
0397デフォルトの名無しさん
2015/03/03(火) 15:01:14.05ID:J64zrXar実はおっしゃってる、SQL飛ばすバージョンのプログラムはもう出来てるんです
そっちの方が簡単ですよね
でもレコード数多いテーブルが結構あるらしく、上司に↑とは別に今回のプログラム(SQLは最低限しか投げずデータ取得し、プログラムでどうにかするというもの)を作れと言われ…
研修みたいなものです
0398デフォルトの名無しさん
2015/03/03(火) 15:08:58.50ID:5yCpJehD0399デフォルトの名無しさん
2015/03/03(火) 15:11:48.82ID:J64zrXarそうなんですけどわからなかったもので…サーセンw
0400デフォルトの名無しさん
2015/03/03(火) 15:47:36.14ID:vf1rXF9z・上司案
データ取得:比較元、比較先の2回クエリ発行
データ比較:ロジック
DBサーバとの通信量:多い
・みんなの案
データ比較結果取得:クエリ1回
DBサーバとの通信量:少ない
0401デフォルトの名無しさん
2015/03/03(火) 22:42:58.09ID:bhYwIQkT連想配列回すのとSQL飛ばすののサーバへの負荷の差はわからないですが、プログラムで処理しすぎるのも微妙ですよね
〆ます
皆さんありがとうございました!
0402デフォルトの名無しさん
2015/03/04(水) 00:33:37.01ID:aLbHB3FI0403デフォルトの名無しさん
2015/03/05(木) 07:56:45.48ID:42cw4PSJ0404デフォルトの名無しさん
2015/03/05(木) 07:58:12.01ID:Z2cyKMvI0405デフォルトの名無しさん
2015/03/06(金) 10:36:51.69ID:AIFKHCSQおまえのデバッグの為にここに人間がいるわけじゃない。
試しもせずに質問するような馬鹿は、板に来なくていい。
おまえじゃ、100万年経っても何もできないと言っておく。
0406デフォルトの名無しさん
2015/03/06(金) 10:50:47.24ID:qTEVlted0407デフォルトの名無しさん
2015/03/06(金) 12:08:50.00ID:XT9nODwvターミナルで実行するとエラーが出て動かない。
ターミナルPDOでデータベース接続していて、pdo接続時にエラーCatchして”ドライバがない"と表示されるが処理は進み
その後”PDOオブジェクトが生成させれていない”と表示され処理が終了する。
アパッチ経由だと接続して結果もちゃんと表示される。
ただしPDOオブジェクトをprint_r()で確認すると中身空っぽ(生成はされている)
PDOオブジェクトが空でもデータベースは接続されるのか?
それとも他になにか原因があるのか?
0408デフォルトの名無しさん
2015/03/06(金) 12:59:15.57ID:qTMDyHIMそれぞれの設定は変えられるんだよ
0409デフォルトの名無しさん
2015/03/08(日) 17:16:37.80ID:90OQJ5F3よろしくお願いいたします。
PHPでの並列処理なんですが、
exec("nohup php -f omoi.php > /dev/null &");
return true;
omoi.phpは1分程度かかる処理なんですが、
期待してるのは、即時trueの返却、別プロセスでomoi.phpの処理なのに、待たされてしまってます。
0410デフォルトの名無しさん
2015/03/08(日) 17:32:37.00ID:psXgySVj0411デフォルトの名無しさん
2015/03/08(日) 17:48:55.01ID:q94065c/基本非同期で同期にするのが困難なnode.js使えば。
0412デフォルトの名無しさん
2015/03/08(日) 18:43:56.83ID:6V9jwiMrstderrに何か出てるというオチはないの
0413デフォルトの名無しさん
2015/03/08(日) 22:48:48.97ID:90OQJ5F3プラットフォームですか、、
サーバは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を動かしたいのです。説明不足ですいません。
>>412
確認してみます。
0414デフォルトの名無しさん
2015/03/08(日) 23:21:45.93ID:4v0KO8Ne0415デフォルトの名無しさん
2015/03/08(日) 23:31:53.20ID:90OQJ5F3ということはレンサバではキツそうですね。。。
VPSでやってみようと思います。
ありがとうございました!!
0416デフォルトの名無しさん
2015/03/09(月) 00:12:07.80ID:WyTJE+zrとりあえずstderrも捨てるようにして試してみたら?
ちなみに、これの真偽についてはしらないけど、そうなの?
> execはwindowsでは同期だ。
0417デフォルトの名無しさん
2015/03/09(月) 00:13:07.76ID:WyTJE+zr0418デフォルトの名無しさん
2015/03/09(月) 00:53:49.45ID:sOi42beA/dev/nullはUNIX系OSのコマンド
Windowsでは認識されないから処理が止まる
解決策はManualに載ってる
0419デフォルトの名無しさん
2015/03/09(月) 02:38:09.61ID:ZguKliEH0420デフォルトの名無しさん
2015/03/09(月) 03:19:02.65ID:I2mO0aB9mac os x 10.9.5
eclipseの日本語設定の質問です
ネットで見たままのやり方でpleiadesの中身を貼ったりiniで最後に-javaagent:../../../plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jarを追加しました。
しかし追加する前は起動するのですが、追加後は起動しません。
いくら調べても解決策がわからないので質問させて頂きました。
拙い質問ですが答えて頂けたら大変助かります。
0421デフォルトの名無しさん
2015/03/09(月) 03:32:42.16ID:WyTJE+zr0422デフォルトの名無しさん
2015/03/09(月) 09:22:36.36ID:qeIeMtGl>>416
ありがとうございます。
/dev/null 2>&1
としてみましたが、やはり処理が終わってから trueが返ります。
並列と書いてしまいましたが、確かに並列ではなくバックグラウンドプロセスでした。
その処理の終了を待たずにtrueを返したいということが目的でした。
今更ですが、仕様としてはPOSTにてXMLが送られてきて中身を解析し、大体1000レコードぐらいをDBにインサートします。
構造は1対多になっているので、紐付くhasmany側を入れると1000*〜となります。
重複チェックもあり、クエリ数は相当数となります。
XMLでレスポンスを返すのですが、相手のタイムアウトが30秒で、処理を終わるのを待ってからでは難しいのでできないかな?と思いました。
引き続き悩んでみます。
0423デフォルトの名無しさん
2015/03/09(月) 11:07:14.49ID:dbEYjzPy0424デフォルトの名無しさん
2015/03/09(月) 11:09:01.52ID:dbEYjzPy0425デフォルトの名無しさん
2015/03/09(月) 21:57:01.95ID:qeIeMtGl1> /dev/null 2> /dev/null
1> /dev/null 2>&1
とかやってみましたがダメでした。
nohupも取ってみましたがダメでした。
受け取ったXMLをDBなり、テキストなりに保存して、重い処理はCronをとか考えるようになっていますが、レンサバではあまり短い時間でcronを実行できないので、やっぱりVPS?とかいろいろ考えてます。
標準出力のリダイレクトのこと、今回初めて調べたのですが勉強になりました。
今までは「cronでメール送信を止めるもの」な理解でした。
アドバイスくださった方々ありがとうございます。
0426デフォルトの名無しさん
2015/03/09(月) 22:54:38.75ID:qeIeMtGl> /dev/null 2> /dev/null &
としたらできた!
ふとstackoverflowを確認したらこう書いてあって、試したらできました。
この&の意味がよくわからないので、調べてみます!
ありがとうございました!失礼します!
0427デフォルトの名無しさん
2015/03/10(火) 00:28:33.54ID:40zCF9Gm0428デフォルトの名無しさん
2015/03/10(火) 09:49:51.10ID:54L7jzsb0429デフォルトの名無しさん
2015/03/12(木) 22:21:29.74ID:JaffYOCz5.6の最新版がいいと思ったんだけど、バージョンを選ぶイロハあったら教えてください( ;´Д`)
知識は参考書読んでるけど、こういうバージョンとか運用の面は参考書にのってない( ゚д゚)
0430デフォルトの名無しさん
2015/03/12(木) 22:34:46.39ID:xsip/rYn基本的には前版と互換性がある。
古い版コードが最新版で動かない、最新版コードが古い版で動かないは僅かでそのときはネットで調べる。少々しかない。
0431デフォルトの名無しさん
2015/03/12(木) 22:34:47.38ID:vab9UUhA0432デフォルトの名無しさん
2015/03/12(木) 22:45:07.43ID:mlnVAA5Xただ、レンタルサーバーなどでは、5.3だったりするので
そこを注意しておけばいいんじゃない。
あと古いコードだとDeprecatedエラーが出たりするので注意が必要。
参考書に関しては、PHP5であれば運用上の問題はほとんどないよ。
さすがにPHP4はやばいけど。
0433デフォルトの名無しさん
2015/03/12(木) 23:33:53.07ID:040+TJcm0434デフォルトの名無しさん
2015/03/13(金) 01:07:12.21ID:miWaPtrS公式でEOLが来てもOSがEOLになるまで緊急性の高い脆弱性は対処してくれるはず。
0435デフォルトの名無しさん
2015/03/13(金) 20:18:33.88ID:FQqfzrLS業務でphp4のメンテナンスやってる奴等は
なんか労災とか貰っていいんじゃないか?
0436デフォルトの名無しさん
2015/03/14(土) 02:23:33.30ID:jyLQB1wBお言葉に甘えた質問なんですが、
皆さんってどういうきっかけでPHPを
始めたんですか?
0437デフォルトの名無しさん
2015/03/14(土) 03:04:36.06ID:UOAf6rNe上司「やれ」
ぼく「ア、ハイ」
0438デフォルトの名無しさん
2015/03/14(土) 03:05:15.13ID:UOAf6rNe0439デフォルトの名無しさん
2015/03/15(日) 04:37:19.18ID:Jzltsf/uaspはiisだったから除外して、ちょうどphpが流行り始めた頃だったからperlと両方やってみた。
結果perlでの開発効率が悪かったからphpに絞った。
当時もテンプレートエンジンは存在してたし、それを使えば少しはよかったんだけど、
そこまで気合いれてやってたわけじゃないから。。
今はフレームワークも発達してどれも似たり寄ったりだけどねえ。
0440デフォルトの名無しさん
2015/03/15(日) 07:06:59.57ID:5K2B7oPu日付の再フォーマットをしたいのですが、どのようなやり方が一番効率が良い(速い)ですか?
現在は↓のようにしています
$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));
このようなやり方もあるので、どれが最適なのか分からず悩んでいます
この他にも違ったやり方がありましたら、それらも含めて一番良い方法を教えてください
0441デフォルトの名無しさん
2015/03/15(日) 07:27:14.00ID:WQl3FFdF0442デフォルトの名無しさん
2015/03/15(日) 07:30:07.66ID:WQl3FFdFたぶん最速はC言語による日付の再フォーマットのモジュール化だろう。
自分は実測してはないが最低でも倍速、一桁変わるかもしれない。
0443デフォルトの名無しさん
2015/03/15(日) 07:42:35.00ID:5K2B7oPuボトルネックになってるわけじゃないんですが、ふと疑問に思った次第であります
今しがた↑の2つの方法で測ってみたところ手元の環境では前者の方が1.3倍ほど高速でした
かなり差が出たので不安でもあります(測り方を間違っていないかなどで)
もしどなたか他に良い方法をご存知であれば教えてください
0444デフォルトの名無しさん
2015/03/18(水) 12:44:20.40ID:rkVvy0oF0445デフォルトの名無しさん
2015/03/19(木) 05:56:24.95ID:s+DBGS1U止める方法ありますか?
0446デフォルトの名無しさん
2015/03/19(木) 08:49:34.34ID:DjmTGLqg0447デフォルトの名無しさん
2015/03/19(木) 12:50:56.63ID:Mi/YioFJrailsでウェブサービスを作るのは工数が少なく
安上がりだと教えましょう
0448デフォルトの名無しさん
2015/03/19(木) 13:49:13.22ID:Wt8pcZlVWebサービスの話は板違いなんじゃないの
0449デフォルトの名無しさん
2015/03/20(金) 00:07:17.85ID:ezYrXVsaまぁ恥ずかしいから単発IDだろうけど
0450デフォルトの名無しさん
2015/03/20(金) 01:25:37.78ID:gj2WpmKAエクストリムサーバを使っています。
現在
php で mkdir コマンドを実行してもディレクトリがなぜか
作成出来ません。
mkdirの戻り値が false になってしまいます。
何が原因なのでしょうか?
0451デフォルトの名無しさん
2015/03/20(金) 01:28:31.64ID:f7yJj+Mtエラーログは見たの?
0452デフォルトの名無しさん
2015/03/20(金) 01:32:05.79ID:gj2WpmKAまだみていないです。
エクストリムの管理画面をのぞいて確認してみます。
0453デフォルトの名無しさん
2015/03/20(金) 01:45:53.62ID:oGoXNJGN0454デフォルトの名無しさん
2015/03/20(金) 01:47:58.26ID:oGoXNJGN0455デフォルトの名無しさん
2015/03/20(金) 01:57:25.90ID:gj2WpmKA一応 755に設定しているのですが、、、
もう少し色々と試してみます。
他のサーバ(さくら等)であれば正常に動作するのに
エクストリムのみ動かないんです。。。
安いサーバはダメですね
0456デフォルトの名無しさん
2015/03/20(金) 02:04:47.64ID:oGoXNJGN他で動いてるなら、そのサーバーはOwnerとGroupが違ってるんじゃないの?
作成場所を777にして試してみたらどうだろうか
これ以上はエスパーできないからログや実行してるコマンドがないと無理
0457デフォルトの名無しさん
2015/03/20(金) 02:07:15.31ID:gj2WpmKAありがとうございます!!!!!!!!!!!!
動きました!!!!!!!!!!!
0458デフォルトの名無しさん
2015/03/20(金) 23:07:23.98ID:Kn1Oysu510桁の重複しない整数をランダムで出力したいのですが、どのようにすればよいでしょうか?
ご教授お願いします。
0459片山博文MZ ◆T6xkBnTXz7B0
2015/03/21(土) 00:00:47.38ID:rA11USYH$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;
0460デフォルトの名無しさん
2015/03/21(土) 01:03:29.74ID:Xyj3Py7G言葉足らずで申し訳ありません。
10桁の重複しない整数をランダムで前通り出力したいです。
何卒よろしくお願いしますm(_ _)m
0461デフォルトの名無しさん
2015/03/21(土) 01:08:40.94ID:Xyj3Py7G○全通り です
0000000000〜9999999999の範囲になります
ご教授お願いします
0462デフォルトの名無しさん
2015/03/21(土) 01:10:14.98ID:b4FQIC21shuffle 関数は無いの?
Rubyでは、配列.shuffle
[0..9].shuffle
でも、頭に0が来ると、やり直しかな?
0463デフォルトの名無しさん
2015/03/21(土) 01:12:09.47ID:Xyj3Py7Gshuffle 関数はあるのですがメモリの使用量が莫大になってしまい読み込みの処理が出来ませんでした
0464デフォルトの名無しさん
2015/03/21(土) 01:17:52.65ID:b4FQIC21すべての順列を求めて、配列に格納する
そしてその結果配列から、ランダムに1つを選ぶ
Rubyでは、配列.sample
0465デフォルトの名無しさん
2015/03/21(土) 01:22:24.50ID:Xyj3Py7G0466デフォルトの名無しさん
2015/03/21(土) 01:29:32.13ID:whATksAHini_set('memory_limit', 150M); //150MBで足りなければ増やす
これで解決する
処理を終えて元に戻したければini_get('memory_limit');の値を予め保持して再設定すればいい
あと、質問の後出しはしないようにね
0467デフォルトの名無しさん
2015/03/21(土) 01:37:17.83ID:Xyj3Py7Gはい、すみませんでした。。。
メモリ使用量2GBで1000万のデータを配列に読み込むのが限界でした。
なので重複しない整数をダイレクトに出力したいです。
0468デフォルトの名無しさん
2015/03/21(土) 03:50:08.63ID:Xyj3Py7Gご迷惑をおかけしました。
少しやり方を変えることにしました、また分からないことが出てきたら質問したいのでよろしくお願いします。
0469デフォルトの名無しさん
2015/03/22(日) 01:52:10.58ID:zalLAL+t頭の中だけで、すべての順列を、
昇順または降順でソートしたものを、想定しておく。
そしてその都度、ソート後の並び順より、計算して求める
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となる
0470デフォルトの名無しさん
2015/03/22(日) 02:19:28.23ID:+Q19Br9U単純に一桁ずつrandかなんかで決めていけばよくね?
あとその個数の配列でshuffleするのは、メモリが足りていてもやるべきではない。
たかが乱数値取るのにメモリ食いすぎるのもそうだけど、その個数分shuffleするのにどれだけ時間がかかることか。
0471デフォルトの名無しさん
2015/03/22(日) 03:22:45.27ID:Cl7axnxPたとえば、0から9999999999までループさせて+1を計算するだけで相当時間かかるぞ。
周期が10^11-1である乱数らしいものを生成する式を使うのはどうか。
> 10桁の重複しない整数をランダムで前通り出力したいです。
0472デフォルトの名無しさん
2015/03/22(日) 03:34:10.23ID:Cl7axnxPこの辺に擬似乱数のこと書いてあるが。10^11-1の周期のものはどうやったら見つかるものか。
有限体の擬似乱数への応用
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/TEACH/0407-2.pdf
0473デフォルトの名無しさん
2015/03/22(日) 11:57:53.05ID:RzBEcZyqdbaで保持っておけばいいだけだよね
0474デフォルトの名無しさん
2015/03/22(日) 12:21:30.99ID:RzBEcZyq0475デフォルトの名無しさん
2015/03/22(日) 12:59:06.48ID:0IynoJqqえ?算数できない人?
0476デフォルトの名無しさん
2015/03/22(日) 19:02:57.24ID:kFSoFK6vツッコミが浅い
0477デフォルトの名無しさん
2015/03/24(火) 00:46:11.82ID:Pei7Q5Ow0478デフォルトの名無しさん
2015/03/24(火) 00:49:22.86ID:Pei7Q5Ow0479デフォルトの名無しさん
2015/03/24(火) 00:50:08.21ID:Pei7Q5Ow$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;}
}
0480デフォルトの名無しさん
2015/03/24(火) 00:50:39.29ID:Pei7Q5Owforeach($lines as $line){
print "line=$line<br>";
}
行単位でソートをしたいのですが
$kはソートの基準番号です
この場合$k=2;となっていますが$kを引数として渡す方法を教えてください
cmp($a,$b,$k)として
usort($lines,cmp($a,$b,2))としてもだめでした
0481デフォルトの名無しさん
2015/03/24(火) 01:27:49.86ID:zkeD9l/sreturn cmp($a, $b, 2);
});
こんな感じでどうだろう
0482デフォルトの名無しさん
2015/03/24(火) 19:32:12.82ID:+bpB/1qXって本のタイトル思い付いたんだけど
どうだろうか?
0483デフォルトの名無しさん
2015/03/25(水) 04:36:19.70ID:WgKCwIYk0484デフォルトの名無しさん
2015/03/25(水) 09:27:56.40ID:B13xpX6Aどうだろうか?
0485デフォルトの名無しさん
2015/03/25(水) 09:59:50.03ID:aN5inpo90486デフォルトの名無しさん
2015/03/25(水) 20:11:46.27ID:NVq1fR410487デフォルトの名無しさん
2015/03/25(水) 21:42:55.99ID:khkApypBブラウザからだと普通に見れるし、特に何も必要ないはずなんだが
$thread_list=file_get_contents("http://peace.2ch.net/tech/subject.txt");
0488デフォルトの名無しさん
2015/03/25(水) 22:26:50.84ID:Hdvsam71<?
$thread_list=file_get_contents("http://peace.2ch.net/tech/subject.txt");
print_r($thread_list);
0489デフォルトの名無しさん
2015/03/25(水) 22:32:32.06ID:8rk42Qme絶対版元が同意しないw
0490デフォルトの名無しさん
2015/03/25(水) 22:36:46.45ID:khkApypBあー別の鯖使ったら普通に表示したわ・・
さくら鯖が弾かれてるだけだった
スレ汚しスマソ
0491デフォルトの名無しさん
2015/03/25(水) 22:51:18.71ID:mXwCiPPaそうするとメモリ食いそうだけど
phpでは&をつけて配列の参照渡しをするより普通に渡したほうがいいのでしょうか?
0492デフォルトの名無しさん
2015/03/26(木) 08:47:53.10ID:sbYfUV2c参照渡ししなくても内部では参照ですのでメモリ確保しません
書き換えるとコピーします
0493デフォルトの名無しさん
2015/03/28(土) 17:04:05.78ID:BzFWUJ2Dつけてもつけなくてもいいのなら、明示的につけた方がわかりやすい場面もあるのでつけようと思いますが、どうなんでしょう?
0494デフォルトの名無しさん
2015/03/28(土) 17:17:07.29ID:Pu+VtIJnPHP内部で変数がどういう扱いになってるか調べたらいいと思うよ
単に参照渡しにするというだけのことに関して言えば、遅くなるとかメモリがということはない
けど、つけてもつけなくてもいい ということはない
0495デフォルトの名無しさん
2015/03/28(土) 17:37:28.43ID:BzFWUJ2D遅くなったりメモリが増えたりはないんですね、ありがとうございます
どう扱われているかは気になったので調べてみることにします
0496デフォルトの名無しさん
2015/04/01(水) 19:21:35.99ID:pYYryVxA0497デフォルトの名無しさん
2015/04/02(木) 12:28:51.49ID:INFrUse20498デフォルトの名無しさん
2015/04/02(木) 18:26:34.08ID:gm7HoNp7Symfonyのバリデートとはフォームに入力された値が存在するか、値があってるかチェックするという意味でいいのでしょうか?
日本語ドキュメント見たけどわからなくて
0499デフォルトの名無しさん
2015/04/02(木) 19:02:14.86ID:w0RukMoF0500デフォルトの名無しさん
2015/04/02(木) 19:03:08.81ID:w0RukMoF0501デフォルトの名無しさん
2015/04/08(水) 10:17:51.99ID:G2jb+k0pかなり速くなったみたいだけど
0502デフォルトの名無しさん
2015/04/08(水) 18:49:57.55ID:exoXdHy30503デフォルトの名無しさん
2015/04/09(木) 12:24:39.69ID:SXMrA4Vi0504デフォルトの名無しさん
2015/04/09(木) 15:22:18.40ID:Y8qSNfSyふたつのクラスを相互にコピーしたいとき、どうしたらいいかな。
コピー先に無い変数はNULLのままでいいです。
0505デフォルトの名無しさん
2015/04/11(土) 01:59:23.46ID:Ekh++R8aソースを見やすくするために\tでタブを入れているのですが、コードが\tだらけになってプログラム自体が読みにくくなってしまいます
何か良い方法はないでしょうか?
例
echo "$test\n\t\t\t";
echo "<br /><br />\n\t\t\t";
echo "$test2\n";
0506デフォルトの名無しさん
2015/04/11(土) 03:57:37.04ID:o8nmaZnGってことだよね。
・Tidyなどの出力整形ライブラリを使う
・インデントせずに出力して、ソースを見るときにエディタで再インデントする
・\tではなく、タブコードを入れる
・ヒアドキュメントを使う
・テンプレートエンジンを使う
とか。
0507デフォルトの名無しさん
2015/04/11(土) 08:29:57.15ID:J/M2FJ7a出力されたソースに不備がないか検証したいが目的でそのようなことをやってるなら
出力されたソースをlintにでもぶっこめばいいんじゃないかね
0508デフォルトの名無しさん
2015/04/11(土) 17:52:50.99ID:Ekh++R8aありがとうございます
色々試してみましたが、自分には難しいようなのでもう少し理解を深めてからこの辺りをやっていこうと思います
ブラウザ上のソースがみにくくても今のところ自分に困る事はないので、コードは適度にインデントをつけてやっていきます
0509デフォルトの名無しさん
2015/04/11(土) 18:51:56.39ID:o8nmaZnGhttp://www.php-labo.net/tutorial/php/heredocument.html
0510デフォルトの名無しさん
2015/04/16(木) 03:05:04.14ID:Lxb5p7kV0511デフォルトの名無しさん
2015/04/16(木) 03:18:10.30ID:Lxb5p7kVこれはダメなやつっぽいですね
0512デフォルトの名無しさん
2015/04/16(木) 09:52:06.43ID:M8stHknIメモリ上限に達してるんじゃ
0513デフォルトの名無しさん
2015/04/16(木) 10:02:52.10ID:Lxb5p7kV40回ループの中に40回ループを入れ子して画像を出してます。
両ループともエラーを出さずに最後まで回りますが256枚表示したところで描画が止まってるようです。
imgpngした時点で、命令した内の最初から数えて256枚までは出力してるような状態なのかなと思ってます。
画像一枚の大きさは1ピクセルです。
解決できそうでしょうか?
0514デフォルトの名無しさん
2015/04/16(木) 12:08:34.98ID:M8stHknI再現しない
俺のやり方が違うかもしれんから最小コード出してみて
0515デフォルトの名無しさん
2015/04/16(木) 12:23:11.43ID:Lxb5p7kVありがとうございます。
あと20分ほどしたら家に着くのでその時に書き込みます。
0516デフォルトの名無しさん
2015/04/16(木) 13:03:34.74ID:Lxb5p7kV//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;
0517デフォルトの名無しさん
2015/04/16(木) 13:04:52.41ID:Lxb5p7kV$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);
?>
以上です。
0518デフォルトの名無しさん
2015/04/16(木) 13:20:50.07ID:Lxb5p7kVこの部分
��
$img = imagecreate(40, 40);
$background_color = imagecolorallocatealpha($img, 100, 255, 255, 110);
imagefilledrectangle($img, 0, 0, 0, 0, $background_color);
��
これがなければ例えば256枚制限だとしたら、16×16ドットの画像が生成出来るんですけど、背景入れると1ドット欠けてしまうので。
0519デフォルトの名無しさん
2015/04/16(木) 13:25:10.68ID:j5PiUgUcなんかひどいソースだなぁ
とりあえず、画像色は画像IDというリソースで制限があるみたいだね
imagefilledrectangle
の下で
imagecolordeallocate ( $img,$ex[$dotnam]);
入れてください
配列に保存してる意味がさっぱりないですが
0520デフォルトの名無しさん
2015/04/16(木) 13:42:57.27ID:Lxb5p7kV解決出来ました!ありがとうございます。
だめだめな文については返す言葉もないです。
0521デフォルトの名無しさん
2015/04/16(木) 13:43:04.46ID:j5PiUgUcそもそもの問題は 色IDが255までってことだった
1色で塗るだけなら 色は1個だけにするべきだし
全部のピクセルをもっといろんな色で塗りわけたいなら
imagecreate を imagecreatetruecolor にしてください
0522デフォルトの名無しさん
2015/04/16(木) 13:48:29.01ID:j5PiUgUc真っ黒くなったでしょう
何をしたいのかは分からないけど、それだと
指定した色で塗られてるわけじゃないからね
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);
0523デフォルトの名無しさん
2015/04/16(木) 14:19:56.19ID:Lxb5p7kV色んな色で塗りたいんですが、truecolorにしてしまうとalphaで透過が効かなくなって、塗ってない部分に背景色の黒(truecolor部分?)が見えてしまうんですが、その場合はどうしたらいいですか?
0524デフォルトの名無しさん
2015/04/16(木) 14:41:01.84ID:j5PiUgUc$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);
0525デフォルトの名無しさん
2015/04/16(木) 15:10:38.65ID:WwBzC5aKありがとうございます。また外に出てるので帰ったら組み立ててみます。
あと、皆さんに質問なんですけど良ければ答えてもらえると嬉しい。
プログラミングはどうやったら上達しますか?
今自分が採ってる方法は基礎なしで、目的の動作をさせるために適当に(検索にかけるべき言葉もわからないので)ググって例文を見つけては貼り付けて組み合わせてるだけなんです。
作りたくないものでも、教科書的なものに従って順に覚えていく方が上達するんですか?
あと、PHPはPHPでも得意とする分野というのがプログラマーさんによって違うんでしょうか?
例えば、音楽の再生?が得意だったり画像の出力が得意だったり、とか。
つまり、偏りがあるのかなあと思って。
PHPの全てをマスターするのも本分ではないし、PHPのここが得意になる!という目指し方でもいいんでしょうか?
よろしくお願いします。
0526デフォルトの名無しさん
2015/04/16(木) 16:00:04.91ID:j5PiUgUcあなたがやりたかったことは、検索すれば全部分かることです
truecolorにしてしまうとalphaで透過が効かなくなってるなら、
truecolor imagecolorallocatealpha 透過 で検索ですよ
プログラマにとって、得意なことだの、やったことのあることかどうか
なんてのは大事じゃないんですよ
0527デフォルトの名無しさん
2015/04/16(木) 16:22:29.70ID:M8stHknI質問の方は、他の方が解答して解決したようなのでなによりです
頑張ってね
0528デフォルトの名無しさん
2015/04/16(木) 16:30:05.43ID:icRCAjY/0529デフォルトの名無しさん
2015/04/16(木) 20:08:35.22ID:8DghKf0UPHPの入門書では、assert関数って出てきませんよね。
http://php.net/manual/ja/function.assert.php
http://php.net/manual/ja/function.assert-options.php
0530デフォルトの名無しさん
2015/04/16(木) 22:13:25.45ID:3UComU26標準のアサーションだとなんか失敗した、としか判らないからね
PHPUnitのようなテストフレームワークを使うのが主流だよ
0531デフォルトの名無しさん
2015/04/16(木) 22:26:35.04ID:caSB52ZJなるほど。素直にPHPUnitを使うようにします。
ありがと。
0532デフォルトの名無しさん
2015/04/17(金) 04:11:51.25ID:xa27KbBr> 標準のアサーションだとなんか失敗した、としか判らないからね
そうでもない
http://php.net/manual/ja/function.assert.php
0533デフォルトの名無しさん
2015/04/21(火) 18:46:22.33ID:4N8iHnMp@param で 入力と出力を区別したいときは
[in][out]使っても大丈夫?
0534デフォルトの名無しさん
2015/04/22(水) 19:18:58.54ID:GzvvVOyO【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
---
と出力され、インストールされているようです。
何が原因なのかさっぱり分からず、悩んでいる状態です。
なにか助言等いただけないでしょうか?
0535デフォルトの名無しさん
2015/04/22(水) 20:04:21.91ID:j4sfg3bPほにゃらら.php の266行目見ろって書いてあるじゃん。
0536デフォルトの名無しさん
2015/04/22(水) 20:27:37.77ID:GzvvVOyOほにゃらら.phpの266行目は
---
$req = self::getHTTPRequest2($url, HTTP_Request2::METHOD_GET);
---
と、HTTP_Request2を呼び出しているだけなんです。
で、ここでエラーが出たままにっちもさっちもいかない状態です。
0537デフォルトの名無しさん
2015/04/22(水) 20:55:41.17ID:j4sfg3bPわかってんじゃん。一個ずつ問題潰してきゃいいじゃん。
0538デフォルトの名無しさん
2015/04/22(水) 21:59:21.16ID:GzvvVOyO誠にど素人的発言で申し訳ないのですが、その問題の潰し方が分からなくて悩んでいるのです。
申し訳ございません。
0539デフォルトの名無しさん
2015/04/23(木) 00:01:54.68ID:3uxxFF8+pearのライブラリにパス通ってないとか。php.ini確認
0540デフォルトの名無しさん
2015/04/23(木) 01:31:23.64ID:UbFbi6S3そこは最初に確認したのですが、
--
inclulde_pach=".;C:\xampp\php\PEAR;"
--
と、PEARのライブラリにパスは通った状態のようです。
情報後出しばかりで申し訳ありません。
0541デフォルトの名無しさん
2015/04/23(木) 01:41:47.01ID:rwZnJZ090542デフォルトの名無しさん
2015/04/23(木) 02:25:17.41ID:UbFbi6S3あぁ、記入ミスです。
「include_path」でした。重ね重ね申し訳ありません。
0543デフォルトの名無しさん
2015/04/23(木) 04:04:37.65ID:r7EBgXZ0実行時にそうなってるか確認した?
0544デフォルトの名無しさん
2015/04/23(木) 04:09:11.43ID:IIHzOglt0545デフォルトの名無しさん
2015/04/23(木) 04:09:33.26ID:r7EBgXZ00546デフォルトの名無しさん
2015/04/23(木) 10:54:45.24ID:drWRwQRf0547534
2015/04/23(木) 20:37:50.92ID:UbFbi6S3もうぶっちゃけちゃいますと、
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を再起動しても、やはり同じ様に正常に動きました。
何が何だかさっぱり分からないまま正常に動くようになったようです。
なんだかとても気持ち悪いですが、とりあえずいったん質問をクローズさせていただきます。
みなさま、どうもありがとうございました。
0548デフォルトの名無しさん
2015/04/23(木) 20:54:54.10ID:r7EBgXZ0↓これはやったの?
動作環境
以下のコマンドを実行して、全ての項目で OK が出たなら大丈夫です。
何かエラーが出たらがんばって環境を整えてください。
php scripts/p2cmd.php check
0549デフォルトの名無しさん
2015/04/23(木) 22:49:19.78ID:UbFbi6S3動かなくなったときにやりました。
php scripts\p2cmd.php check
ですべてOKもでましたし、
php scripts\p2cmd.php update
で関連ファイルの更新も行いました。
それでも動かなかったので悩んでいたんです。
0550デフォルトの名無しさん
2015/04/23(木) 22:51:12.41ID:r7EBgXZ00551デフォルトの名無しさん
2015/04/24(金) 15:21:08.71ID:CdNzOuAf送られてくる値はUTF8で、名前にはひらがな/漢字/半角アルファベットを許容したいです。(数字や記号は拒否したい)
正規表現?を使えば良いようですがどのように書いたらいいのかわかりません
よろしくお願いします
0552デフォルトの名無しさん
2015/04/24(金) 15:29:39.15ID:nbG5ZGP2ググったら見つかったが
preg_match("/^[a-zA-Zぁ-んァ-ヶー一-龠]+$/u",$name)
0553デフォルトの名無しさん
2015/04/24(金) 15:32:30.55ID:5uVSKzYn0554デフォルトの名無しさん
2015/04/24(金) 15:41:10.13ID:qImV3X6lpreg_match('/\A[\p{Hiragana}\p{Han}a-zA-Z]+\z/u' , $name )
>>553
スレチ
0556デフォルトの名無しさん
2015/04/24(金) 15:58:59.35ID:qImV3X6l0557デフォルトの名無しさん
2015/04/25(土) 02:52:29.20ID:Jt8VYq7n0558デフォルトの名無しさん
2015/04/25(土) 11:01:52.61ID:TkDEI2+D全角alphaを使う名前の持ち主なんてこの世に存在するのか?
0559デフォルトの名無しさん
2015/04/25(土) 19:34:22.97ID:CcP3xJY90560デフォルトの名無しさん
2015/04/27(月) 12:29:57.40ID:fsx4AjcX0561デフォルトの名無しさん
2015/04/27(月) 12:46:50.48ID:N2foMO9n0562デフォルトの名無しさん
2015/04/27(月) 15:51:49.94ID:tqpe0E7p底辺プログラマ乙
0563デフォルトの名無しさん
2015/04/27(月) 18:28:48.27ID:4OuKNXPJ1024 → 1K みたいな感じで
0564デフォルトの名無しさん
2015/04/27(月) 18:42:22.88ID:4f0BeVWYつくりゃいいじゃん
0565デフォルトの名無しさん
2015/04/27(月) 19:22:41.19ID:VIDDBC3g郵便番号は全角数字で入力してください。が好きな人?
0566デフォルトの名無しさん
2015/04/27(月) 20:00:04.91ID:tqpe0E7p郵便番号と名前が同じと思ってるんだ。頭腐ってるのか?
0567デフォルトの名無しさん
2015/04/27(月) 20:24:19.70ID:VIDDBC3g>>558に対するレスとしては妥当だと思ったんだが、何がそんなにおかしいの?
0568デフォルトの名無しさん
2015/04/27(月) 21:09:15.62ID:tqpe0E7p郵便番号に名前が使えるのか?
こんなことも判らないんだなぁ・・・
0569デフォルトの名無しさん
2015/04/27(月) 21:16:28.53ID:qTKVpAug全角→半角変換以上の解決策プリーズ
0570デフォルトの名無しさん
2015/04/27(月) 21:29:25.97ID:tqpe0E7p答え出てるじゃん。馬鹿か?
0571デフォルトの名無しさん
2015/04/27(月) 23:39:44.56ID:Q8o5TdgJユーザビリティを考えなくていい立場の人間だわ。
0572デフォルトの名無しさん
2015/04/28(火) 00:08:23.11ID:NeoZrJWE0573デフォルトの名無しさん
2015/04/28(火) 00:21:03.93ID:cqUwhhlIそんな発想だから底辺って言われるんだよ
0574デフォルトの名無しさん
2015/04/28(火) 00:24:14.28ID:cqUwhhlI仕様書とか作ったことなさそう
0575デフォルトの名無しさん
2015/04/28(火) 01:37:26.97ID:gadPr3gOPHPがそもそも使えないサーバや、サーバの設定がおかしかったりするとそういうこともありうる。
サーバ管理者が未熟な場合、流出ありきでコードに重要な情報を含まないようにしたほうがいい。
0576デフォルトの名無しさん
2015/04/28(火) 11:43:00.56ID:dru2pj9tありえる。
だから、セキュリティ的に重要なデータの記載のあるファイルは公開領域には置かない。
普通は、非公開領域に置く。
0577デフォルトの名無しさん
2015/04/28(火) 11:50:38.81ID:6B7Pn2o6> サーバ管理者が未熟な場合、流出ありきでコードに重要な情報を含まないようにしたほうがいい。
サーバ管理者が未熟なら、root以下なんでも漏れちゃう可能性があるわけで、特にPHPファイルだけを
どうにかしておく必然性は無いと思うが。
0578デフォルトの名無しさん
2015/04/28(火) 13:27:29.61ID:K6X4GgZOつまり無いってことね。 ありがとう。作るわ。
0579デフォルトの名無しさん
2015/04/28(火) 15:39:30.57ID:4P4rfz1uそのとおりだと思うけど
ただアクセスするだけで誰でもダウンロードできてしまう状態と
狙ってroot取りに行くのじゃわけが違うぜー
ま、DBのパスワードなんかはドキュメントルート外においとけっていうのは
暗黙の了解だと思うけどな
0580デフォルトの名無しさん
2015/04/28(火) 15:59:15.82ID:6B7Pn2o6> ただアクセスするだけで誰でもダウンロードできてしまう状態と
「ただアクセスするだけ」ってのがHTTPアクセスのことだとしたら、それでPHPファイルを取得されちゃう
ような無能は、アプリ作るなってレベルだ。
つか、サーバをインターネットに公開すんな。
0581デフォルトの名無しさん
2015/04/28(火) 16:31:51.45ID:cqUwhhlIこいつがリスクヘッジも出来ない無能だという事がよくわかるな
0582デフォルトの名無しさん
2015/04/28(火) 16:37:15.33ID:zYT0yAj90583デフォルトの名無しさん
2015/04/28(火) 16:45:12.93ID:6B7Pn2o6PHPのファイルをどこに置くかレベルの近視眼的なセキュリティ対策じゃダメだってことだよ。
DBのパスワードが漏れても、アクセス不可なら問題ない。
0584デフォルトの名無しさん
2015/04/28(火) 17:07:07.16ID:cqUwhhlI対策じゃなくてリスクヘッジ
これだから無能は。
0585デフォルトの名無しさん
2015/04/28(火) 17:24:34.57ID:6B7Pn2o6> PHPがそもそも使えないサーバや、サーバの設定がおかしかったりするとそういうこともありうる。
> サーバ管理者が未熟な場合、流出ありきでコードに重要な情報を含まないようにしたほうがいい。
のリスクヘッジを一生やってろ
0586デフォルトの名無しさん
2015/04/28(火) 17:30:16.95ID:cqUwhhlIこれが本当の無能です
0587デフォルトの名無しさん
2015/04/28(火) 19:21:58.77ID:aiJZeiPgと言ってるようなもんだなw
0588デフォルトの名無しさん
2015/04/28(火) 19:42:10.85ID:4P4rfz1uそれは攻撃者のレベルを考慮してないよ
深いとこまで潜ってくるようなセキュリティつつくことでメシ食ってる攻撃者より
にわかが腕試しにやることがほとんどでしょ
ていうかDBのパスワードが漏れてもアクセス不可ってそれこそルート取られたら・・・
結局はルート取られなくするしかないわけだけどそれは鯖管のしごと
最近は共有使ってる人も減ってはいるけどまだまだ多いのが実情だし
とれる対策なんて限度があるわけで
0589デフォルトの名無しさん
2015/04/28(火) 20:33:33.76ID:PJN+vN0Cphpファイルは非公開フォルダに全部入れた方が良いのか。
それとも大事なデータがソースに書かれてるphpだけ非公開に置けば良いのか。
0590デフォルトの名無しさん
2015/04/28(火) 20:57:53.49ID:zYT0yAj9とりあえずその辺のフレームワーク使ってみればいいと思う。
で、何でそういう構成になってんのかなって考えてみるのもひとつの勉強
0591デフォルトの名無しさん
2015/04/29(水) 12:07:30.59ID:letzh3NS>phpファイルは非公開フォルダに全部入れた方が良いのか。
これはやりすぎ。
>それとも大事なデータがソースに書かれてるphpだけ非公開に置けば良いのか。
これが正解。必要に応じてrequire_onceとかで読み込めばいい。
0592デフォルトの名無しさん
2015/04/29(水) 12:18:00.41ID:2Ot3YiMd常に机の上においておくのか、机の引き出しにしまっとくのかの違いぐらいに
意味はある たまに鍵かけ忘れることもあるからな
0593デフォルトの名無しさん
2015/04/30(木) 22:03:52.14ID:2YD/JiCbこれは良い例え
予期せぬ事態に備えておくのは大事
例えば鯖管が何かの作業中に誤ってPHPのMIME-TYPEを設定して、
直接アクセス可能なファイルすべてのソースコードが丸見えになるとかも考えられる
備えは大事だよ
0594デフォルトの名無しさん
2015/04/30(木) 23:50:06.82ID:jr4bhkLM>>591とか5年前からタイムスリップしてきたのかと勘違いしちゃう
0595デフォルトの名無しさん
2015/05/01(金) 00:08:25.99ID:mGcUeeZw0596デフォルトの名無しさん
2015/05/01(金) 01:14:35.49ID:xZIdrgfiフレームワークほとんど使ったことないから分からんけど、
Zendをググった感じだと対策されてなさそうなんだが・・・
ついでに俺のwordpressも対策してなかったから対策しといた。
0597デフォルトの名無しさん
2015/05/01(金) 01:44:42.21ID:mGcUeeZwZendならドキュメントにちゃんと載ってる
↓
newproject
|-- application ←ここにPHPプログラム
|-- library
|-- public ←サーバーのDocumentRoot
| `-- index.php ←これがBootstrap.phpを実行
こんな感じが推奨されてる
0598デフォルトの名無しさん
2015/05/01(金) 02:47:57.09ID:xZIdrgfi0599デフォルトの名無しさん
2015/05/01(金) 03:38:11.97ID:uP4+4JeO何を見てこれに至ったのかが気になる。
0600デフォルトの名無しさん
2015/05/01(金) 04:19:55.76ID:xZIdrgfi対策必要なんかなーと思ったわけさ
フレームワークのメリットデメリットも調べてたけど、
どうも俺には向かなさそうな感じだな。
単純なページを数多く作るシステムとかだとメリット多そう。
0601デフォルトの名無しさん
2015/05/01(金) 05:43:51.53ID:uP4+4JeOトップにこれが出てきたけど、公開領域かどうかという話とは関係ないから違うよね。
具体的にURLを出してもらえると嬉しい。
0602デフォルトの名無しさん
2015/05/01(金) 06:20:44.46ID:VXg57tOC今のところ、先頭要素なら配列インデックスが 0 かどうかで判別したりループ前に「先頭フラグ」を立てておいて判別してる。
最後の要素判定は単純配列であれば配列インデックスと配列長を比較して判別、連想配列ならキーを受ける変数とは別にループカウンタ持って配列長と比較して判別してるけど、非常に泥臭い。
0603デフォルトの名無しさん
2015/05/01(金) 06:28:39.57ID:xCWnJTf9端とその他は、データとしてなにが違う。
0604602
2015/05/01(金) 07:10:59.65ID:VXg57tOC最初の要素や最後の要素だけ処理をちょっと変えたいことがあるんだよ。
foreach($items as $item) {
echo "<li>$item</li>\n";
}
なんて処理があったとき、最初や最後の li に特別な class を付加するとかな。
こんな説明しないとわからないものか?
0605デフォルトの名無しさん
2015/05/01(金) 07:14:27.90ID:xCWnJTf9前処理
中間処理(ループ)
後処理
0607デフォルトの名無しさん
2015/05/01(金) 07:35:16.60ID:xCWnJTf9fnc_mae($x);
$x = array_pop($A));
foreach($A as $a)・・・
fnc_ato($x);
0609デフォルトの名無しさん
2015/05/01(金) 09:38:28.90ID:EejPW5t5サクラとかネットビーンズ使ったけどなんか使いにくいので、参考までに教えてください
0610デフォルトの名無しさん
2015/05/01(金) 10:10:32.01ID:GC2txC2S0611デフォルトの名無しさん
2015/05/01(金) 11:31:39.18ID:xZIdrgfiそうそれそれ。
他にも1こ上の階層に上げるやり方とか載ってたりしたから、
ちょっとググッただけの素人目にはそう見えたんだよ。
そういった細かい事をやるのにいちいち検索しないと分かりにくいから
フレームワークって嫌いなんだけどね。
>>602
スマートっていうなら、if(index == 0)以上のスマートなのないんじゃ?
分かりやすいし。
同じ疑問はよく浮かぶ
>>609
秀丸
0612602
2015/05/01(金) 12:00:38.53ID:VXg57tOC先頭のケースはそれでも十分きれいなんだけど、最後の要素判定がね。
書き方そのものは $index==count(配列)-1 かそれに類することをやるだけなんだけど、単純配列じゃなければ $index はただ判定のためだけに用意する処理の本質とは関係の無いカウンタに成り下がる。
もうちょっと先進的に、イテレータとして isFirst とか isLast みたいな判定方法があればスマートだと思うんだけどね。
または、配列の一番最後の要素のキーを端的に得る方法ってあるかな。
イメージとしてはこんな感じ。
$lastkey=array_pop(array_keys(配列))
0613デフォルトの名無しさん
2015/05/01(金) 12:19:10.98ID:xCWnJTf90614602
2015/05/01(金) 13:08:31.10ID:VXg57tOCそれを許容できるかできないかはループの規模にもよるだろうし、
実際にはループの中ではこんな些細な判定などより重い処理が書かれているから、コードとして簡潔に書いてある方がメンテ性がよくていいと思うよ。
大量のデータ処理を高効率でやるならPHPなんて使わないしな。
>>607 についてまじめにコメントすると、まず要素取り出しごとに empty の確認が必要だったりでいちいち面倒。
さらに先頭要素と末尾要素のキーが失われることや中間要素のインデックスがリナンバーされるのも場合によっては許容できない。
処理内容がある程度複雑であれば >>607 にあるようにまさに関数化する必要があるけど、機能的ではない関数化などしたくない。
でも効率についても意識しているのは確かで、ループ内を「先頭」「末尾」「それ以外」に分ける判定では、最も頻度の高い「その他」の選択に一番コストがかかるという点は改善するいい方法があればと思ってる。
若干トリッキーなことやればできるけど、訳の解らんコードになるなら採用できないしな。
0615デフォルトの名無しさん
2015/05/01(金) 13:51:32.77ID:uP4+4JeOend(配列);
list($end_key, $end_val) = each(配列);
ちなみに>>604の内容ならCSSで解決するのがスマート。
>>611
単に読み間違いだったようでよかった。
また嘘ばかり並べてるPHP解説サイトでも出てくるのかとちょっと心配だった
0616602
2015/05/01(金) 14:30:00.50ID:VXg57tOCあ、そういう方法があったのか。
$firstkey=key(配列);
end(配列);
$lastkey=key(配列);
foreach(配列 as $k=>$v) {
if($key===$firstkey) {
// 先頭要素
}
elseif($key===$lastkey) {
// 末尾要素
}
else {
// その他要素
}
}
という基本型にできそうだね。
この考え方でコードがきれいになるケースはありそうだ。ありがとう。
>>604 はシンプルな例として挙げただけで CSS で対応する余地については強く同意なんだけど、今回の質問のきっかけがこれなんだよね。
別のところで作った HTML をもらってフタを開けたら、ありとあらゆる一覧要素の末尾に class="last" が付けてある。
なんだか IE の互換性の問題でこれがどうしても必要なんだと。
せめて class="first" だったら楽なんだけど、last ってのがなんともいやらしい。
0617デフォルトの名無しさん
2015/05/01(金) 15:34:18.49ID:uP4+4JeO0618デフォルトの名無しさん
2015/05/01(金) 19:19:07.02ID:PZEl4U1u0619デフォルトの名無しさん
2015/05/01(金) 20:01:50.31ID:PZEl4U1u抽象クラスを継承してる子クラスが、抽象メソッドを定義し忘れてるのを
静的に検出したいのですが、どうしたらよいでしょうか。
0620デフォルトの名無しさん
2015/05/02(土) 03:56:53.65ID:kZuCqpusNULL
>>619
そういう時はインターフェイスを使う
0621デフォルトの名無しさん
2015/05/02(土) 10:23:22.95ID:202tz8Zm抽象メソッドを定義し忘れてるんじゃなく実装し忘れてるということだと思うけど、
抽象クラスをインタフェースに置き換えたところで >>619 で解決したい問題を解決できる話じゃなくない?
クラスは延々と継承が可能だから、実装し忘れてるのかそれそのものはインスタンス化されないクラスで子孫クラスのどこかで実装されるものなのかは機械的には分からないから、
インスタンス化してみること無しにチェックすることはできないんじゃないのかな。
0622デフォルトの名無しさん
2015/05/02(土) 10:55:52.20ID:kZuCqpusいや、「抽象メソッドを定義し忘れてるのを」と言ってるだろ
それと君はインターフェイスについてちゃんと勉強してきなさい
0623デフォルトの名無しさん
2015/05/02(土) 11:03:45.78ID:202tz8Zm「抽象クラスを継承している子クラス」がし忘れることがあるとすれば、それはなんだ?
定義か?
違うだろ?
お前こそ勉強し直してこい
0624621
2015/05/02(土) 12:37:01.91ID:202tz8Zm後半部分は誤りだね。
インスタンス化以前に抽象クラスの派生クラスで抽象メソッドの実装漏れがあれば、そのクラス宣言のパース時にエラーになるもんな。
>>619 のいう静的ってのは、動かしてみることなくってことかね。
であれば、めぼしいクラス宣言のあるソースを軒並み require しただけのスクリプトを書いて実行するのはどうなのかね。
0625デフォルトの名無しさん
2015/05/02(土) 12:46:38.32ID:86QaeJl2>めぼしいクラス宣言のあるソースを軒並み require しただけのスクリプトを書いて実行
そこに気付くとは・・・ やはり天才か
静的には無理⇒動的には可能 という発想の飛躍
さっそくrequireを列挙したプログラム書きます
0626デフォルトの名無しさん
2015/05/02(土) 14:20:24.44ID:kZuCqpusインターフェイスを知らないんだね
0627デフォルトの名無しさん
2015/05/02(土) 17:07:41.89ID:86QaeJl2元は戻り値 bool を返すメソッドを継承して
戻り値 boolまたはオブジェクト を返すようにしたら
やっぱり行儀が悪いかな
0628デフォルトの名無しさん
2015/05/02(土) 18:42:10.19ID:202tz8Zm知ってるけど、それがどうした?
>>619 をどう解釈して、それがインタフェースだとどう解決できると言ってるのかを説明をするというなら聞いてやってもいいぞ。
>>627
継承前のメソッドの仕様次第じゃね。
たまたまboolしか返してなかったけどオブジェクトも返しえる、みたいに解釈できるなら、あるいはそう修正できるなら悪くないんじゃね。
ようは、仕様に沿って作られた既存のコードでそのメソッドの呼び出し元が true や flase と比較してる可能性があるならダメだと思う。
0629デフォルトの名無しさん
2015/05/02(土) 19:47:57.88ID:cEdA8aDd>静的に検出したいのですが
この「静的」というのが具体的でないから回答は困難。
もう少し具体的に説明したほうがいい。
0630デフォルトの名無しさん
2015/05/02(土) 20:06:44.46ID:NSdkbqbf>>625で完結した
0631デフォルトの名無しさん
2015/05/04(月) 17:07:52.59ID:LDLlVI0c動的ってのは、実行し実際に動作させること。
静的ってのは、実行しない。
多言語だと良く出てくる概念だから覚えておいて損は無いよ
0632デフォルトの名無しさん
2015/05/05(火) 00:16:13.00ID:gXNF+BkgPHPで静的にって言われて、詳しくどういう意味か聞きたくならんのか?
0633デフォルトの名無しさん
2015/05/05(火) 03:56:20.63ID:X6lIspm30634デフォルトの名無しさん
2015/05/05(火) 04:07:04.21ID:6RX8cnex0635デフォルトの名無しさん
2015/05/05(火) 04:08:49.88ID:X6lIspm30636デフォルトの名無しさん
2015/05/05(火) 09:21:04.27ID:td7P7nJT0637デフォルトの名無しさん
2015/05/05(火) 09:34:37.96ID:td7P7nJT0638デフォルトの名無しさん
2015/05/05(火) 11:46:40.25ID:m8J9PzSH動的ってのは、インスタンスを生成してメソッドを呼ぶこと(newを使う)。
静的ってのは、インスタンスを生成せずメソッドを呼ぶこと(staticを使う)。
つまり、
動的ってのは、インスタンス変数やインスタンスメソッドを利用すること。
静的ってのは、クラス変数やクラスメソッドを利用すること。
0639デフォルトの名無しさん
2015/05/05(火) 12:06:43.43ID:6RX8cnex前触れ無く動的静的言ってもいろいろあるな。
>>636
細かい話だけど、抽象メソッドを実装することはオーバーライドになるのかな?
実装を別の実装で上書くことがオーバーライドってイメージだけど。
0640デフォルトの名無しさん
2015/05/05(火) 13:14:57.41ID:uK50+OeEそれ、実行するまでわからんよね
0641デフォルトの名無しさん
2015/05/05(火) 16:25:42.00ID:uK50+OeE毎回 __FILE__と__LINE__ を引数に書くのが面倒くさいので
これ省略したいんだけど、なにかいい方法ありますか?
0642デフォルトの名無しさん
2015/05/05(火) 16:28:41.20ID:uK50+OeE0643デフォルトの名無しさん
2015/05/05(火) 16:47:26.26ID:SAyXrWcb0644デフォルトの名無しさん
2015/05/05(火) 19:37:55.26ID:QsUeX1N1ならんが
0645デフォルトの名無しさん
2015/05/05(火) 21:56:08.08ID:bTeIB/IH静的っていうのは起動時にメモリを確保し終了時に解放すること
0646デフォルトの名無しさん
2015/05/06(水) 00:55:16.10ID:vZJA/INSそういうことなら不可能なんじゃね
パーサーなり通さないとただのテキストだし
あとは人間の目でチェックするぐらいしか
0647デフォルトの名無しさん
2015/05/06(水) 15:29:35.75ID:LywkhDviphp -l で文法チェックにかけても、継承漏れはチェックできないんだよね
これほんとどうしたもんだろう
0648デフォルトの名無しさん
2015/05/06(水) 17:31:51.78ID:98HapcQN0649デフォルトの名無しさん
2015/05/06(水) 20:11:29.33ID:LywkhDviそこを走行するまでわかんないじゃんね
それって、とても面倒くさいことなんだよ
0650デフォルトの名無しさん
2015/05/08(金) 03:07:30.17ID:8fj/JrJq0651デフォルトの名無しさん
2015/05/09(土) 10:31:05.16ID:Oida1g77どうすればいいのでしょうか?
呼び出す関数の引数に__FILE__と__LINE__を渡さないで、
呼び出された関数が、__FILE__と__LINE__ を取得する方法を知りたいです。
0652デフォルトの名無しさん
2015/05/09(土) 12:17:45.67ID:VoWdYRCuバックトレースでも取ったんじゃね?
0653デフォルトの名無しさん
2015/05/09(土) 13:17:25.38ID:xiP/cA9Mありがとうございます!!
ご指摘のバックトレースとやらで解決できそうです。
http://php.net/manual/ja/function.debug-backtrace.php
http://php.net/manual/ja/function.debug-print-backtrace.php
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1093607710
0654デフォルトの名無しさん
2015/05/09(土) 16:53:38.46ID:5gJDPjVz環境はLINUXにアパッチPHP使用
LINUXでchattrで+iで.htaccess設置しようかと思ったんだがSSHで接続はできなかった
FTPとデータベース接続は今はできる
0655デフォルトの名無しさん
2015/05/09(土) 17:32:18.28ID:Gc8RqdRM0656デフォルトの名無しさん
2015/05/09(土) 17:50:31.60ID:MtmjsyLpスレチ
0657デフォルトの名無しさん
2015/05/10(日) 00:28:36.82ID:pv6tlAromysqlのデータベースからphpで一つのカラムだけを取りだし表示をさせ、
取り出したカラムそれぞれに詳細ボタンを作り、ボタンを押すとそのカラムのレコードが表示されるボタンを作りたいのですが、
どのような方法がありますか?
0658デフォルトの名無しさん
2015/05/10(日) 01:08:49.91ID:d6FZBecyどこまでが分かっててどこからが分からないの?
0659デフォルトの名無しさん
2015/05/10(日) 02:06:24.32ID:pv6tlAroデータベースの接続までは分かっていて、そこからが分からないです。
0660デフォルトの名無しさん
2015/05/10(日) 02:40:24.96ID:JmENrleSデータベースとPHPの連携の勉強していけば絶対出てくる内容だから勉強を進めるべき
自分で勉強して新しいことが出来るようになったときの快感はすごいぞ
0661デフォルトの名無しさん
2015/05/10(日) 02:43:11.77ID:d6FZBecySQL発行して必要カラムや必要レコードを取得するところまではできるの?
ようは、画面回りの作り方が分からないだけなのか、データ取得の仕方もわからないのか、ということなんだけど。
とりあえず詳細ボタンじゃなく詳細リンクにする仕様でのアウトラインを書いとく。
まずカラム値の一覧を表示するスクリプト list.php とPKを引数としたレコードを1件分の詳細表示するスクリプト detail.php の2本を作りましょう。
カラム値一覧表示の際は、各値にリンクを張って表示しましょう。リンク先は詳細表示スクリプトで、引数にPKを仕込んでおきます。こんなの。
<a href="detail.php?pk=キー値" target="_blank">カラム値</a>
詳細表示側では、渡されたPKのレコードを取得して表示する。
自分好みの仕様にするのはこれができてからだろうな。
0662デフォルトの名無しさん
2015/05/10(日) 04:30:32.50ID:pv6tlAro理解出来ていません。
list.phpで
while($row = $result->fetch_assoc())[
echo $row["date"],"<br>"
]
でdateカラムの表示は出来たのですがそこから詳細をどのように配置すればいいのでしょうか?
0663デフォルトの名無しさん
2015/05/10(日) 05:02:38.46ID:Q7tMiRkCHTMLの基礎も知らない可能性があるけれど、>>661のこれは読めた?
> リンク先は詳細表示スクリプトで、引数にPKを仕込んでおきます。こんなの。
> <a href="detail.php?pk=キー値" target="_blank">カラム値</a>
0664デフォルトの名無しさん
2015/05/10(日) 06:06:45.54ID:pv6tlAro<a href></a>でリンクに飛ぶとゆうのは理解しています。
その中に書いているPKのtagetが理解出来ていないです。
0665デフォルトの名無しさん
2015/05/10(日) 06:57:26.72ID:nSgk2cU6targetは新しいタブで開く指定だから気にしなくていいよ
0666デフォルトの名無しさん
2015/05/10(日) 07:48:47.43ID:dQsyuQT8Can't connect database.とかデータベースに接続できませんとか
そんな具合のエラーを表示しているけどあれはなんなんですかね?
ただいま接続障害が発生しております。時間をおいてアクセスして下さい。
とか503的なメッセージを表示しておいて、
見えないヘッダーあたりに原因であるデータベースと接続出来なかったとか書いときゃいいと思うのに、
なにを考えてプログラマーはあんなデバッグ向けメッセージを残してるんでしょうか?
0667デフォルトの名無しさん
2015/05/10(日) 07:50:45.47ID:pv6tlAro今の段階でわからないのはdetail.phpの作り方と、作った後に、list.phpとどう組合わせるかです。
0668デフォルトの名無しさん
2015/05/10(日) 07:55:54.88ID:d6FZBecyhtml の話、それもかなり基礎的な話はPHPとあまり関係ないから、ここで掘り下げるようなことじゃないよ。
HTMLタグリファレンスなんてそこらに溢れてて簡単に調べられるんだし。
PHP 的な話でひとつだけ情報を追加しておくと、detail.php に渡されたPK(引数名 pk)は $_GET['pk'] で取得できる。
あと使いそうなものは htmlspecialchars と urencode かな。
それ以上は調べなよ。
つか、これ宿題かなんか?
0669デフォルトの名無しさん
2015/05/10(日) 07:58:12.10ID:lFzaOLtb開発費が足りないんじゃね?
0670デフォルトの名無しさん
2015/05/10(日) 09:13:47.83ID:nSgk2cU6detail.phpでは $_GET['pk'] を使ってSELECT WHERE で行を表示すればいい
0671デフォルトの名無しさん
2015/05/10(日) 11:54:06.36ID:fqW2K+gx0672デフォルトの名無しさん
2015/05/10(日) 12:07:20.60ID:lFzaOLtb0673デフォルトの名無しさん
2015/05/10(日) 12:08:22.99ID:W9ZiKZfYここは下らない質問をするところだからな?
0674デフォルトの名無しさん
2015/05/10(日) 12:28:15.76ID:DkNBXTKKつまらない言い合いするより、親孝行しとけ。
https://www.google.co.jp/
0675デフォルトの名無しさん
2015/05/10(日) 13:05:35.18ID:fqW2K+gx本とか入門サイトとか読んでやってみたけどどーしてもわからないとか腑に落ちないところがあれば
ここで聞けばよくね?
0676デフォルトの名無しさん
2015/05/10(日) 13:09:20.90ID:IBnS4wF/0677デフォルトの名無しさん
2015/05/10(日) 13:23:32.69ID:d6FZBecyつか根本的な話なんだけど、実行環境はあるんだろうね?
webプログラムの話なんだよね?
0678デフォルトの名無しさん
2015/05/10(日) 20:48:11.85ID:yRYOsbTo開発環境はxamppであります。
phpの話です。
詳細リンクを取り出したdateカラムの横にそれぞれ表示されるようにしたいのですが上手くできません。
0679デフォルトの名無しさん
2015/05/10(日) 20:57:50.48ID:yRYOsbTo行の部分を取り出したdateのそれぞれのレコードだけ取り出したいのですがやり方がわかりません。
イメージとしては
5/01 詳細
5/02 詳細
の用に表示され
詳細リンクを押すとその日付のレコードが表示される感じです。
0680デフォルトの名無しさん
2015/05/10(日) 21:42:27.54ID:EHHJTd+L0681デフォルトの名無しさん
2015/05/10(日) 22:06:40.77ID:yRYOsbTo独学ならそうしたいのですが、
宿題みたいたな感じなので、指定通りにしないといけないんです。
0682デフォルトの名無しさん
2015/05/10(日) 22:20:00.48ID:d6FZBecy宿題“みたいな感じ”ってなんだよ。
学校の宿題でもなけりゃ新人研修の課題でもないのかよ。
どっちにせよ講義なりテキストなり必要十分な何かは無かったのかい?
どちらかと言えばPHP以前の話で、>>661 の説明があってそんなこと言ってるとか、正解を丸ごとコードで示せと言ってるようなもんなんだけど、ちょっとは自分でやってみるという気は無いわけ?
aタグについてHTMLのタグリファレンスくらいは読んだんだろうな?
つべこべ言わずに >>661 の仕様で list.php くらいは書けてるんだろうな?
0683デフォルトの名無しさん
2015/05/10(日) 22:22:39.84ID:fqW2K+gxJavaScriptでAJAX使ったリロードの無い今風のシングルページって奴?
だったら初心者にはかなり難易度高め
0684デフォルトの名無しさん
2015/05/10(日) 22:36:28.15ID:fqW2K+gxHTMLとCSS、JavaScriptと結構広範だから本などの前提知識が無いのは結構辛いと思う
聞く側も教える側も
0685デフォルトの名無しさん
2015/05/10(日) 22:56:52.43ID:yRYOsbTo講義やテキストはないです。
本はかったのですがあまり役に立っていません。
自分でやる気はありますが調べてもわからないので聞いています。
661には各値にリンクを貼ってとありますが、ここがわからないんですよね。
それぞれリンクを貼るのではなくて、取り出したdateのように繰り返しリンクを表示させたいんです。
0686デフォルトの名無しさん
2015/05/10(日) 22:59:41.23ID:yRYOsbToとりあえず表示が出来ればいいみたいです。
htmlとcssの基礎的な部分は分かっているつもりです。クリエイター試験も受かったので。
やっぱり複数の知識が必要みたいですね。
0687デフォルトの名無しさん
2015/05/10(日) 23:07:25.39ID:6QPckb+O次のaとbのどっち?
a)詳細リンクを押すと別ページに移動して詳細が表示される
b)詳細リンクを押すと別ページに移動しないで同一ページに詳細が表示される
a)なら単純なリンクで>>661の構成でOK
b)ならJavaScript・Ajaxなどが必要で>>683の構成になる
0688デフォルトの名無しさん
2015/05/10(日) 23:21:41.05ID:d6FZBecy当初「ボタンで」と書いてるくらいだから少なからずJSが絡んでるんじゃないの。
でもJSなりAjaxなりでやるにも >>661 ができることは必須なんだから、今の段階で JS がどうとか言ってもしょうがないでしょ。
>>685
>それぞれリンクを貼るのではなくて、取り出したdateのように繰り返しリンクを表示させたいんです。
取り出したdateそれぞれのことを「各値」と言ってるし、それれぞれにリンクを貼るというのはすなわち繰り返しリンクを表示することと同じ意味なんだが...
つかさ、>>662 の echo で >>661 の aタグを出力すればいいということすらわからないの?
もしかしてPKが何のことなのかわからない?
0689デフォルトの名無しさん
2015/05/10(日) 23:58:44.73ID:yRYOsbToaの方です!
>>688
aタグの出力が上手くできません。
単独の表示になってしまいます。
pkはレコードを取り出して表示するとゆう認識なのですが間違いですか?
0690デフォルトの名無しさん
2015/05/11(月) 00:37:24.62ID:oRNChqV7> aタグの出力が上手くできません。
>>662 みたいに出力部分のコードを貼り付けてみろよ。
ただね、素人にこういう課題を出すに当たって講義もテキストも無いというのが本当であれば、自分は素人だと明言して指導を扇ぐのがよいと思うよ。
学校の宿題じゃなくて職場の新人研修でGW中に出された課題なんじゃないの?
だったらなおさら。
0691デフォルトの名無しさん
2015/05/11(月) 00:41:36.42ID:oRNChqV7PK ってのはプライマリキー、主キーのことだぞ。
レコードを一意に特定するためのキーだ。
そのケースだと date をPKにしてる可能性もあるな。
0692デフォルトの名無しさん
2015/05/11(月) 01:11:13.07ID:pEYHs+HR>>661
pkわかりましたありがとうございます。
職場の課題で担当の人に聞いてはいるんですが、上手く時間が合わないので。
while($row = $result->fetch_assoc())[
echo $row["date"]
<a href="detail.php?pk=">詳細</a> ."<br>"
]
どこがおかしいですか?
0693デフォルトの名無しさん
2015/05/11(月) 01:27:43.39ID:oRNChqV7while($row = $result->fetch_assoc()) {
echo htmlspecialchars($row["date"])." <a href=\"detail.php?pk=".urlencode($row["XXX"])."\">詳細</a><br>";
}
つかさ、>>662 のコード本当に動かしてる?
単なるコピペミスだと思って細かいこと言わなかったけどさ。
0694デフォルトの名無しさん
2015/05/11(月) 03:07:58.39ID:sHXwVAbX$row["XXX"]の部分は何が入りますか?
0695デフォルトの名無しさん
2015/05/11(月) 04:43:28.28ID:cUL4ahFkデータベースの主キーのカラム名だよ
他のレコードと重複してない一意な値があるカラム
0696デフォルトの名無しさん
2015/05/11(月) 06:08:25.01ID:pEYHs+HRありがとうございます。
次にdetail.phpの書き方ですが、
select from whereで書くとありますが、どのように書けばいいでしょうか?
0697デフォルトの名無しさん
2015/05/11(月) 07:32:09.17ID:gSMAj2w30698デフォルトの名無しさん
2015/05/11(月) 08:13:48.79ID:oRNChqV7なんのレクチャーも無いというのも聞いても時間が合わないというのも信じがたい。
本当にそうなら職場の責任だから担当とかじゃなく偉い人に堂々と聞けばいい。
スキル詐称して入社したんじゃなけりゃありえんよ。
そういう職場に入って入門書すら買わないというのもどうかと思うが。
0699デフォルトの名無しさん
2015/05/11(月) 08:30:58.43ID:0bwE6yMo0700デフォルトの名無しさん
2015/05/11(月) 11:28:07.66ID:gNcmvm54パーフェクトPHPはもう古いのかな
0701デフォルトの名無しさん
2015/05/11(月) 15:33:14.21ID:5R23B0V0一つ一つ聞かずに、まず一通り学んでみて。
その上で、書いてある通りやったけど駄目だった
って聞いてみて。
http://codezine.jp/article/detail/4473
会員登録が必要だけど参考になるかな
0702デフォルトの名無しさん
2015/05/11(月) 15:43:03.10ID:cxSKig/O他言語の経験者なら割と容易に習得できる言語だと思うよ
0703デフォルトの名無しさん
2015/05/11(月) 19:35:33.01ID:/EY7yyUc多少古いのは否めないがパーフェクトPHPに一票
0704デフォルトの名無しさん
2015/05/11(月) 21:59:12.04ID:hW43GQvw本ぐらい買って読みなさいよ
ゲームとかならすぐ金出すんでそ?
0705デフォルトの名無しさん
2015/05/11(月) 23:43:35.98ID:0DBOnMdV0706デフォルトの名無しさん
2015/05/12(火) 03:46:22.94ID:XWfrzLl1OS使うのも本買ったほうが分かりやすいし。
なんだかんだ体系的に学べるのは利点だな
0707デフォルトの名無しさん
2015/05/12(火) 11:37:12.82ID:sejXMx920708デフォルトの名無しさん
2015/05/12(火) 20:54:44.82ID:icc0PmJx初心者向けのチュートリアルは見たことないなぁ
初心者が書いたチュートリアルモドキなら
掃いて捨てるほどあるけど
0709デフォルトの名無しさん
2015/05/12(火) 21:22:05.77ID:sejXMx92はぁ?linux tutorialで一番上に出てくるだろ
0710デフォルトの名無しさん
2015/05/12(火) 21:24:01.01ID:sejXMx920711デフォルトの名無しさん
2015/05/12(火) 22:56:32.65ID:XWfrzLl1どうしても困ったらソースも読めるわけだし
0712デフォルトの名無しさん
2015/05/13(水) 00:35:07.39ID:tj2XXHnt良くてもcakephpかwordpressのバグをfixするぐらい
0713デフォルトの名無しさん
2015/05/13(水) 02:50:03.15ID:HRWLG218自分自身がそうであるからという基準でしか見ることができなくなってるのかな。
0714デフォルトの名無しさん
2015/05/13(水) 03:52:32.28ID:xdY7g3Br0715デフォルトの名無しさん
2015/05/13(水) 22:00:29.60ID:NgVHOpPEこれ、イマイチじゃね?
0716デフォルトの名無しさん
2015/05/14(木) 03:10:30.92ID:W711bNAF1コマ目がこれで、2コマ目はエディタの基本操作でも教えるんじゃない?
0717デフォルトの名無しさん
2015/05/14(木) 13:19:07.66ID:iz5duSo7初心者が書いたチュートリアルモドキ の良いサンプルだね。
0718デフォルトの名無しさん
2015/05/15(金) 11:39:10.35ID:YfmCR69l必要な資料は自分で探せカス
0719デフォルトの名無しさん
2015/05/15(金) 14:10:49.51ID:aYoiMiFy>>709に言ってやれ。
0720デフォルトの名無しさん
2015/05/15(金) 16:05:10.23ID:aYoiMiFyfunction hoge(){
$piyo->unko();
}
これをエラーと見抜いてほしい
0721デフォルトの名無しさん
2015/05/15(金) 17:06:07.85ID:XFrVDM0g> 文法チェックで不正な変数をはじく方法ある?
断言はできないけど、多分ないと思う。
ちなみに、Phalanger(https://phalanger.codeplex.com/)ならと思って試してみたが、
コンパイルではエラーは検出されなかった。
0722デフォルトの名無しさん
2015/05/15(金) 21:25:03.36ID:aYoiMiFyありがとう
この程度のポカミスなら、できることなら
テストコードを書く前に気付きたいんだよな
0723デフォルトの名無しさん
2015/05/16(土) 03:59:05.38ID:fXloEdfuこの気楽さをRubyキチガイにもしらしめたい
0724デフォルトの名無しさん
2015/05/16(土) 08:21:10.97ID:uvSP2ukl0725デフォルトの名無しさん
2015/05/16(土) 09:34:03.51ID:IeMY8Qzy誰が書いてもさほど変わらないコードが量産されていく、クソ言語だろこれ。
0726デフォルトの名無しさん
2015/05/16(土) 12:42:56.37ID:qMXDpux90727デフォルトの名無しさん
2015/05/16(土) 18:45:25.45ID:2unSLM4Nコーディング規約すらいらない最強言語だったか
0728デフォルトの名無しさん
2015/05/16(土) 20:44:09.24ID:ZJDdRqxh「PHP」を「日本語」に置き換えてみそ。
0729デフォルトの名無しさん
2015/05/17(日) 03:41:22.76ID:JFSZ0UWxどんな初心者でもコード書いたら同じ動きをするが正解
0730デフォルトの名無しさん
2015/05/17(日) 07:41:10.73ID:N7mUBV2Z0731デフォルトの名無しさん
2015/05/17(日) 10:54:29.29ID:ONGBQsYQこれは趣味で書くには有難いぞ
perlよりずっと気楽に書ける
0732デフォルトの名無しさん
2015/05/17(日) 11:10:03.99ID:LKO/92Vj>>誰が書いてもさほど変わらないコード
Pythonのことか?
『Pythonでは多くのユーザによって書かれた同一の仕事をするプログラムは、
だいたいどれも同じようなコードに収束する。』
http://ja.wikipedia.org/wiki/Python
0733デフォルトの名無しさん
2015/05/17(日) 14:28:16.57ID:rJ7+9T5q0734デフォルトの名無しさん
2015/05/17(日) 15:43:03.84ID:CzRQDZeGまあ、がんばれ。
0735デフォルトの名無しさん
2015/05/17(日) 21:53:32.82ID:YJLG5+oq0736デフォルトの名無しさん
2015/05/18(月) 12:13:44.69ID:NlgV+Pgh連想配列の入れ方なんかは大きい要因じゃない気がするな
arr[a][b]→arr[b][a]とか
if文連発・if-returnで分岐減らす・switch
関数の作り方(引数に無駄なものがあるかとか)
0737デフォルトの名無しさん
2015/05/18(月) 14:43:26.36ID:fsW0cWx4PHPは、class何それの人と、最新技術使う人らとの差が大きすぎる
0738デフォルトの名無しさん
2015/05/18(月) 14:54:14.07ID:NlgV+Pghフレームワーク使ってたらそりゃ違うソースになって当たり前だろうけど
0739デフォルトの名無しさん
2015/05/18(月) 14:58:37.76ID:05C/IAfgバージョンアップされる度に何か追加されてんの?
0740デフォルトの名無しさん
2015/05/18(月) 15:00:50.07ID:LJ5lzNyeオブジェクト指向的な要素が最初からあるものと後から追加されたものじゃ
そりゃ差が出るっしょ。
0741デフォルトの名無しさん
2015/05/18(月) 15:29:46.43ID:fsW0cWx40742デフォルトの名無しさん
2015/05/18(月) 15:41:28.44ID:NlgV+Pghといっても、ソースが大幅に変わるような内容はないでしょ。
言語機能を最新技術というのは何か違うと思う。
0743デフォルトの名無しさん
2015/05/18(月) 15:49:44.53ID:hcu+yNsDたとえば、$a=123; $b="123"; とあるとき $a===$b は偽だけど
このときに $aが「数値」で$bが「文字列」だというのをログに吐きたい。
0744デフォルトの名無しさん
2015/05/18(月) 15:50:45.10ID:hcu+yNsD0745デフォルトの名無しさん
2015/05/18(月) 16:27:35.53ID:fsW0cWx4いまだに $v = array('1','2') な人もいるでしょ
0746デフォルトの名無しさん
2015/05/18(月) 16:30:42.17ID:WxtKXoiM0747デフォルトの名無しさん
2015/05/18(月) 21:25:10.67ID:dqU8r2pT普通設計の話になると思うが、なぜそんな枝葉末節から始まるのか
0748デフォルトの名無しさん
2015/05/18(月) 21:53:19.59ID:M5tSLFsjエラー処理に例外使ってないとか、
ジェネレータ、名前空間何それは十分有り得るよね。
0749デフォルトの名無しさん
2015/05/18(月) 21:57:37.92ID:GE/vKBW3$this->
$this->
$this->
$this->
0750デフォルトの名無しさん
2015/05/18(月) 22:18:46.83ID:vI2H8fDe設計が決まっているところからの実装の違いの話だからじゃね?
設計の違いまで含めたら同じことやるコードだろうと似たようなものに収束するなんて話は無いだろ。
0751デフォルトの名無しさん
2015/05/18(月) 22:30:58.77ID:puNFPU+7まあいいんじゃないっすかね
0752デフォルトの名無しさん
2015/05/18(月) 23:17:30.40ID:ZqIMXwl7便利になっているのは確かだが特に積極的に採用するようなものでもないという。
PHP7ではさすがに過去のもの切り捨てたスタイルに変えようと思うけど。
0753デフォルトの名無しさん
2015/05/18(月) 23:32:59.19ID:AnePxwCu0754デフォルトの名無しさん
2015/05/18(月) 23:50:54.23ID:dqU8r2pT要件定義が同じでも設計が異なることなんていくらでもあるように思うんだけど、同じになるの?
0755デフォルトの名無しさん
2015/05/19(火) 00:18:01.36ID:H38JoFScそう言ってるんだが
0756デフォルトの名無しさん
2015/05/19(火) 12:37:21.95ID:N+AyWRZk0757デフォルトの名無しさん
2015/05/19(火) 13:54:20.17ID:kkxdp1Koそのすごい状態が とりあえずの理想だよ
実際にはそこにたどり着けないので トラブルがある
0758デフォルトの名無しさん
2015/05/19(火) 13:55:59.74ID:CgqCKJNSいろいろ無理がある。
0759デフォルトの名無しさん
2015/05/19(火) 15:04:52.29ID:H38JoFSc>>750 では同じことするにも設計なんて色々あると言ってる
そこを一緒にしなければ実装の違いなんて比べられないでしょと
0760デフォルトの名無しさん
2015/05/27(水) 08:19:37.93ID:A8cyjd7Pstrtotime()ではどのような記述にしたらいいですか?
もし出来ないのであれば違う方法を教えてくださいm(_ _)m
0761デフォルトの名無しさん
2015/05/27(水) 08:22:46.47ID:RnsHGaMt単純に15日なのか
そうでない場合月をまたぐ場合はどうするのかとか
0762デフォルトの名無しさん
2015/05/27(水) 13:06:36.87ID:Tt3K3vlc0763デフォルトの名無しさん
2015/05/27(水) 15:26:48.93ID:SOZj9WGYhttp://php.net/manual/ja/book.datetime.php
0764デフォルトの名無しさん
2015/05/29(金) 22:36:40.60ID:6as2IH6X@return 書かないだけだと、書き忘れと区別つかんし。
0765デフォルトの名無しさん
2015/05/29(金) 23:22:11.54ID:9jHPFz3S0766デフォルトの名無しさん
2015/05/29(金) 23:27:44.26ID:3oguv8SC書くべきじゃないがどうしても書きたきゃvoidにしときゃいいんじゃね
フォーマット違反でも結局見る側がわかればいい問題だし
0767デフォルトの名無しさん
2015/05/30(土) 01:11:45.81ID:c2c+lsoh書き忘れと区別付けたいんだよね。
0768デフォルトの名無しさん
2015/06/01(月) 12:21:15.17ID:jClPxdDj0769デフォルトの名無しさん
2015/06/02(火) 15:18:01.04ID:fJ3eeBtWってのは、マニュアルのどこに書いてありますか?
なんかどこを読んでも、そういう前提でマニュアル書いてあるんだけど
自分自身はselfだってことがどこにも書いてないんだよな
0770デフォルトの名無しさん
2015/06/02(火) 15:31:48.92ID:JpMYfsQK『定義済のクラス』
http://php.net/manual/ja/reserved.classes.php
0771デフォルトの名無しさん
2015/06/02(火) 15:48:27.80ID:fJ3eeBtWオー! サンキューベリーマッチ
0772デフォルトの名無しさん
2015/06/02(火) 20:35:59.42ID:7VRhULmj0773デフォルトの名無しさん
2015/06/02(火) 21:30:11.04ID:ruRnIKMr日本語ドキュメントもほとんどないし…
0774デフォルトの名無しさん
2015/06/02(火) 21:35:16.19ID:38iTpmow0775デフォルトの名無しさん
2015/06/02(火) 22:24:24.05ID:OtbaiMpw0776デフォルトの名無しさん
2015/06/02(火) 22:50:28.64ID:fJ3eeBtWFuelPHP いいよ
導入コストはゼロに近い
0777デフォルトの名無しさん
2015/06/02(火) 22:57:26.07ID:dwjHRJAm0778デフォルトの名無しさん
2015/06/02(火) 23:10:54.40ID:n6IbB7yL他で応用がきくからな
おかげでPlayもすんなり使えたぜー
0779デフォルトの名無しさん
2015/06/02(火) 23:27:46.86ID:OtbaiMpw0780デフォルトの名無しさん
2015/06/02(火) 23:58:49.30ID:n6IbB7yL一応あるっちゃあるんだけどな
完璧に使いこなせなくてもいいから
とりあえず使ってみることが大事だぜー
0781デフォルトの名無しさん
2015/06/03(水) 00:43:03.71ID:TkXokWHH他のよりはいいと思うが。
0782デフォルトの名無しさん
2015/06/03(水) 18:21:53.92ID:CFPmUN8f0783デフォルトの名無しさん
2015/06/04(木) 01:04:06.76ID:FZpfA7xp0784デフォルトの名無しさん
2015/06/05(金) 00:36:24.73ID:vgtnI7Mxttp://fuelphp.com/docs/packages/parser/intro.html
0785デフォルトの名無しさん
2015/06/05(金) 15:38:50.15ID:aaRdZOdi0786デフォルトの名無しさん
2015/06/05(金) 15:48:01.47ID:H2M0ctpc'file' が無いところがあったんだけど、ナンデ?
ファイルの存在しないところからのアクセス?
0787デフォルトの名無しさん
2015/06/05(金) 17:50:21.74ID:Mh91SRqR0788デフォルトの名無しさん
2015/06/06(土) 06:26:00.41ID:D7JiD14y一人ならいらないかもしれんけどせっかくだから使ってみたいよね
0789デフォルトの名無しさん
2015/06/06(土) 08:13:38.77ID:wzCXSsbYソーシャル日記アプリみたいな感覚なのかな?
0790デフォルトの名無しさん
2015/06/06(土) 09:07:33.50ID:KMNvqcU5動いたバージョンに何時でも戻せるという安心感は、個人でも有効。
特に学習中は、勘違いして色んな意味で間違ったコードで埋めがちだし。
仕事で本格的に使うようになる前の練習くらいのつもりて良いと思うよ。
0791デフォルトの名無しさん
2015/06/06(土) 18:08:34.74ID:zuUc75X62chなんて「品のいい便所の落書き」だろ
何書いたっていいのさ
0792デフォルトの名無しさん
2015/06/06(土) 19:38:20.72ID:KXeoVawS一人でも要る。
0793デフォルトの名無しさん
2015/06/06(土) 19:51:46.05ID:wzCXSsbYバックアップやメモ代わりには大げさ過ぎる気もするが
0794デフォルトの名無しさん
2015/06/07(日) 20:45:19.06ID:ovV6qflK手動なの?遅すぎるよ
0795デフォルトの名無しさん
2015/06/08(月) 23:26:18.96ID:73KDW0i2【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に関する記述がないのですが
どのように対処するのが適切なのでしょうか?
旨くかけていないかもしれませんがよろしくお願いします。
0796デフォルトの名無しさん
2015/06/08(月) 23:52:37.87ID:pbk/+Kp90797デフォルトの名無しさん
2015/06/08(月) 23:53:58.91ID:pbk/+Kp9これ読んで、そのように使ってるかどうか確認してみたら。
http://www.codeigniter.com/user_guide/libraries/sessions.html
0798デフォルトの名無しさん
2015/06/09(火) 00:00:36.44ID:rzPPp0B+すいません、、
職場でちょっと触ってて家帰って頭捻ってたとこでしてコード見れません。
頂いたUrl見てみます。
0799片山博文MZ ◆T6xkBnTXz7B0
2015/06/09(火) 12:05:41.38ID:9rDHYdk2http://katahiromz.esy.es/taieki/
https://github.com/katahiromz/taieki
なんかいい方法ないかなああああああ
0800デフォルトの名無しさん
2015/06/10(水) 16:30:07.78ID:JjE8Vgth> getCellByColumnAndRow(1, 8)
はひどいよ。
VBAだとCells(8, 2)。
"A1"がgetCellByColumnAndRow(0, 1)ってどういうことだよ・・・。
0801デフォルトの名無しさん
2015/06/10(水) 17:47:10.97ID:o1tFouS8VBAと同じになるようにクラス作れ
0802デフォルトの名無しさん
2015/06/10(水) 18:35:55.43ID:JjE8Vgthそんなに使う昨日多くなかったから、ラッパーメソッドいくつか書いてお茶を濁した。
ほかもいろいろ酷かった。
セルの背景色設定が、
$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);
みたいな感じ。
0803デフォルトの名無しさん
2015/06/11(木) 03:53:34.16ID:ABeq3ksD0804デフォルトの名無しさん
2015/06/11(木) 12:08:06.37ID:dLC9LZnf質問の聞き方が悪すぎる
session関係の設定がわからないしcodeigniterの設定もわからないのにこちらが聞き返さないと行けない
0805デフォルトの名無しさん
2015/06/15(月) 16:32:23.03ID:ks4U7BG0ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション
http://blog.ohgaki.net/input-validation-disables-most-injection-attacks
この人なんでバリデーションにこうもこだわるかね。
SQLインジェクション対策なら、第一に上げるべきはプリペアードステートメントでしょうが。
0806デフォルトの名無しさん
2015/06/16(火) 02:17:57.61ID:VrtJnVQC0807デフォルトの名無しさん
2015/06/16(火) 14:34:25.00ID:8MBTn3Q1また大垣か
何もしないよりはマシだけど、こういう間違ったセキュリティ対策を勧めてもし何かあった場合こいつ責任取れんのかな?
0808デフォルトの名無しさん
2015/06/16(火) 17:03:13.30ID:1ZpIz9bGこのレスには>>805も戸惑いを隠せないだろう。
0809デフォルトの名無しさん
2015/06/16(火) 17:53:26.78ID:a7UeLNF9これじゃ対策できないの?
0810デフォルトの名無しさん
2015/06/16(火) 18:12:09.79ID:sXGSd9skyohgakiという人が、Webアプリのコードを書いてるのか、メジャーどころのFWの事情なんかを
知ってるのか、それを使ってるのか不明だが、上のURLみたいなコードを書いてるとしたら、
もう全然ダメ。
まねしてはいけない。
0811デフォルトの名無しさん
2015/06/16(火) 18:23:04.82ID:TqJAvMYM0812デフォルトの名無しさん
2015/06/16(火) 18:33:03.60ID:sXGSd9skあのコードが「ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション」に
なってるかどうかも判断できないのなら、もっと本読め。
0813デフォルトの名無しさん
2015/06/16(火) 18:34:09.95ID:gqnH2dL3お前に理解力と説明力が無いことは良く分かった。
0814デフォルトの名無しさん
2015/06/16(火) 18:36:34.18ID:sXGSd9skコードが書けたとしても、それは「ほぼ全て」でしかないんだよ。
0815デフォルトの名無しさん
2015/06/16(火) 18:37:41.88ID:sXGSd9skあ、そう来る?
じゃ、大垣氏の考えを全面的に受け入れて、今後もコードを書いてけばいいよ。
大垣氏は書籍も出してるから、全部買って読めばいいさ。
0816デフォルトの名無しさん
2015/06/16(火) 18:43:20.89ID:gqnH2dL3そうくる? じゃねーよw
具体的に例を挙げて説明してみろよw
それも出来ないようじゃお前こそ大垣以下だろw
0817デフォルトの名無しさん
2015/06/16(火) 18:53:58.41ID:TqJAvMYMいや、だからそれがわからないから聞いてるんだけどw
具体的に何が駄目なの?って
0818デフォルトの名無しさん
2015/06/16(火) 18:59:20.87ID:VNwjpJ1t入力に対するエラーを出すための処置だろ
アレで対策を行なうんだと思った方がおかしいんだよ
もっとも、俺もこいつ嫌いだがな。
そもそも、開発中だの仕様変更で開発速度だの言ってるくだりが意味が分からん
最後に、くれぐれもこの緩い入力バリデーション関数で運用に入らないようお願いします
って書いてるんだぞ お前は何がしたいんだ
0819デフォルトの名無しさん
2015/06/16(火) 19:24:49.25ID:1ZpIz9bG横からだけど、
・適切に処理しなければ問題が発生する文字がある
→ならそれらの文字を除外すればよい
という対応をしているわけだけれど、それが本末転倒だと思えるかどうかじゃないかな。
Webサーバを公開していたら攻撃されたので80ポートふさぎました。これで攻撃されません。
この対策はある意味では正しいけど、本末転倒だし根本的に間違えているでしょ。
0820デフォルトの名無しさん
2015/06/16(火) 19:27:22.33ID:1ZpIz9bG彼が除外すべきだとしている一部の記号を入力できてしまう。
そういう意味でも、駄目だね。
0821デフォルトの名無しさん
2015/06/16(火) 19:43:29.69ID:VNwjpJ1t0822デフォルトの名無しさん
2015/06/16(火) 21:31:42.38ID:ZuUbQivGその他に、バリデーションとしてどこがダメなの?
0823デフォルトの名無しさん
2015/06/16(火) 22:08:13.38ID:JwGJ9FW7インジェクション攻撃はSQLだけにあらず
0824デフォルトの名無しさん
2015/06/16(火) 22:44:11.83ID:+xig3h/n横から口挟むけど、インジェクション対策をしようとしてのバリデーションて話なら、その発想がどこかナナメだということじゃないの?
例えばHTMLエディタを作りましょうって場合に、悪用可能な文字は全部除外してしまえ!とか無理でしょ。
インジェクション対策は、例えどんな文字列が来ようとSQLとか外部コマンド、ユーザーサイドへ出力するHTML、JS、CSS、etc. を混乱させない処理を施すこと(適切なエスケープ、サニタイジング)が基本でしょ。
もちろん目的に敵わない入力を予め除外するというのは前処理として決して的外れではないんだけど、それは本質じゃないってことだ。
そんな当たり前のところで食い下がるって、もしかして本人?
0825デフォルトの名無しさん
2015/06/16(火) 22:54:56.34ID:MQvvbfkJまず>>829が書いているように、省いている文字を入れたいのに入れられない。
あとバイナリデータ入れたい場合これだとどうしようもない。
書いているバリデーションの質としてどうこうはこの際どうでもよくて、「SQLインジェクション対策」を目的としているから根本的にダメなんだよ。
0826デフォルトの名無しさん
2015/06/16(火) 22:55:59.68ID:a7UeLNF90-Zみたいなバグは置いといて、何がまずいの?
仮にあれだけの文字除外して大丈夫なシステムだったら採用してOKなの?
>>824の基本は十分分かってるけど、そもそも色んな言語に分けて対応しなくていいなら楽でしょ
0827デフォルトの名無しさん
2015/06/16(火) 22:56:54.24ID:MQvvbfkJ0828デフォルトの名無しさん
2015/06/16(火) 23:07:26.26ID:MQvvbfkJ> 仮にあれだけの文字除外して大丈夫なシステムだったら採用してOKなの?
改行と記号と空白を除外するシステムって自分は見たことないんですが……。
> >>824の基本は十分分かってるけど、そもそも色んな言語に分けて対応しなくていいなら楽でしょ
それだったらプリペアードステートメントのほうが間違いなく楽なんですが……。
0829デフォルトの名無しさん
2015/06/16(火) 23:07:32.75ID:+xig3h/nバリデーションですり抜ける直接的な文字でインジェクションできなくても、その文字列が直接使われない場所でなら悪用できるかもよ。
メジャーな処理として挙げるわけじゃないが、何かのキーをBASE64で変換してフォームとやりとりしてて、SQLにはそれをデコードしたものを含めてるとか。
だいたい悪用しようとする側からすれば、サーバサイドへ何かを入力する経路はGETやPOSTだけじゃなくCOOKIEだってあるわけで、フォームの項目だけバリデーションすればいいような話はひいき目に見てもミスリード。
対策はそのデータの利用場面に合わせてしか行えない。
だから基本だと言ってるし、それが本質。
0830デフォルトの名無しさん
2015/06/16(火) 23:31:47.97ID:96Zh/lJj本来は個別に対策すべきで、「ほぼ全ての・・・」っていう
包括的なバリデーション関数を作ること自体がナンセンスってことなの?
0831デフォルトの名無しさん
2015/06/16(火) 23:41:57.96ID:+xig3h/nほぼ全て云々はおれの主張することじゃないんで見解だけ言えば、バリデーションで全てのケースに対応できるわけないんだからバリデーションでインジェクション対策をするという発想そのものが誤り、かな。
そもそも何故それをバリデーションでやりたいの?って話だよ。
それだけやっとけば後は特別なことをする必要がない包括的な手段として目を付けたということなんだろうけど、それが成立するのは全てのケースに対応できる場合だけ。
それができないというんだから、その方法には特別な価値は無いということだよ。
0832デフォルトの名無しさん
2015/06/16(火) 23:44:05.29ID:a/iHLN7R0833デフォルトの名無しさん
2015/06/17(水) 00:03:10.37ID:LiGG8CESなるほど。「バリデーション」と「インジェクション対策」は別のフェーズと考えるべきなのか。
そういう考え方だと、「ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション」
っていうのはフェーズを混同させるものとも言えるね。
0834デフォルトの名無しさん
2015/06/17(水) 00:24:54.80ID:qOETCbZkしかも、他の人も書いてるけどプリペアドステートメントみたいなずっといい方法があるんだから、それを活用した方がいい。
ただ、包括的に処理できればなぁとは思う。
SQLの場合はこの方法、sh使うならこの方法、HTMLに埋めるならこの方法と、やり方がばらばらだしやるべき場面も知っている必要があるからね。
変数のtypeを拡張して、単なる文字列なのか、HTMLとしても文字列なのかのような属性を持たせて、型違いになる値の埋め込み時には自動キャストよろしく勝手に適切な処理がされるとか。
言うほど簡単な話じゃないけど。
0835デフォルトの名無しさん
2015/06/17(水) 09:59:54.85ID:DHqA5koz> そういう考え方だと、「ほぼ全てのインジェクション攻撃を無効化/防止する入力バリデーション」
> っていうのはフェーズを混同させるものとも言えるね。
そう。
そして、yohgakiは意識的にか無意識か知らないけどずっと前(2008年あたり?)からそういう論調で、
自分が万人に受け入れられるまでは続けると思うよ。
0836デフォルトの名無しさん
2015/06/17(水) 10:32:14.52ID:k/UmS/Z+つーか、いちいちコイツがなんか書いたからってわざわざ報告しなくていいから
0837デフォルトの名無しさん
2015/06/17(水) 12:39:47.02ID:RAu2/XiIフィルタリングである程度想定してないデータを弾くのはいいことだ
0838デフォルトの名無しさん
2015/06/17(水) 12:46:54.91ID:Y2jbb8HB0839デフォルトの名無しさん
2015/06/17(水) 21:56:23.78ID:jnKm6Y3Z$query = "SELECT * FROM tweets WHERE tweetid=$tweetid;";
みたいに、入れるものが明らかに安全なときはプリペア使わないことがあるけどだめ?
0841デフォルトの名無しさん
2015/06/17(水) 22:15:53.40ID:RAu2/XiIそんなのは普通
0842デフォルトの名無しさん
2015/06/17(水) 23:54:41.11ID:nOv8plofGetの値があきらかに安全だという
根拠を知りたい(´・ω・)
0843デフォルトの名無しさん
2015/06/18(木) 00:34:26.83ID:KbwadcNI変なのきてても0になるだけ
0844デフォルトの名無しさん
2015/06/18(木) 10:55:58.22ID:yMgp6kaJそれはそれでいいかもしれない。
ただ数値型はAという処理、文字列はBという処理みたいに、内容に応じてクエリを作るとミスが起きる可能性がある。
その点プリペアドステートメントはどのパターンでも統一した書き方ができるので、結果ミスが起き辛くなる。
0845デフォルトの名無しさん
2015/06/18(木) 12:54:06.95ID:d3F4/2GHRDBMSにもよるが、プリペアードクエリは、SQLインジェクション対策以外にも
実行計画をキャッシュできるというメリットがある。
0846デフォルトの名無しさん
2015/06/18(木) 16:01:25.16ID:spIyrXEmcrontab -u www-data -e
↓
0 15 * * * cd /var/www/html php -f ./auto.php
php -f ではなくphp5 -fにした方がいいのではないかと悩んでいます。
0847デフォルトの名無しさん
2015/06/18(木) 16:57:43.56ID:kNpEqESrサーバー次第なので聞かれても分からんよ
cdコマンドの後 普通は ;じゃね?
つーかPHPかんけーねー
0848デフォルトの名無しさん
2015/06/24(水) 21:08:45.56ID:sYzOe4hnYoutubeの動画をDLするスクリプトを書いてたのですが、ものによって低画質だったり高画質だったりします。
高画質でDLするにはどうすればいいでしょうか。
0849デフォルトの名無しさん
2015/06/24(水) 21:39:02.34ID:ix5XSndE先にコード貼れよ
どういうコードかによってアドバイス変わるだろ
0850デフォルトの名無しさん
2015/06/24(水) 21:50:20.18ID:dh/bI8tC0851デフォルトの名無しさん
2015/06/24(水) 23:07:30.99ID:XZ6zUxBq0852デフォルトの名無しさん
2015/06/24(水) 23:57:01.78ID:sYzOe4hnやり方は同じなので、品質のばらつきはコードとは別に問題があると思い質問しました。
0853デフォルトの名無しさん
2015/06/25(木) 03:19:00.00ID:Wi36vyFtお察しのとおりスレチだよ。PHP関係ないもの。
0854デフォルトの名無しさん
2015/06/25(木) 04:38:30.21ID:chffdwA+やり方は知ってるよ
でもスレチだから答えてあげない
0855デフォルトの名無しさん
2015/06/25(木) 07:52:20.99ID:iAgotMUN0856デフォルトの名無しさん
2015/06/26(金) 13:58:00.27ID:LOLHSmOB無いようなら立ててもいいかな?
0857デフォルトの名無しさん
2015/06/26(金) 14:17:52.32ID:OdrCnoN5あらゆる質問はまずすれ立てるまでもない質問はここでスレにしてください。
その他、お勉強ページへのリンクスレ、
推薦図書・必読書スレ
もあります。
プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
ウイルス、ハッキング・クラッキングを求めるような発言は禁止です。
Javascript は Web 制作板、CGI は Web プログラミング板へ。
業界談義、愚痴はプログラマ板へどうぞ。
ゲーム関係の話題はゲーム製作板へどうぞ。
ネタ、板とは関係の無い話題はご遠慮ください。
0858デフォルトの名無しさん
2015/06/26(金) 18:05:08.61ID:LOLHSmOBどうしたらいいかな
CTRL+SHIT+�T でポップアップできるけど、いちいちキー打ちゅの面倒くさい
0859デフォルトの名無しさん
2015/06/26(金) 18:36:39.29ID:o1Df+09Z0860デフォルトの名無しさん
2015/06/27(土) 19:15:35.21ID:XTIsa2U8ツールチップヒントが出るけど、この出るまでの時間がちょっと長くて
これを短くするにはどうしたらいいかな
0861デフォルトの名無しさん
2015/06/28(日) 13:48:24.55ID:5m9gZHLmこれって俺だけ?
if( $unko ){
exit(0);
}
switch( $chinko ){
case USED:
do();
break;
default:
die();
}
みたいな感じ
0862デフォルトの名無しさん
2015/06/28(日) 14:31:25.51ID:ztXjEmUKしてる
0863デフォルトの名無しさん
2015/06/28(日) 15:40:16.32ID:5m9gZHLmおお! いるのか。
PhpStormとかEclipseとかは こういうインデントに対応してないから
switch文だけ毎回微調整しなきゃならなくて 面倒くさいんだよな
0864デフォルトの名無しさん
2015/06/28(日) 15:54:18.93ID:YBvq0FDq0865デフォルトの名無しさん
2015/06/28(日) 20:49:02.58ID:RSiHFvOo0866デフォルトの名無しさん
2015/06/29(月) 07:19:44.21ID:GUCtyGAaまた大垣がやらかしたようですが、
自分は脆弱性のあるプログラムしか書けないくせに、
バリデーションはセキュリティ(キリッ)とか言っちゃてて恥ずかしくないのでしょうか?
0867デフォルトの名無しさん
2015/06/29(月) 12:29:31.19ID:eS8mn29W0868デフォルトの名無しさん
2015/06/29(月) 14:03:59.40ID:dI4zlbguどっちにつくのも自由だよ
0869デフォルトの名無しさん
2015/06/29(月) 14:42:09.32ID:teFqna/9どこで区別されるの?
insert時に重複してると例外がでるけど
これエラーで済ませないかな
0870デフォルトの名無しさん
2015/06/29(月) 17:19:26.63ID:k48kibIUどっちにしてもトランザクション中なら続きできない気がするが
0871デフォルトの名無しさん
2015/06/29(月) 17:41:24.15ID:nWtxw8xH0872デフォルトの名無しさん
2015/06/30(火) 06:37:05.20ID:+pw4+xSbいや全然違う
CSRFも理解しておらず、この間はテストすらしてないバグのあるコードを公開してた
大垣にセキュリティを語る資格はない
0873デフォルトの名無しさん
2015/06/30(火) 12:26:30.07ID:htUHD13i話がかみ合ってない
0874デフォルトの名無しさん
2015/06/30(火) 12:39:27.03ID:f9Xenhmh0875デフォルトの名無しさん
2015/06/30(火) 12:57:40.74ID:+pw4+xSb会話の土台にすら立ててないってこと
デタラメなセキュリティ情報を発信する奴につくのは見当違いな発言だろ
0876デフォルトの名無しさん
2015/06/30(火) 13:01:17.94ID:htUHD13i別におかしなやつについていこうがなにしようが自由でしょ。ばかだなぁとは思うけど。
ちな>>808は俺な
0877デフォルトの名無しさん
2015/06/30(火) 15:57:44.78ID:yGbQd19mhttp://blog.ohgaki.net/criticism-for-my-sample-program
削除した記事には、こんなこと書いてたのに。
> 徳丸さんのブログでの全く間違った指摘に対するコメント ...
> blog.ohgaki.net/wrong-criticism-for-my-sample-program
> 4 時間前 - 徳丸さんとは論理的に議論をする余地がないので、議論をするつもりは全くありません。
> しかし、完全に間違った指摘をされているのでコメントしておきます。 問題のブログはこちらです。
> 書籍『Webアプリケーションセキュリティ対策入門』のCSRF ...
0878デフォルトの名無しさん
2015/06/30(火) 16:01:05.21ID:yGbQd19mhttp://blog.ohgaki.net/wrong-criticism-for-my-sample-program
の内容を丸ごと置き換えて、同じ内容を
http://blog.ohgaki.net/criticism-for-my-sample-program
でも公開してる。
なんだこれ。
0879デフォルトの名無しさん
2015/06/30(火) 16:17:02.91ID:+pw4+xSbこれは酷い
けど、ようやく間違いを認めたようだね
検証した人のわかりやすいまとめもあるから反面教師にしよう
↓
書籍『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
0880デフォルトの名無しさん
2015/06/30(火) 19:44:44.03ID:6xoEPUUHそんなのはお前の名前だした上で別のとこでやれ
0881デフォルトの名無しさん
2015/06/30(火) 21:20:00.22ID:TGfi4m1b公開属性?
0882デフォルトの名無しさん
2015/06/30(火) 22:18:02.60ID:Ni6S0TpV0883デフォルトの名無しさん
2015/07/01(水) 00:39:36.48ID:O0L9W844ドロップダウン作るのがすごく不便なんですがなんとかなりませんかね
0884デフォルトの名無しさん
2015/07/01(水) 02:53:09.99ID:jhXB2ucL0885デフォルトの名無しさん
2015/07/01(水) 10:49:41.54ID:Gv9F9Dvy0886デフォルトの名無しさん
2015/07/01(水) 11:35:50.08ID:7SCeZZlO質問も上に出てる
0887デフォルトの名無しさん
2015/07/02(木) 17:13:07.14ID:udBxYDkn書き留めておきたいんだけど、どうすればいい?
0888デフォルトの名無しさん
2015/07/02(木) 20:28:22.37ID:u9YxqP+Sphpdocのときは変数名でわかるようにしたりしたよ。
0889デフォルトの名無しさん
2015/07/02(木) 22:59:52.90ID:Ji+WLvKOだが作りたいものが無いので取っ掛かりがつかめないんだがどうしたらいいだろう。
0890片山博文MZ ◆T6xkBnTXz7B0
2015/07/02(木) 23:05:58.70ID:4xu5S6HjクラウドとAjaxで掲示板のウェブパーツを作ってくれ。
0891デフォルトの名無しさん
2015/07/03(金) 13:38:24.37ID:nz2GsR+p例えばページ読み込んで1秒後にjavascriptを使ってphpの変数の値を取りたい時とか、変数の値はまだ保持できてるの?
0892デフォルトの名無しさん
2015/07/03(金) 14:16:31.27ID:3rp9Mnby0893デフォルトの名無しさん
2015/07/03(金) 14:24:32.64ID:nz2GsR+pサーバとクライアントは把握している
phpはサーバー側で処理されるんだろう
例えばjsで作った変数はクライアント側で保持されるけど、phpの変数保持期限ってのはよくわかってない
生存場所はどっかのメモリに保持される、ぐらいの曖昧なレベルしか想像出来ていない
0894デフォルトの名無しさん
2015/07/03(金) 14:49:09.71ID:HsGlHAzdPHPの変数なんだからphpが生きてる場所生きてる間だけが有効範囲。
つまりそのままではサーバ上のPHPスクリプト内でしか参照できないし、クライアント(ブラウザ)へ出力し終えたら跡形もなく居なくなる。
PHPが持っていた変数の値をクライアントのJSで参照したいなら、クライアントへ送り返す出力へJSソースコードの形なんかで含めておく。
んまあその調子だとサンプルが無いと理解できなそうだね。
残念ながら今サンプルは提供できないけど。
0895デフォルトの名無しさん
2015/07/03(金) 14:58:13.27ID:nz2GsR+pありがとう、理解出来たよ
>クライアント(ブラウザ)へ出力し終えたら跡形もなく居なくなる。
これが知りたかった
0896デフォルトの名無しさん
2015/07/03(金) 21:50:02.57ID:7d9NxVxwありがとう
PHPDocって意外とかゆいところに手が届かないよね
0897デフォルトの名無しさん
2015/07/04(土) 10:41:36.81ID:tBngPXwXVS.Php for Visual Studio
PHP Tools for Visual Studio
PHP Language Support
の3つが出てくるのですが、どれがお勧めですか?
3つ全部入れるとおかしくなりますか?
使ったことある人、それぞれの特徴など教えてくれよ
0898デフォルトの名無しさん
2015/07/04(土) 11:10:15.10ID:cUUS545T上は有料 下はハイライト表示できるだけ
0899デフォルトの名無しさん
2015/07/04(土) 11:21:57.49ID:tBngPXwXレス有り難うございます。
この二番目のやつ、昔は無料板が有ったようですが、今は無さそうなんでが、私の勘違いですか?この会社のHP見てもfree版を見つけられません。
0900デフォルトの名無しさん
2015/07/04(土) 12:27:38.01ID:cUUS545T払わないと機能は限られるけど無料で使い続けられる
0901デフォルトの名無しさん
2015/07/04(土) 13:09:36.94ID:csloKTS+デスクトップPCとノートPCの両方にインストールして使っていいの?
0902デフォルトの名無しさん
2015/07/04(土) 14:12:51.05ID:tBngPXwXなるほど、そういうことですか。
ありがとうございます。
やはりVSでPHPやる人は、これを購入しているのでしょうか?
0903デフォルトの名無しさん
2015/07/04(土) 14:46:48.69ID:ZF0hC5cMPHPならnetbeansやeclipse、はたまた慣れたエディタで良さそうな気が
0904デフォルトの名無しさん
2015/07/04(土) 15:49:05.14ID:3cpiwj5J0905デフォルトの名無しさん
2015/07/04(土) 18:03:00.13ID:vQN4X51OVSのphpツールを使えば、phpスクリプトをexeファイルに転換することは出来ますか。
0906897
2015/07/04(土) 18:26:21.97ID:tBngPXwXPHP 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
が出て解消出来ません。どのあたりをチェックすれば良いでしょうか?
0907デフォルトの名無しさん
2015/07/04(土) 18:38:08.01ID:qSwrJLUrClass 'PEAR' not found
↑このあたりをチェックしてください
あと、VS2013にphpを入れたって言うのやめよう。
あなたのPCにVS2013とPHPを入れたに過ぎない。
0908デフォルトの名無しさん
2015/07/04(土) 19:54:39.60ID:v523Fn+nせめてHTTP_Request2を使ってください
PEARなんて使わんでもcURLでことたりる
クッキーとかリファラーとかいらないサイトならfile_get_contentsだけでいい
と余計なおせっかいをしてみる
0909897
2015/07/04(土) 20:13:59.14ID:tBngPXwX新しい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使う方針のほうが良いでしょうか?
0910デフォルトの名無しさん
2015/07/04(土) 21:04:16.09ID:v523Fn+nwindows版xamppのphpはよく使うpeclとかに必要なdllが揃っていて、
php.iniで有効にするだけですぐ使える状態になるのも多いが、
pearはコアしか入ってないような気がする。
結局必要なものは都度インストールしないといけないと思うよ。
go-pearでパッケージマネージャ入れて、
php pearcmd.php install HTTP_Request2
とかやれば関連パッケージも勝手にやってくれるし。
0911デフォルトの名無しさん
2015/07/04(土) 21:15:52.96ID:ku1TVvdF0912デフォルトの名無しさん
2015/07/04(土) 21:20:13.76ID:ZF0hC5cMビルド環境整えられる人は実質限られてる
0913897
2015/07/04(土) 21:29:51.38ID:tBngPXwX参考までにどういう構成か教えてください。
0914デフォルトの名無しさん
2015/07/04(土) 22:59:15.02ID:ifL9jFAi仮想でCentOS入れて擬似的な環境を構築してる。
理由はWindowsとLinuxだと挙動が異なる部分があるから。
0915デフォルトの名無しさん
2015/07/05(日) 00:22:14.63ID:4t+47Ntn開発はWindowsでそっちにはPHP5.4とApacheぐらいしか入ってないけど。
OpenSSLはhttps使うためで、PHPでOpenSSL関数使ってどうこうするとかそういう目的で入れてるわけではない。
DBは最近はSQLite使ってるしMySQLは全然使ってない。
実際はPHPMailerみたいなSMTPとPOP3実装してるスクリプト使って、外部のメールサーバ使ってるから、
Postfixは機能してない。踏み台にされない自信がついてから使う予定。
追加インストールやモジュールを有効化させる必要があるものとしては、GD memcached cURL等いっぱいある。
PEARは使わない方針。
0916デフォルトの名無しさん
2015/07/05(日) 03:02:00.62ID:+z9nj1c8>>914と同じで、仮想マシンにLinux入れてる
0917デフォルトの名無しさん
2015/07/05(日) 07:12:11.96ID:3yF620GDとりあえず間違って代入しないように全部の変数名を型名_変数名にしてるんですが一般的ではないですよね?
0918デフォルトの名無しさん
2015/07/05(日) 08:24:26.93ID:Uqe8BPsoなんかいろいろ心配と勘違いしてるな
0919デフォルトの名無しさん
2015/07/05(日) 09:11:30.64ID:wLc26Ae+0920デフォルトの名無しさん
2015/07/05(日) 12:36:43.76ID:yHORgw3K第一に、型の自動変換をよく理解する。
第二に、必要に応じ明示的にキャストする。
第三に、ユニットテストで確認する。
0921デフォルトの名無しさん
2015/07/05(日) 12:40:09.72ID:yHORgw3K自動変換された型の値が入ることもあるのであまり意味がない。
0922デフォルトの名無しさん
2015/07/05(日) 15:46:48.25ID:3yF620GDただミスが心配で・・・
構文エラーを見つけてくれるツールみたいなのありませんか?
0923デフォルトの名無しさん
2015/07/05(日) 15:48:10.63ID:+z9nj1c8変数名から型が類推できない状況があまりないように思うけど、たまにはあるのかな
0924デフォルトの名無しさん
2015/07/05(日) 16:09:08.10ID:VORGGaSFう〜(・ω・`)
0925デフォルトの名無しさん
2015/07/06(月) 01:20:56.94ID:Kti+i7KdJavaっつったら普通Eclipseあたり使うと思うんだけど
メモ帳とかで開発してたわけ?
0926デフォルトの名無しさん
2015/07/06(月) 01:26:59.99ID:1HLVIjn9Eclipse使うとPHPの構文エラー見つけてくれるの?
0927デフォルトの名無しさん
2015/07/06(月) 01:31:02.02ID:KV2IR53H0928デフォルトの名無しさん
2015/07/06(月) 01:39:37.85ID:Kti+i7KdIDE使ったことないのかよ・・・
0929デフォルトの名無しさん
2015/07/06(月) 02:10:38.84ID:1HLVIjn9あるよ。
PHPの型の不一致も見つけてくれるの?
0930デフォルトの名無しさん
2015/07/06(月) 02:22:19.22ID:i5+ZC+xxEclipseではそこまで見てくれない
PhpStormなら見つけてくれる
0931デフォルトの名無しさん
2015/07/06(月) 03:42:51.76ID:iuaD/3wt===使えっていう話になるし
0932デフォルトの名無しさん
2015/07/06(月) 04:42:41.97ID:1HLVIjn9じゃあタイプヒンティングなんていらないね。
つーか、なんかかたくなすぎないか?
0933デフォルトの名無しさん
2015/07/06(月) 04:50:53.53ID:iuaD/3wtタイプヒンティングは暗黙の変換じゃないじゃん
それはもちろんパースエラーになるに決まってる
0934デフォルトの名無しさん
2015/07/06(月) 04:52:57.84ID:1HLVIjn9パースエラーって、実行前にEclipse上でエラーを検知してくれるということ?
0935デフォルトの名無しさん
2015/07/06(月) 05:10:25.26ID:iuaD/3wtEclipseってひとくくりにしても実行前にエラー検知してくれるかはプラグインによるでしょ
Java入れてないからEclipseなんて使えんし知らんよ
わざわざ型指定してんならさすがに出してくれるだろ
ていうか無料なんだからPDTあたりで試してみろよ
0936デフォルトの名無しさん
2015/07/06(月) 05:33:44.03ID:1HLVIjn9なのに > それはもちろんパースエラーになるに決まってる
なんて書いたの?
> わざわざ型指定してんならさすがに出してくれるだろ
ふぅん
0937デフォルトの名無しさん
2015/07/06(月) 05:38:19.34ID:iuaD/3wt俺はPHPインタプリタの話をしてたんだがな
Eclipseの話なんてした覚えはねーよ
0938デフォルトの名無しさん
2015/07/06(月) 06:05:01.37ID:1HLVIjn9じゃあ実行時エラーの話に変わってるってことか。
元質問の意図を読めてないね。
0939デフォルトの名無しさん
2015/07/06(月) 06:08:21.21ID:iuaD/3wtそれは違うだろうと言っただけなんだがな
0940デフォルトの名無しさん
2015/07/06(月) 06:13:19.34ID:1HLVIjn9> それはもちろんパースエラーになるに決まってる
んでしょ?
0941デフォルトの名無しさん
2015/07/06(月) 06:55:26.33ID:iuaD/3wt型の不一致って曖昧な表現で型指定ありきで議論するのがそもそもナンセンスだからその辺理解してくれ
0942デフォルトの名無しさん
2015/07/06(月) 07:21:47.69ID:ltVzluvDfunction concat(string $a, string $b) : stringとか、引数や返り値にはできても、
int $a = 1;
string $b = "a";
とか、変数には出来ないのに、タイプヒンティングとか関係あるの?
$a+$bや$a.$bでエラーが出るようにしてくれって言ってるように思えるんだけど。
0943デフォルトの名無しさん
2015/07/06(月) 10:52:48.09ID:jnmQ4lhDPHPにおいてそれは構文エラーでもパースエラーでもないよ。
だからIDEで検出できるのは無いか、もしくは少ないだろうね。
0944デフォルトの名無しさん
2015/07/06(月) 12:21:26.51ID:da/MN1a6そんなチェック無くても困ることなんてほとんど無いよ。
ちゃんとテストすれば何の問題も無い。
0945デフォルトの名無しさん
2015/07/06(月) 14:03:52.24ID:oXtXAYjBバルーン出たと思ったら全然関係なかったり
>>930のテストコードがどういうのかはわからないけど
"abc"===trueやarray指定してるのにただの変数渡しても特に何も言わない
設定が悪いのかなんか入れないといけないのか見るところ間違ってるのかわからないけども
前回保存したコードいじってたらインデントがおかしくなったり
今のところ評価はNetbeansやEclipseより駄目な感じ
0946デフォルトの名無しさん
2015/07/06(月) 14:18:08.71ID:jgWjPX/ONetbeans ってPhpStormの無料版じゃないの?
0947デフォルトの名無しさん
2015/07/06(月) 14:25:36.29ID:oXtXAYjBそれは初耳
フォークかなんか?
とりあえず開発してるグループは違うから別物だと思うけど
PhpStormに無料版があるならPhpStorm Free Editionとかになりそう
0948デフォルトの名無しさん
2015/07/06(月) 14:27:24.46ID:oXtXAYjBPhotoshopに対するGimpみたいなこと言いたかったのかな?
VSも含めてIDEは似てる部分いっぱいあるからね
0949デフォルトの名無しさん
2015/07/06(月) 16:16:12.23ID:jgWjPX/O完全な勘違いだった。 同じ会社が作ってると思ってたわ。
ねこび〜んかわいい。
0950デフォルトの名無しさん
2015/07/06(月) 16:17:17.27ID:jgWjPX/O0951デフォルトの名無しさん
2015/07/06(月) 17:07:27.00ID:EWqBVBeGEclipse使ってたけど構文エラー警告してくれない。
0952デフォルトの名無しさん
2015/07/06(月) 18:45:06.80ID:swqGSHIcvsでphpやる奴はいないのか?
猫ビーンのほうがいいのか?
0953デフォルトの名無しさん
2015/07/06(月) 20:27:43.19ID:TRPzwZ1EVSでPHPやる事自体そもそもナンセンス
VSでJava書いたりCOBOL書いたりしてるようなもの
0954デフォルトの名無しさん
2015/07/06(月) 20:41:52.88ID:swqGSHIcvsでcobolやれるのかどうかは知らんが、vsでcobolやってる奴居ればそりゃ変だと俺も思う。
でもvsでphpやるのって、それ位変なのか?ここにはvsでphpやってる人、一人も居ないのか??教えてケレ!
0955デフォルトの名無しさん
2015/07/06(月) 20:49:24.37ID:+DHCfnaN元々Win畑で大半は.netだけどたまーにECCUBEカスタマイズとかの案件やるくらいだから
VS以上のIDEなんて存在しないんだけど情報少ないのはハマるとキツイ
0956デフォルトの名無しさん
2015/07/06(月) 21:02:13.84ID:swqGSHIcなるほど、そう言う事か。
phpと.net両方やっている人の意見は説得力有るな。参考になったよ、サンキュウ!
0957デフォルトの名無しさん
2015/07/06(月) 21:28:30.57ID:SWoG0MmF0958デフォルトの名無しさん
2015/07/06(月) 21:37:40.57ID:3Nwo+Cbx0959デフォルトの名無しさん
2015/07/06(月) 21:43:05.84ID:SWoG0MmF0960デフォルトの名無しさん
2015/07/06(月) 21:44:39.72ID:SWoG0MmF0961デフォルトの名無しさん
2015/07/06(月) 23:19:17.73ID:jnmQ4lhD昔使ってたけど即捨てた。で、色々試した結果結局SublimeTextに落ち着いた。
最近Atomが出たけどどうなんだろ?
0962デフォルトの名無しさん
2015/07/07(火) 01:01:39.96ID:jrHiHLu0当然じゃない
慣れたIDEに統一したほうがいいしいくつもIDE入れるのは愚策
使えなかったら仕方なく他のを入れるぐらい
0963デフォルトの名無しさん
2015/07/07(火) 08:07:08.09ID:GGpy3zJyいくら慣れ親しんでてもVSでPHPやるみたいに生産性落ちたら意味ないだろ
馬鹿か
0964デフォルトの名無しさん
2015/07/07(火) 08:17:23.35ID:oR9xV2kdVSでPHPやるとそんなに生産性悪いのか?俺は知らんが、も少し具体例を教えてくれよ。
0965デフォルトの名無しさん
2015/07/07(火) 08:38:07.60ID:0GZbV0wXトレースしたりブレーク張ったりできれば便利だなと思うけど、そういうことはできるの?
0966デフォルトの名無しさん
2015/07/07(火) 08:41:54.00ID:oR9xV2kdIDEって言えば最低限それ位の機能は必要だと思う。それが無いとエディタと変わらんし。
0967デフォルトの名無しさん
2015/07/07(火) 08:42:28.83ID:9H83+G3xVSでPHP、JS、C#書いてるけど、各言語オンリーだったらJS以外に使ってみたいのは有る。
ただ、個人でやるならまだしも、社外の応援頼んだり後輩教育の時にVSだと話が通りやすい。
0968デフォルトの名無しさん
2015/07/07(火) 08:46:18.06ID:qmpX8CEEいくら言語に特化した優秀なIDEだって0からだとしばらくは生産性落ちるだろうよ
やり玉にあがってるVSでPHPだってそんな生産性落ちるってほどでもない
自分ならC#はVSだがその他のJS PHP Py JavaはEclipse使うわ
0969デフォルトの名無しさん
2015/07/07(火) 08:48:10.24ID:9H83+G3x今時のIDEはクラスライブラリの取込みが簡単になってるから、既存ライブラリで良い時に使ってる。
0970デフォルトの名無しさん
2015/07/07(火) 08:55:44.25ID:0GZbV0wXなるほど、やっぱりそれなりのことはできるのね。
でもそういうのって、デバッグ環境をターゲット環境にどう合わせるかが面倒そうだけど、
例えば httpd下で動くphpにも対応できるのかな。
ブラウザから何かをPOSTして、サーバサイドのphpにブレーク張ってステップ実行する、みたいな。
もしかするとIDEにhttpdまで入っちゃってたりするのかな。
それはそれでhttpdの設定の再現や互換性が気になるところ。
つべこべ言わずこれ触ってみろやってのはある?
0971デフォルトの名無しさん
2015/07/07(火) 09:51:11.21ID:41wd3X8yちょっとは触っとけ というのは確かにある。
おれはそれでsublimeとbracketsを切った。
0972デフォルトの名無しさん
2015/07/07(火) 13:39:05.05ID:ws3V8sWIIDEがどうこうの前に、xdebug使ってないってことか
0973ドラゴニア善財
2015/07/07(火) 18:20:16.54ID:rvYvDGj8勢いで就活したらPHP使うWEB系のブラックっぽい企業に内定もらった。
phpも実際の現場じゃオブジェクト指向にもとづいてみんなで開発してんの?一人でやってたから
まったくイメージがわかない。まずは営業成績管理するシステム開発する部署でスタートするんだけども。
0974デフォルトの名無しさん
2015/07/07(火) 18:33:43.27ID:ws3V8sWIとりあえず現場にあわせる。
ちゃんとしてるならそれでいいし、ひどいなら少しずつ改善提案。
それだけのことですよ。
0975ドラゴニア善財
2015/07/07(火) 21:08:04.43ID:rvYvDGj8ありがとう
一応オブジェクト指向で開発していくのが望ましいいんだね。
0976デフォルトの名無しさん
2015/07/07(火) 22:11:59.00ID:oR9xV2kdもし良ければそのショッピングサイト
どこ?教えてくれよ
0977デフォルトの名無しさん
2015/07/07(火) 22:41:27.51ID:ws3V8sWI今どきデザインパターン知らない人もいないだろうし、意識レベルを合わせやすいからね。
とにかく、独学でやってた人がチームに入る場合は、まず合わせること。
気に食わなかろうがなんだろうが、まずはそうすることが大事だよ。
0978デフォルトの名無しさん
2015/07/08(水) 04:17:30.25ID:PAkk6HqaVSでclient sideのJavaScriptしか書いた事無いんだが、PHPでserver sideのデバッグする時ってclient side JSのデバッグも一緒に出来るの?
0979デフォルトの名無しさん
2015/07/08(水) 11:56:22.30ID:ribTz8l0PhpStormでクラス定数とかの上にマウスカーソルを乗せたときに
定義値をポップアップ表示してほしいんだけど、どうすれば出来るの?
0980デフォルトの名無しさん
2015/07/08(水) 19:31:14.68ID:AmEp81MbDBのパスワードがかかれたソースファイルを
ルートより上位のディレクトリに置くように書かれていたのですが、これは、レンタルサーバで実現できるのでしょうか?
ロリポップではできませんでした。
レンタルサーバで、パスワードがかかれたソースファイルを隠すにはどのような手段が一般的なのでしょうか?
0981デフォルトの名無しさん
2015/07/08(水) 19:39:13.06ID:Kxz7evxA非公開ディレクトリに置けばOK
0982デフォルトの名無しさん
2015/07/08(水) 22:19:04.00ID:9IdXyS8mロリポは、たしか公開領域しか使えないんだよね。
その場合、.htaccessでアクセス制限かけたディレクトリを使う方法がある。
根本的な解決として、公開領域の上に非公開領域がある
別のサーバーを使う方がおすすめ。
0983デフォルトの名無しさん
2015/07/08(水) 23:54:16.12ID:zNFh4RYAドットファイルは上位でアクセス制限されてるんだろうけど、不安で仕方ないね。
0984デフォルトの名無しさん
2015/07/09(木) 06:24:58.47ID:CmA0FZny0985デフォルトの名無しさん
2015/07/09(木) 10:41:14.35ID:a973sKT/PHPというか、rubyでもJavaでもWEB制作界ではMySQL一択だね
あとスケールしないことがわかってる小規模なところはSQLiteか
未だにPostgreSQL使ってるところはもうほぼ無いんじゃないかな
0986デフォルトの名無しさん
2015/07/09(木) 11:23:32.23ID:SLWTmnwe> 未だにPostgreSQL使ってるところはもうほぼ無いんじゃないかな
そうでもないと思うけど。
Which Technologies Do Startups Use? An Exploration of AngelList Data (07 Aug 2014)
http://codingvc.com/which-technologies-do-startups-use-an-exploration-of-angellist-data
0987デフォルトの名無しさん
2015/07/09(木) 11:26:19.72ID:9ZnfqP+Nひろゆき「それはあなたの感想ですよね?」
0988デフォルトの名無しさん
2015/07/09(木) 11:34:11.22ID:OqiP450p(MariaDBってまだまだなの?)
0989デフォルトの名無しさん
2015/07/09(木) 11:56:15.57ID:OtgBnuSy0990デフォルトの名無しさん
2015/07/09(木) 12:47:10.03ID:SLWTmnwe>>986の調査は、対スタートアップのものだからね。
エンタープライズ向けの調査したら、MSSQLもかなり使われてる気がする。
0991デフォルトの名無しさん
2015/07/09(木) 13:10:21.36ID:OtgBnuSy無償版のExpress使ってる
0992デフォルトの名無しさん
2015/07/09(木) 13:51:02.44ID:mMbg3FA2後発の新規DBMSと勘違いしてんのか、それともMySQLがまだまだだという前提に立ってるのか。
0993デフォルトの名無しさん
2015/07/09(木) 14:37:57.66ID:g/ZifueO0994デフォルトの名無しさん
2015/07/09(木) 14:56:15.49ID:FXD7F5LPだから中身は殆ど一緒
GoogleもMySQLは切り捨ててMariaDBに移行してる
0995デフォルトの名無しさん
2015/07/09(木) 16:04:30.10ID:zI7Krizk今後のサポート面ではmariaの方が良いかもしれない。
oracleはMySQLを葬り去ろうとしている気がする。
0996デフォルトの名無しさん
2015/07/09(木) 22:13:37.66ID:a973sKT/0997デフォルトの名無しさん
2015/07/09(木) 22:47:16.65ID:7gcchy0Qhttp://peace.2ch.net/test/read.cgi/tech/1436449286/
レス数が950を超えています。1000を超えると書き込みができなくなります。