【PHP】下らねぇ質問はID出して書き込みやがれ 125
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2013/01/09(水) 22:31:43.73ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 124
http://kohada.2ch.net/test/read.cgi/php/1353402165/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0357nobodyさん
2013/01/22(火) 21:50:34.14ID:???0358nobodyさん
2013/01/22(火) 21:51:58.73ID:???0361nobodyさん
2013/01/22(火) 23:20:34.53ID:???Rubyは独裁者のさじ加減で仕様がコロコロ変わる史上最悪の糞言語
0362nobodyさん
2013/01/22(火) 23:21:45.60ID:???使う価値ないOK?理解した?
ttp://odiak.net/blog/post/1437
0363nobodyさん
2013/01/23(水) 07:24:54.59ID:???仕様がコロコロ変わってるのかどうかは知らないが
独裁者なのは有名だ
0364nobodyさん
2013/01/23(水) 08:01:48.06ID:???処理早い方が早くプロセス開放できるし
ruby500年前なら流行ったかもね(棒)
0365nobodyさん
2013/01/23(水) 09:22:20.37ID:???しかし誰からも相手にされず、21世紀の現在まで一度も注目を浴びなかった。
登場から500年の2013年(平成25年)、Ruby生誕500年記念祭がひっそりと
開催された。
0366nobodyさん
2013/01/23(水) 10:06:00.96ID:???そう考えるとなんかすごいな
0367nobodyさん
2013/01/23(水) 10:21:32.56ID:???それより前に生まれたおっさんは先輩風を吹かせていいぞw
0368nobodyさん
2013/01/23(水) 10:47:07.44ID:???歴史まったくわからないんだけど
織田信長がコード書いてた(書かせてた)ってこと?
0369nobodyさん
2013/01/23(水) 10:55:00.81ID:???より前だぞ、室町幕府だろうし信長は生まれてもいない
0370nobodyさん
2013/01/23(水) 10:56:26.04ID:???0372nobodyさん
2013/01/23(水) 13:23:24.39ID:???元気なおばぁちゃんが一人で切り盛りしてたりするところ
ああいう店も昔はだいたいRuby使ってたよな、今はどうか知らんが
0373nobodyさん
2013/01/23(水) 16:00:17.61ID:???役人用の管理UIは当初rubyで書かれてたけど
貧乏百姓にクラックされて以来perlだったはず
(別にrubyの脆弱性突かれたわけではなさそうだけど殿様はITに弱いし)
その後江戸時代になって
欧米ではpythonやPHPなどが盛り上がってきたけど
鎖国してたから
長い間日本ではCGI+perlが主流だった
>>372
やっぱ老舗はいいよな
経験と実績があるし
この前
老舗にPHP案件発注したら
おばあちゃんの知恵的な工夫がいろいろあったわ
そこらのペチパーとは大違い
0374nobodyさん
2013/01/23(水) 16:10:37.34ID:???以後遺産争い絶えないRuby
二次試験に出るよ
0376nobodyさん
2013/01/23(水) 16:36:27.30ID:???しょうがないからながれにみをまかせよう
0377nobodyさん
2013/01/23(水) 20:21:43.29ID:+5RSTcze【PHPのバージョン】5.2.17
【連携ソフトウェア】MySQL 5.5
【質問内容】
サニタイズについて質問です
DBの中身はすべて管理者(自分のみ)が用意し、外部からの更新は一切ありません
フォームから検索条件を受け取って、PHPで該当したデータをを吐き出しているのですが
DBの中身が信頼おける場合も、出力時にhtmlspecialcharsによるサニタイズは
必要なんでしょうか?
※検索条件の受け取り時にはmysql_real_escape_stringでサニタイズしています。
データを出力する時のwhileの中に14か所もhtmlspecialcharsがあるのが処理速度を
遅くしている原因じゃないのかと思ったのと、サニタイズしなければデータの中に
<!--コメント-->と直接書いて出力させることができるから、preg_matchでの文字列処理を
省略できるのにな〜と思い、この質問に至りました
説明ベタですみません
0379377
2013/01/23(水) 20:42:35.14ID:+5RSTcze今はDBにHTMLタグは入れてないんですけど、入れたいので
DBの状態がこういう条件だったら、出力時にhtmlspecialcharsを
通さなくても大丈夫ですかね?という質問のつもりでした
0381377
2013/01/23(水) 21:22:54.02ID:+5RSTcze質問に関係あるのか分からないですけど、microtime(true)の引き算で測ってみた結果
約101,000レコードから1250件ヒット
htmlspecialcharsあり 2.252897977829
htmlspecialcharsなし 1.812283039093
ついでにpreg_matchも計測
preg_matchあり 2.0772449970245
preg_matchなし 1.7572047710419
面倒なので何回も計測して平均取ったりはしてません
0382nobodyさん
2013/01/23(水) 21:25:05.44ID:???出力対象のHTMLが信頼のおけるものならサニタイズなんていらないよ。
というか、今やろうとしている、DBにHTMLを格納してそれを出力するってことが実現できないでしょ。
>>380のいうように、ボトルネックかどうかを調べてもいいけど、やりたいこと、状況を考えれば外すだけでいい。
14ヶ所あるってのが不気味だけど。
0384nobodyさん
2013/01/23(水) 21:37:59.74ID:???htmlspecialcharsを通すか通さないかは
信頼できるかできないかではなく、HTMLなのか文字列なのかで決まる
0385377
2013/01/23(水) 22:09:51.71ID:???自分の質問はサニタイズが必要かどうかの1点のみで
>>382にかかれてるようなボトルネックがどの部分かという判定までは
求めてなかったので、なんで時間を聞くんだろうって思っただけです
不快に思われたなら申し訳ないです
>>382
出処がはっきりしてて危険性がなければ、サニタイズは省略しても
問題ないんですね
検索に必要だけど表示させたくない箇所は<!--コメント-->でDBに入れて
サニタイズ、preg_matchの処理は外すことにします
解決できました、みなさまありがとうございました
言葉足らずで不快に思われた方にはお詫びいたします
0386nobodyさん
2013/01/23(水) 22:13:13.98ID:???0387nobodyさん
2013/01/23(水) 22:15:14.08ID:???まあ頑張れ!分からなくなったらruby使うのもありw
0388nobodyさん
2013/01/23(水) 22:17:34.09ID:???1513年(永正10年)、Rubyが世界初のプログラミング言語として登場した。
しかし誰からも相手にされず、21世紀の現在まで一度も注目を浴びなかった。
登場から500年の2013年(平成25年)、Ruby生誕500年記念祭がひっそりと
開催された。
0390nobodyさん
2013/01/24(木) 05:53:10.20ID:???0393nobodyさん
2013/01/24(木) 09:34:33.77ID:???1513年(永正10年)、Rubyが世界初のプログラミング言語として登場した。
しかし誰からも相手にされず、21世紀の現在まで一度も注目を浴びなかった。
登場から500年の2013年(平成25年)、Ruby生誕500年記念祭がひっそりと
開催された。
0394nobodyさん
2013/01/24(木) 10:54:00.74ID:???0395nobodyさん
2013/01/24(木) 10:54:40.52ID:???0396nobodyさん
2013/01/24(木) 12:43:33.33ID:zYKnIbuE// この段階で、ファイルが作られる前に$pathの絶対パスを調べる方法は無いのでしょうか
file_put_contents($path,"test");と指定
realpathはファイルが存在しないと調べることが出来ませんでした。
0398nobodyさん
2013/01/24(木) 14:01:43.80ID:???0399nobodyさん
2013/01/24(木) 14:06:04.09ID:???配列をこんな操作する関数ありますかとか
その結果、変態みたいな関数だらけ
0400nobodyさん
2013/01/24(木) 14:11:27.20ID:???結局Perlをパクって劣化させただけってオチwww
それをありがたがって使ってるのはマジもんのヴァカだろw
真面目な話、Ruby、Perl、Python辺りにしとくといいよ
0401nobodyさん
2013/01/24(木) 14:20:03.04ID:???そのうち配列の中の任意の2つの要素を足す関数とかできるんじゃね。
arradd( $aaa[7] , $aaa[10] );
ってやったら2つの要素足した合計が返ってくるとか。
PHPってゴミみたいな利用者しかいないからできかねない。
0402nobodyさん
2013/01/24(木) 14:33:04.41ID:HeIAkYufPHPのマニュアルページは おおよそそういうことに対する回答が載っています。
realpathのページに、ファイルがない場合はこうというサンプルがありますので参考にしてください。
0408nobodyさん
2013/01/24(木) 16:33:13.41ID:???0409nobodyさん
2013/01/24(木) 17:03:43.79ID:???0410nobodyさん
2013/01/24(木) 17:04:58.69ID:???0411nobodyさん
2013/01/24(木) 17:17:45.48ID:???0412nobodyさん
2013/01/24(木) 17:19:00.03ID:???0413nobodyさん
2013/01/24(木) 17:26:14.52ID:???0414nobodyさん
2013/01/24(木) 17:27:19.68ID:???0415nobodyさん
2013/01/24(木) 17:28:46.09ID:???0416nobodyさん
2013/01/24(木) 17:33:34.93ID:???HSPってGUIアプリしか作れないと思ってる人がいるけど、
CGIも作れるからウェブアプリも十分可能だよ
0417nobodyさん
2013/01/24(木) 17:51:15.17ID:???0418nobodyさん
2013/01/24(木) 18:06:52.29ID:4Bsu40bE概出かも知れませんが、ネット検索では分からなかったので、どうか教えて下さい。
【OS名】WindowsXP (Webサーバ側)
【PHPのバージョン】5.3
【質問内容】
echo "あ";
flush();
sleep(1);
echo "い";
flush();
sleep(1);
echo "う";
というふうに、段階的に表示させるためのコードを書きました。
パソコンのブラウザ全般やドコモのガラケーでは意図通りに表示されましたが、
(IEは先頭に256バイトの空データ出力)
iPhoneの標準ブラウザでは、全部の読み込みが完了しないと表示してくれませんでした。
iPhone用のクロームなども同じ現象でした。
先述のIE対策みたいな感じで、なにかios向けに特別な対策が必要なのでしょうか?
ご存知のかたがいらっしゃいましたら、どうぞ宜しくお願いします。
0419nobodyさん
2013/01/24(木) 18:08:29.32ID:???0420nobodyさん
2013/01/24(木) 18:11:27.14ID:???0421nobodyさん
2013/01/24(木) 19:16:34.30ID:???何故にそうしたいのかわからないけど、
単純に時間差で表示したいなら、そのやり方は普通はチョイスされないと思う。
javascriptを使うのがノーマルかも?
サーバ側から受け取ったデータをいつ表示するかって決まりとかあんの?
データ受け取ってレンダリングしてからの表示になるだろうから、
「データ受け取って即座に表示を必ずしなければいけない」
って決まりは無いでしょ。(多分
となると、そのやり方では実現不能かと。
っと思いました まる
0422nobodyさん
2013/01/24(木) 19:48:15.50ID:???0423nobodyさん
2013/01/24(木) 20:32:43.46ID:???空データを1024バイトまで増やし、毎回のの出力の末尾に<br /> もしくは <!-- -->を足してみてください。
0425nobodyさん
2013/01/24(木) 20:59:57.86ID:JYoDFm6bみなさまありがとうございます。
以下のようなメール投稿によるブログ記事更新プログラムを想定していました。
----------
処理を開始しました。
…メール受信中。
…メール2件取得。
…データベース更新中。
…画像1処理中。
…画像2処理中。
…ツイッターにpost中。
…Facebookにpost中。
正常終了。
---------------
実際はもっと色々やっていて、処理に1分近くかかります。
つまり、先ほどの各 sleep(1) の部分に実際の処理が入ります。
真っ白の画面で無反応っぽく見えるよりも、現在の進行状況を表示できたほうが、気分的に良いというだけです。
実際にかかる時間や項目は決まってないので、JavaScript で動的にステータスを取得するような仕込みも、ちょっと私には厳しいです。
IE用の256に1を加えて1256は試しましたが、1024ではやってないので、明日やってみます。<BR>は試しましたが、効果ありませんでした。
0426nobodyさん
2013/01/24(木) 21:04:35.31ID:???それとは違うけどarray_sumならありますけどね
PHPのネーミングセンスで言うと、arradd()ではなくarray_add()とかになるだろうな
まぁ、関数の名付け方もバラバラだから分からんけど
PHPを使って自分で組むよりもネイティブ関数のが速いからそれでいいんだよ、そういう方針なんだろ
0427nobodyさん
2013/01/24(木) 21:05:07.73ID:???数秒ごとに再読み込みすれば?
そのとき何をしてるか表示できるよ
0428nobodyさん
2013/01/24(木) 21:07:35.09ID:???グローバル関数が1500個もあるんだよ
0429nobodyさん
2013/01/24(木) 21:46:50.77ID:???iphone safariのみ動作確認しました。 200を100にすると動きません。
header("Content-Type: text/html; charset=UTF-8");
echo str_pad(" ",1024);
echo "あ";
echo str_pad(" ",200);
flush();
sleep(2);
echo "い";
echo str_pad(" ",200);
flush();
sleep(2);
echo "う";
echo str_pad(" ",200);
flush();
0431nobodyさん
2013/01/24(木) 21:57:12.90ID:???再読込して現在の状況を表示できるような仕組みのプログラムが出来るのなら、こんなこと聞かないでしょう。
0432429
2013/01/24(木) 22:11:15.89ID:???>>430-431
ゴミ乙wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
バーカw
0433nobodyさん
2013/01/24(木) 22:27:49.63ID:???関係ないか
0434nobodyさん
2013/01/24(木) 22:32:58.03ID:???必要部分だけajaxとかで処理すればいいでしょ。
なぜにページ全体を読み込む必要があるの・・・・・ハァ
0435nobodyさん
2013/01/24(木) 22:38:18.34ID:???switch($_GET['step']){
case '1':
sleep(2000);//syori
print('い');
print('<script>location.href="index.php?step=2"</script>');
break;
case '2':
sleep(2000);//syori
print('う');
print('<script>location.href="index.php?step=3"</script>');
break;
case '3':
sleep(2000);//syori
print('え');
print('<script>location.href="index.php?step=4"</script>');
break;
//続く
default:
sleep(2000);//syori
print('あ');
print('<script>location.href="index.php?step=1"</script>');
break;
0437nobodyさん
2013/01/24(木) 22:46:43.44ID:???ケチ付けたいなら対案を出せクズ
0438nobodyさん
2013/01/24(木) 22:58:15.91ID:???ああそうか
でも簡単な話
ついでに少し修正
<?PHP
switch($_GET['step']){
case '1':
print("あ");
sleep(2000);//「い」の処理
print('<script>location.href="index.php?step=2"</script>');
break;
case '2':
print("あ<br>い");
sleep(2000);//「う」の処理
print('<script>location.href="index.php?step=3"</script>');
break;
case '3':
print("あ<br>い<br>う");
sleep(2000);//「え」の処理
print('<script>location.href="index.php?step=4"</script>');
break;
//続く
default:
sleep(2000);//「あ」の処理
print('<script>location.href="index.php?step=1"</script>');
break;
0441nobodyさん
2013/01/24(木) 23:19:26.26ID:???0442nobodyさん
2013/01/24(木) 23:25:11.09ID:???0443nobodyさん
2013/01/24(木) 23:26:01.72ID:???単なる遊び心だから
脳内変換して普通に読んで
0444nobodyさん
2013/01/24(木) 23:28:47.71ID:???0445nobodyさん
2013/01/24(木) 23:29:32.87ID:JYoDFm6b>>429
429さん、ありがとうございます!
早速試してみます!
あと、その再読み込み手法ですが、なるほどと思いましたが、ステップ1で使った変数数十個を、ステップ2以降でも使いたい場合、別のログファイルとかに書き出しておくとかになりますか?
0447nobodyさん
2013/01/24(木) 23:42:39.01ID:???その他はセッションやクッキー
0448nobodyさん
2013/01/24(木) 23:44:58.27ID:???0449nobodyさん
2013/01/24(木) 23:46:23.33ID:???読み込む時書き出したファイルをincludeするだけで楽かも
0451nobodyさん
2013/01/25(金) 00:32:08.85ID:???0452nobodyさん
2013/01/25(金) 04:51:12.91ID:???0453nobodyさん
2013/01/25(金) 06:41:31.20ID:???よかったな
0454nobodyさん
2013/01/25(金) 07:39:12.51ID:???0455nobodyさん
2013/01/25(金) 07:54:12.76ID:???満足したか?
0456nobodyさん
2013/01/25(金) 10:44:12.52ID:???おっさん何歳だよ
■ このスレッドは過去ログ倉庫に格納されています