【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を表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
0677676
2012/11/01(木) 06:40:50.61ID:LqIvJXxN0682nobodyさん
2012/11/01(木) 11:50:14.24ID:25QnUFoI自動的に記事を次々読み込むページを考えています。
jQuery Bottom という
http://www.koikikukan.com/samples/20120206/
のスクリプトを参考に作成しています。
データベースと連動させたいのですが、その組み合わせ方法が思いつきません。
javascriptの
$('#wrap div:last').append('<div>スクロールするたび読み込み</div>');
という記述部分がスクロールするたびに読み込まれるらしいです。
そのため、たとえば
while($row = mysql_fetch_assoc($query)){
$('#wrap div:last').append('<div><?php echo $row['id'] ?></div>');
}
という風にすると、1回のスクロール読み込みで全件でてきてしまいます。
データベースと連動させ全件読み込み、かつ数十件づつ表示とするにはどのように組んでいくのが理想的でしょうか?
データベースと連動して、ajax的に作動させようとする場合
このスクリプトとPHP、SQLをどのように組み合わせればよいでしょうか?
0683nobodyさん
2012/11/01(木) 11:55:51.15ID:???0684nobodyさん
2012/11/01(木) 12:05:35.07ID:???0685nobodyさん
2012/11/01(木) 12:27:33.57ID:???そのトリガーに規則的にインクリメントするなどした数値を与えて
それに応じてデータベースに取りにいって流し込めばいいんじゃないかな。
トリガーについては
http://www.skuare.net/2010/09/jquery_via_could.html
http://hennayagyu.com/webhack/javascript/%E3%81%82%E3%82%8B%E8%A6%81%E7%B4%A0%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%9F%E3%81%A8%E3%81%8D%E3%81%AB%E5%91%BD%E4%BB%A4%E3%82%92%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8Bjavascript-w-jquery-2348
このあたりを参考にして組みなおせばいけると思う。
あまり深く考えてないから、参考のほうは当たってないかもしれんけど。
0686nobodyさん
2012/11/01(木) 12:32:00.55ID:???件数多いなら>>684のやり方で都度リクエストをする
0687nobodyさん
2012/11/01(木) 12:38:19.25ID:???0688nobodyさん
2012/11/01(木) 12:57:59.34ID:???0692nobodyさん
2012/11/01(木) 13:24:43.35ID:???0694nobodyさん
2012/11/01(木) 13:29:18.40ID:???0695nobodyさん
2012/11/01(木) 13:38:30.36ID:???・田舎に住みたかった。住んだ場所から近かった。
・小さな事務所で雰囲気がゆるい。残業ほぼ0。サンダルで出勤。いろいろやりたい放題できる。
・経営者がベンチャー気質でやってることが面白く、将来性を感じる。(ダメだと思ったら辞めるけど)
・給料安いけど田舎でなので生活はできる。貯金も少しづつだができる。
てなとこかな。
>>693
いへいへ。どういたしまして。
0697nobodyさん
2012/11/01(木) 16:08:10.20ID:LEZ7IE470698nobodyさん
2012/11/01(木) 17:41:36.03ID:LEZ7IE47どうしたらいい?
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:???■ このスレッドは過去ログ倉庫に格納されています