【PHP】下らねぇ質問はID出して書き込みやがれ 123
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/09/25(火) 23:39:55.21ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
PHP】下らねぇ質問はID出して書き込みやがれ 122
http://kohada.2ch.net/test/read.cgi/php/1344963135/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
0700nobodyさん
2012/11/01(木) 21:45:43.59ID:zd1oN1/Lstripslashesを実行してました
これをすることによって何の意味があるんでしょうか?
0701nobodyさん
2012/11/01(木) 21:49:34.01ID:???0702nobodyさん
2012/11/01(木) 21:54:21.40ID:???0703nobodyさん
2012/11/01(木) 22:06:29.56ID:zd1oN1/LじゃあOFFにしといたほうがいいのでしょうか?
magic_quotes_gpcって
'(シングルクオート)、" (ダブルクオート)、\(バックスラッシュ) 、NULL
をバックスラッシュで取り除くって書いてありましたが、
バックスラッシュって円マーク¥と同じ意味なんでしょうか?
そもそもシングルクオートダブルクオートってhtmlspecialcharsでエスケープされるから、
magic_quotes_gpcって必要ないんじゃないんですか?
0704nobodyさん
2012/11/01(木) 22:14:54.27ID:???SQL構文内でエラーがでないようにするために、
入力文字をaddslashesでエスケープしてましたが、
mysql_escape_stringとどう違って、どっちを使った方がいいんでしょうか?
0705nobodyさん
2012/11/01(木) 22:29:01.00ID:???0706nobodyさん
2012/11/02(金) 00:44:58.36ID:???0707nobodyさん
2012/11/02(金) 01:42:00.68ID:???0708nobodyさん
2012/11/02(金) 03:54:29.29ID:sPxoCnW1コマンドラインから以下のコマンドでテストコードのスケルトンを作成しようとすると
phpunit --skeletom-test FooClass
unrecognized option --skeleton-test となり
helpを観ても--skeleton-*コマンドがありません。
日本語マニュアルはPHPUnit3.7、インストールしたのは3.7.5という違いもあり、
コマンドの種類も若干違う(増えてる)ようなんですが、--skeleton-* が削除されるはずもないので、
何らかの依存ライブラリのインストール洩れにより
無効になっているのではないかとあたりをつけて探しています。
見当つく方いませんか?
0709nobodyさん
2012/11/02(金) 05:55:48.05ID:???OFFでいい
http://www.php.net/manual/ja/security.magicquotes.php
>バックスラッシュって円マーク¥と同じ意味なんでしょうか?
日本語環境ではね
英字環境だと\はちゃんと/の反対のやつになる
>htmlspecialcharsでエスケープされるから、magic_quotes_gpcって必要ない
両者は目的が違うから比較してはだめ
htmlspecialcharsは対クロスサイトスクリプティング用
magic_quotes_gpsは対SQLインジェクション用
んで後者は上のリンク見ればわかるけど
mysql_real_escape_stringとかデータベースドライバ固有のエスケープ機能があるからそっち使えって話
0710708
2012/11/02(金) 06:06:06.66ID:sPxoCnW1この部分はマニュアルに見つからず、巷の解説などと合わせて見ていたんですが
英語マニュアルから発見し、和訳マニュアルと照らすと、
雛型ジェネレータとして記載されていたことがわかりました。
テストコードのスケルトンを生成するコマンドは
phpunit-skelgen --test ClassName
であり、多く見かける解説からは変わっているようです。
インストールだけで一晩かかってしまったorz
0711nobodyさん
2012/11/03(土) 17:08:03.19ID:???0712nobodyさん
2012/11/03(土) 17:59:31.79ID:???0714nobodyさん
2012/11/03(土) 18:36:16.28ID:???0716nobodyさん
2012/11/03(土) 18:55:22.18ID:???0718nobodyさん
2012/11/03(土) 18:58:24.53ID:???0719nobodyさん
2012/11/03(土) 20:42:43.64ID:???0720nobodyさん
2012/11/03(土) 22:29:35.98ID:???0721nobodyさん
2012/11/03(土) 23:01:17.82ID:y/jnKbQdやはり、include使ったほうが処理時間っファイル読み込みに行く分、処理速度って遅くなりますか?
0722nobodyさん
2012/11/03(土) 23:05:31.60ID:???0723nobodyさん
2012/11/03(土) 23:27:11.46ID:y/jnKbQd両方書いて、時間計測してみます・・・
0724nobodyさん
2012/11/03(土) 23:34:01.94ID:???時間測るなら
timeコマンド使うこと
$ time php hoge.php
0725nobodyさん
2012/11/03(土) 23:39:22.23ID:y/jnKbQd$time_end = microtime(true);
$time = $time_end - $time_start;
echo $time ."秒";
これで、大丈夫ですよね?
0726nobodyさん
2012/11/03(土) 23:45:20.15ID:???スクリプト内で時間取得して差を測るのは正確とは言い切れないので
シェルから>>724でやるのがベストかと
0727nobodyさん
2012/11/04(日) 14:07:49.50ID:???PHPが実用に耐えない言語だと知っていれば分かること
実用に耐えない言語をわざわざ使ってるんだから、時間も正確じゃなくていいんじゃね
0730nobodyさん
2012/11/04(日) 16:12:01.09ID:???「実用」なんていう相対的で計測不可能な言葉を用いて
他の言語を批判するなら「実用」が何を指すのか示せ
0731nobodyさん
2012/11/04(日) 17:26:22.98ID:???何ば指すか説明せんばいかんったい!
0732nobodyさん
2012/11/04(日) 19:53:58.33ID:eiB+7ElR折角便利なFWを使っているのにその機能を全て活かしきれていない気がするのだが。
0733nobodyさん
2012/11/04(日) 20:01:47.78ID:???0734nobodyさん
2012/11/04(日) 20:16:53.54ID:eiB+7ElR0735nobodyさん
2012/11/04(日) 20:20:45.39ID:eiB+7ElRボタンにスタイルを設定する方法、そして自動で作成される外枠についてもスタイルを
作成する方法があれば教えて頂けますでしょうか?
echo $this->Form->end('アカウントを作成する',Array('style' => 'height:50px;'));
↓ 自動生成されるコード
<div class="submit">
<input type="submit" value="作成">
</div>
0736nobodyさん
2012/11/04(日) 21:10:32.07ID:???phpを選択したのはお前だ、だからお前で何とかしろ
0737nobodyさん
2012/11/04(日) 21:32:57.92ID:???0738nobodyさん
2012/11/04(日) 21:35:16.42ID:???0739nobodyさん
2012/11/04(日) 21:39:15.92ID:eiB+7ElRはまってぐんなりしてます><;
http://kohada.2ch.net/test/read.cgi/php/1335859124/l50
0740nobodyさん
2012/11/04(日) 21:49:04.64ID:???0741卑猥な
2012/11/04(日) 23:28:17.38ID:???0742nobodyさん
2012/11/05(月) 08:43:12.82ID:99ifAMhuそこの設定はしてあります
なんでUTCでerrorlogが吐かれるんでしょう・・・
0743740
2012/11/05(月) 09:22:39.76ID:99ifAMhuDirective Local Value Master Value
date.timezone Asia/Tokyo Asia/Tokyo
phpinfo()で確認すると、上記表記なのですが・・・
https://bugs.php.net/bug.php?id=60723ここみてもpatchの当て方がちんぷんかんぷんです
0744742
2012/11/05(月) 09:23:17.38ID:99ifAMhu番号間違えました・・・
0745nobodyさん
2012/11/05(月) 11:58:18.17ID:V8pVUmdF記事を見たことがあるのですが久しぶりに検索すると情報がさっぱりないw
session.save_handler=mmcacheなどの記事の多さからすると思いっきり
騙されていたのでしょうか?
0746nobodyさん
2012/11/05(月) 12:00:50.70ID:SqYU86F8(selectの抽出数は3行で、それぞれ4,9,11の数値が返ってきた)
array(3) { [0]=> array(1) { ["color"]=> string(1) "4" } [1]=> array(1) { ["color"]=> string(1) "9" } [2]=> array(1) { ["color"]=> string(2) "11" } }
この配列を
array={4,9,11}
の形に効率よく整形するにはどうしたら良いでしょうか?
foreach()でループさせて値をとるしかないんでしょうか
0747nobodyさん
2012/11/05(月) 12:07:52.16ID:???あるかもしれないけど、内部では結局foreach()でループさせて値を取ってると思うけど
0748nobodyさん
2012/11/05(月) 12:11:58.60ID:SqYU86F8ありがとうございます。そんな関数知らなかったですが、結局foreachなんですね
phpとズレて申し訳ないですが、そもそもmysqlから直接
array={4,9,11}
の形でとる方法はないんでしょうか、無理かなぁ
0749nobodyさん
2012/11/05(月) 12:48:16.60ID:???0750nobodyさん
2012/11/05(月) 13:21:17.46ID:???0751nobodyさん
2012/11/05(月) 13:44:31.07ID:???ttp://php.net/manual/ja/pdostatement.fetchall.php
0752nobodyさん
2012/11/05(月) 13:58:32.38ID:SqYU86F8ありがとうございます
全く思いつきませんでした。sqlの関数の勉強しようと思います
>>751
これもすごいですね
pdoのオプションを全部把握してる人いるんでしょうか。開発効率全然違うでしょうね
0753nobodyさん
2012/11/05(月) 14:13:23.23ID:eArr6OfY0754nobodyさん
2012/11/05(月) 17:41:52.55ID:cCKxcvGv教えてください
$arr[0][0] = 'a'; $arr[0] = 'a';
$arr[0][1] = 'b'; $arr[1] = 'b';
$arr[0][2] = 'c'; $arr[2] = 'c';
$arr[0][3] = 'd'; $arr[3] = 'd';
$arr[0][4] = 'e';
$arr[0][5] = 'f'; ・
$arr[0][6] = 'g'; ・
$arr[0][7] = 'h';→ ・
$arr[0][8] = 'i';
$arr[0][9] = 'j';
$arr[1][0] = 'k';
$arr[1][1] = 'l';
$arr[1][2] = 'm';
$arr[1][3] = 'n';
$arr[1][4] = 'o';
$arr[1][5] = 'p';
$arr[1][6] = 'q';
$arr[1][7] = 'r';
$arr[1][8] = 's';
$arr[1][9] = 't'; $arr[19] = 't';
0755nobodyさん
2012/11/05(月) 17:43:33.49ID:cCKxcvGv$arr[0][0] = 'a'; $arr[0] = 'a';
$arr[0][1] = 'b'; $arr[1] = 'b';
$arr[0][2] = 'c'; $arr[2] = 'c';
$arr[0][3] = 'd'; $arr[3] = 'd';
$arr[0][4] = 'e';
$arr[0][5] = 'f'; ・
$arr[0][6] = 'g'; ・
$arr[0][7] = 'h'; ・
$arr[0][8] = 'i';
$arr[0][9] = 'j'; 変換→
$arr[1][0] = 'k';
$arr[1][1] = 'l';
$arr[1][2] = 'm';
$arr[1][3] = 'n';
$arr[1][4] = 'o';
$arr[1][5] = 'p';
$arr[1][6] = 'q';
$arr[1][7] = 'r';
$arr[1][8] = 's';
$arr[1][9] = 't'; $arr[19] = 't';
0756nobodyさん
2012/11/05(月) 18:23:53.58ID:???foreach($arr as $var1=>$val1)
foreach($val1 as $var2=>$val2)
$arrFlat[$var1*10+$var2] = $val2;
print_r($arrFlat);
0757nobodyさん
2012/11/05(月) 19:58:05.23ID:cCKxcvGvありがとうございましたm(_ _)m
0758nobodyさん
2012/11/05(月) 21:17:36.22ID:???0759nobodyさん
2012/11/06(火) 07:18:28.12ID:???でいいじゃん
0761nobodyさん
2012/11/07(水) 00:19:18.13ID:9XgeiKvFこれはクラスも同じなんでしょうか?
速度的に改善したいのですが、includeされたファイル内にある
function
と
class
で読み込まれるタイミングの違いがあれば教えてください。
0762nobodyさん
2012/11/07(水) 00:42:55.40ID:gzCebguYそれともローカルで開発が終わってからサーバにアップ?
俺は前者でやってるw
0764nobodyさん
2012/11/07(水) 00:53:15.80ID:???0766761
2012/11/07(水) 09:40:56.26ID:tumxuWL0functionの入ったphpをincludeすると呼んでないけど明らかに速度は落ちます
includeしなければ速度は上がります。
ですがfunctionが複雑に入り組んでいるのでバラすのも大変なので、ある程度を
分割してclassで読み込みが制御できるのであればと考えておりました。
0767nobodyさん
2012/11/07(水) 09:42:49.09ID:???0768nobodyさん
2012/11/07(水) 09:47:19.11ID:???もしくはリモートに接続してるとか
0769761
2012/11/07(水) 10:40:44.58ID:tumxuWL0ざっと見た限りですが1万5千行くらいあります
>>768
各処理を見てみましたが、基本的にすべてfunctionでラッピングされておりました
0770nobodyさん
2012/11/07(水) 10:44:34.22ID:???ifなと使って使う時だけ限定的にインクルードしていけ。
0771nobodyさん
2012/11/07(水) 10:48:54.38ID:???そしたら読み込み時はPHPでチェックされない。
0772nobodyさん
2012/11/07(水) 10:57:36.03ID:???HipHop VM開発に至る経緯
Facebookでは、爆発的なユーザー数の増加に対応するため、アプリケーション実行速度の高速化が急務とされていた。
問題は、これまでに蓄積されてきた膨大な量のPHPコードベースだった。
そこでFacebookが選んだのは、アプリケーションのコードに手を加えるのではなく、PHPの実装そのものを改善する方法だった。
そのための試みとして、同社では2010年より「HipHop for PHP」で2種類のPHPの実装を進めてきた。
ひとつはPHPコードをC++コードに変換し、そこからバイナリコードを生成するHipHop compiler、もうひとつは独自のPHPインタプリタ実装であるhphpiだ。
ネイティブ実行が可能な前者の方が圧倒的にパフォーマンスは高いが、静的なコード解析しか行うことができない上に、コンパイルの待ち時間が必要なことからPHPの手軽さが犠牲になる。
Facebookでは社内のソフトウェア開発にはhphpiを使用し、外部向けの本番環境にはhphpcによって生成したバイナリコードを配備するという形で使い分けてきたという。
開発用と本番用で実行基盤が異なるというのも、テスト工程の増加など様々な面で問題をはらんでいることは想像に難くない。
そこで同社が次の一手として開発したのがhhvmというわけだ。
hhvmはJIT(Just-In-Time)コンパイラを搭載し、実行時に動的にバイナリコードを生成する。
これによってhphpcのようにPHPコードをC++に変換することなく、直接高速に実行することができるようになる。
サービスの開発から公開までの全域にわたって効率化を実現できることから、Facebook社内での注目度は高いという。
Facebook社内ではすでにhphpiに代わってhhvmが使われはじめており、将来的にはすべてのPHP実行環境をhhvmに置き換える計画だという。
hhvmは従来のHipHop for PHPと同様にオープンソースで開発されており、GitHubにリポジトリが公開されている。
PHPの言語仕様そのものは変更されていないので、既存のPHPコードでも実行環境を置き換えるだけで利用することができる。PHPを使ったアプリケーションの高速化を求める開発者にとっては注目すべき取り組みと言えるだろう。
http://builder.japan.zdnet.com/script/35012295/
0773nobodyさん
2012/11/07(水) 14:25:56.37ID:2sStCN3Aたとえば
for($i=0;$i<10;$i++){
echo $test['test'.$i];
}
みたいにして、test1、test2、test3
っていうふうに変えたいんですが、上記の通りだとうまくいきません
どうすればいいでしょうか?
0775nobodyさん
2012/11/07(水) 14:39:51.50ID:???0776nobodyさん
2012/11/07(水) 16:45:41.79ID:???0777nobodyさん
2012/11/07(水) 16:47:02.77ID:2sStCN3Aわかりまりました
ありがとうござりました
0778nobodyさん
2012/11/07(水) 17:27:37.44ID:HSMtZo+3といった遷移がなされる場合に
BページでGoogleからの検索ワードが取得したい為
最初の(Googleでの)リファラが欲しいのですが
どのようにリダイレクトさせればいいでしょうか?
0779778
2012/11/07(水) 18:54:34.66ID:???header("Location: " . $url);
0782nobodyさん
2012/11/08(木) 12:56:19.26ID:???ブラウザはwindowsのIEです。
C:\Documents and Settings\ユーザ\Cookies
だと思ったんですが見当たりません。
$_COOKIE関数でセットした値を取得できるので、セット自体はされているのですが。
宜しくお願いします
0783nobodyさん
2012/11/08(木) 13:07:23.32ID:???すいません、自己解決できました。
setcookie関数の構文記述に誤りがあり、クライアント側に作成されていませんでした。
場所はC:\Documents and Settings\ユーザ\Cookiesでした。
0785nobodyさん
2012/11/08(木) 23:34:29.59ID:f/f3pzKJ先行バイトと後続バイトがはっきり区別できるUTF-8では問題ない、という解釈は合っているでしょうか。
置換がpreg_replaceやmb_ereg_replaceではなくstr_replaceで済むのならその方が楽ですし、
正規表現ではなくただの置換の方が内部の処理量も少なくて済むような気がするのですが。
0786nobodyさん
2012/11/09(金) 05:17:11.99ID:???0788785
2012/11/09(金) 08:26:28.79ID:fHegqpBvビット列10で始まるバイトが後続バイト、それ以外が先頭バイトだと思いますが、例外でもあるんでしょうか?
0789nobodyさん
2012/11/09(金) 16:54:02.12ID:SzfafX2yいや、PC用のページとスマホ用のページで振り分けたいだけですよ
0790nobodyさん
2012/11/09(金) 17:13:03.25ID:rpNskGII@ http://mankoumai.com/test.php
でこれまでアクセスしていたんですが
A http://mankoumai.com/test
でもアクセス出来る様にしたいです。
また、@でアクセスが来た場合にはAにリダイレクトさせるにはどうしたらいいでしょうか?
0791nobodyさん
2012/11/09(金) 17:37:28.37ID:???0792nobodyさん
2012/11/09(金) 23:14:28.63ID:???0793nobodyさん
2012/11/09(金) 23:18:13.73ID:VsVEo1TJコミュニティーサイトを作って
その中でメンバー同士がメッセージを送れる仕組みを用意したとします。
荒らしが現れたらスパムメッセージを送りまくるようになると思います。
それを防ぐためにメッセージ送信時にcaptcha認証を行うのは
一般的ですか?他に何かいい対策はありますか?
0794nobodyさん
2012/11/10(土) 00:21:55.25ID:???1分とか1時間に送れるメッセージ数に上限を設ける
一度に多数の人に送れないようにする
同じ内容を同じ人に続けて送れないようにする
NGワードを設ける
サイト外(のメールアドレス)には送れないようにする
とか考えたらいくらでも思い浮かぶのが普通
他のサイトがどうしてるか学ぶべき
0795nobodyさん
2012/11/10(土) 01:04:32.30ID:xD0ruwyN荒らすのが趣味な俺様が通りますね。
0796nobodyさん
2012/11/10(土) 01:08:09.64ID:/09E68J7貴重なご意見ありがとう
それらを規制するための具体的な数値でのルール決めが非常にシビアになってきますね。
0797nobodyさん
2012/11/10(土) 01:23:42.70ID:???0798nobodyさん
2012/11/10(土) 11:21:45.36ID:???ユーザー自身に嵐をブロックさせるとか
「この情報を管理者に報告」とかで荒らされた人に報告してもらって
NGレベルが一定より上がったら管理者が目視確認して対処すれば良い
そのあと強制退会とかさ
>>797
たまに見るね、今出てるのは安全なサイト構築とかだっけ?
「安全な…」とか言われると見なきゃいけないような気がしてくるw
■ このスレッドは過去ログ倉庫に格納されています