トップページ⇒php
1001コメント296KB

【PHP】下らねぇ質問はID出して書き込みやがれ 126

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2013/02/02(土) 21:41:08.72ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 125
http://kohada.2ch.net/test/read.cgi/php/1357738303/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0322nobodyさん2013/02/22(金) 05:56:33.26ID:???
$myRoot の文字列の中にtが入ってるから

あんたが書いたソースには全部httpって文字があるだろ?
んで、httpって文字の中には、tって字が入ってるだろ?
trim関数の第2パラメータの使い方は、公式サイトの例題をよーく読めば分かるはず
0323nobodyさん2013/02/22(金) 06:42:34.69ID:???
はい、理解できました。
どうもありがとうございました。
03243202013/02/22(金) 06:51:25.66ID:???
>>321
いやです。。

>>322
えらそうですね。。
0325nobodyさん2013/02/22(金) 12:24:05.33ID:???
>>318
予めドメイン名が取得できない場合でもできるから挙げたけど
質問者の挙げた条件ならsubstrの方が速いと思います
0326nobodyさん2013/02/22(金) 12:26:10.01ID:5i3tH9Kw
mysqliは最後に実行したクエリを取得する術はないですか?
関数群を見た限りだと該当するものがありませんでした
03273262013/02/22(金) 12:31:22.38ID:5i3tH9Kw
ちなみにステートメントを使ってSQLを実行しています。
実際に値を入れて実行したときのSQLが知りたいのです
0328nobodyさん2013/02/22(金) 12:35:50.66ID:???
無いなら無いです
何をやろうとしてそれが必要になったのか教えてくれれば別のやり方を教えられるかも
03293262013/02/22(金) 12:53:59.21ID:5i3tH9Kw
SQLエラーをはいたときに
エラー内容と、エラー時の実行クエリを表示させるようにしたいです
デバッグようっす
0330nobodyさん2013/02/22(金) 12:54:56.29ID:???
本当このスレは低レベルが多いな
0331nobodyさん2013/02/22(金) 13:06:36.97ID:???
デバック中は、 mysqlの設定を変えて 全ログを出力するように変更して
そのログ見よう。
0332nobodyさん2013/02/22(金) 14:44:22.72ID:???
予めドメイン名を取得できないってどんな状況だろう
まともな開発者だったらありえない
0333nobodyさん2013/02/22(金) 14:44:39.21ID:???
>>329
ログを使うとみれます
0334nobodyさん2013/02/22(金) 16:08:27.49ID:???
>>332
回答する気もなくストレスから愚痴たれるだけならくんなよ
0335nobodyさん2013/02/22(金) 16:41:26.39ID:???
>>334
自己紹介乙
0336nobodyさん2013/02/22(金) 16:48:37.84ID:???
マジレスするとドメイン名無しで開発してるのは単なる手抜き。馬鹿じゃね。
0337nobodyさん2013/02/22(金) 16:57:45.95ID:???
>>336
トン。
0338nobodyさん2013/02/22(金) 17:11:37.46ID:???
気は済んだ?
0339nobodyさん2013/02/22(金) 17:30:47.90ID:???
php狆の場合は手抜きではなく本気で頭足りてないのでは?
0340nobodyさん2013/02/22(金) 17:47:20.19ID:???
PHP=ゴミ
PHP厨=ゴミにたかるハエ
0341nobodyさん2013/02/22(金) 18:47:34.78ID:???
このスレにたかってるハエがうるさいですね
03423182013/02/22(金) 19:01:34.24ID:???
>>316 >>318 >>319 >>320 の案をとりあえず測ってみた。参考まで
http://ideone.com/EH14gP

>>325
勘違いしてた。意図してたのは>>320のやり方だったんですよねきっと。
どう勘違いしたかはコードを見てもらえれば。
0343nobodyさん2013/02/22(金) 19:05:30.61ID:???
>>340
ゴミとハエのことが気になってしょうがないんだな
見下してるのに監視から外せない
現実世界でもそういう人いるよ
0344nobodyさん2013/02/22(金) 19:45:56.00ID:???
よく考えたら自分のサイトのURLの一部を取得したいらしいので、
予めドメイン名が取れないなんてことはないですねすいません
最近外部サイトから云々ってコード書いたりしててトチ狂ってました

>>342
そのexplodeの発想は僕もありませんでしたw
0345nobodyさん2013/02/22(金) 21:10:12.85ID:???
狂ってるって本物のキチガイじゃん
キチガイにプログラムミングは無理
0346nobodyさん2013/02/22(金) 22:45:35.17ID:???
>>342
たいへん勉強になります。ありがとうございました
0347nobodyさん2013/02/23(土) 04:30:07.63ID:???
phpでポート解放できているかできてないかってどうやって
調べるのですか?関数などがあるのでしょうか?
0348nobodyさん2013/02/23(土) 04:33:37.84ID:???
>>1
0349nobodyさん2013/02/23(土) 04:40:44.86ID:EmyV59Tp
phpでポート解放できているかできてないかってどうやって
調べるのですか?関数などがあるのでしょうか?
0350nobodyさん2013/02/23(土) 04:58:24.65ID:???
fsockopen
0351nobodyさん2013/02/23(土) 13:56:52.16ID:???
>>344
小学生?
もうちょっと勉強してからこいよ
0352nobodyさん2013/02/23(土) 16:17:44.08ID:???
貴様こそ糞レスしなくても生きられるようになるまで来るな
0353nobodyさん2013/02/23(土) 18:35:04.67ID:???
クソレスせずにはいられないからクソレスしてるんじゃね
0354nobodyさん2013/02/23(土) 19:07:24.69ID:???
それがガキの証拠なんだろ
まともな大人になってから来やがれw
0355nobodyさん2013/02/23(土) 21:16:54.23ID:???
>>349
system('nmap <自分のグローバルIP>');

自分のグローバルIPは多分わかると思うけど取得できるAPIもある
0356nobodyさん2013/02/23(土) 22:12:16.54ID:XOW6ixK5
$_SERVER["REMOTE_ADDR"]ってどの程度信用していいの?
偽装する方法とかある?
そのまんまデータベースに入れちゃやばい?
0357nobodyさん2013/02/23(土) 23:40:51.50ID:WpvFkwAP
forループ文を使って配列と変数の結合を指定の回数だけループ数させ結果を出力したいです。
まず配列A、変数Bを用意します。for文を用いて、配列Aに変数iを対応させ次のように出力したいです。(ここで指定のループ数は3回とします。)

配列A[2].変数B
配列A[1].変数B
配列A[0].変数B

しかし思うようにいきません。

for($i=0;$i<3;i++){
echo 配列A[$i].変数B;
}
とすると、次のように出力されてしまいます。

配列A[2]
配列A[1]
配列A[0].変数B

理想の出力状態にするためには、for文の中身をどのようにしたらいいでしょうか?
0358nobodyさん2013/02/24(日) 00:07:35.95ID:???
2から表示されるのがおかしいので、環境がおかしいか、質問がおかしいかのどちらかだと思う
0359nobodyさん2013/02/24(日) 00:18:46.19ID:2WqS0uzF
すいません勘違いしてました。
2と0は逆順で考えてください・・・
0360nobodyさん2013/02/24(日) 00:29:04.26ID:???
再現するコードを書いてくださいな
http://codepad.org/JotlaZFC
0361nobodyさん2013/02/24(日) 00:35:28.77ID:2WqS0uzF
>>360
あれ?できてるんですね・・・
ということは、自分が問題を間違って認識してたことに…
0362nobodyさん2013/02/24(日) 00:47:09.94ID:2WqS0uzF
余計な改行データが混入していたのが原因かもしれないです。
テキストデータには「A(フォームからの書き込み内容)\n」が追加されるようにしてるんですが、これが
A\nB\nC\n
となっているので、これを分割すると
「A」「B」「C」「」
という配列になるのかもしれません。
0363nobodyさん2013/02/24(日) 00:52:52.23ID:2WqS0uzF
すいません質問は撤回します。よく考えて見ます。
0364nobodyさん2013/02/24(日) 01:27:50.76ID:2WqS0uzF
解決しました。ヒントを頂きありがとうございました!
0365nobodyさん2013/02/24(日) 04:18:05.72ID:???
本当にスレに感謝してるなら
どう解決したのかかいてください
0366nobodyさん2013/02/24(日) 04:21:21.15ID:J+tDhMpp
class Hoge{
function foo(){
static bar;
if(bar){
print 'bar';
bar=true;
}
}
}

$hoge1=new Hoge();
$hoge2=new Hoge();

$hoge1->foo();
$hoge2->foo();

質問です。
PHPのstaticは違うインスタンスでも共有される?
これはJAVAやC++でも一緒?
03673662013/02/24(日) 04:37:10.92ID:J+tDhMpp
codepadに作りました。
http://codepad.org/4ggJcZIW

PHPのstatic変数は、違うインスタンスで共有されていますが、
そういうもんですか?JAVAやC++でもそうでしたっけ?
0368nobodyさん2013/02/24(日) 06:43:43.99ID:???
何で試さないんだろ。
共有されることが不思議であるような言い回しだけど、共有されないならそのstaticには何の意味があるのだろう。
0369nobodyさん2013/02/24(日) 06:49:39.75ID:???
ってクラスのスタティックデータメンバに空目してたわ
0370nobodyさん2013/02/24(日) 08:02:52.77ID:???
javaのstaticはそもそもnewしなくても使えるんじゃね?
0371nobodyさん2013/02/24(日) 08:52:03.64ID:???
http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%A9%E3%82%B9%E5%A4%89%E6%95%B0#Java

ほらよ
0372nobodyさん2013/02/24(日) 09:26:37.05ID:2WqS0uzF
>>365
問題点1:テキストデータに余分な改行記号が含まれていたので、空白(null?)と$cの結合という余分なデータが出力されていた。
問題点2:他サイトから拝借してきた改行記号が全角だったこと。
問題解決:問題点2は記号を入れ替えることで解決。問題点1は余分なデータをarray_popを使い取り除いた。
0373nobodyさん2013/02/24(日) 09:51:46.35ID:9oEZBxMu
ある既存の投稿画面に別のURLから投稿し、その後同じ画面(actionのURLにジャンプしない)の
ままでいられるようにするには、どのようにしたらよいでしょうか?

例)
http://example.com/index.phpに下記のフォームがあった場合、「書き込み」ボタンを
押すとhttp://example.com/write.cgiが実行され、http://example.com/write.cgi
にジャンプしてしまいますが、
ジャンプせずhttp://example.com/index.phpの画面のまま次の処理を待ちたいです。

<form method="POST" action="http://example.com/write.cgi' name="fuga">
<input type="hidden" name="BBS" value="hogehoge">
<input type="hidden" name="KEY" value="hogehoge">
<input type="submit" name="WRITE" value="書き込み">
名前 <input type="text" name="NAME" size="20">
E-mail: <input type="text" name="MAIL" size="20">
</form>
0374nobodyさん2013/02/24(日) 10:27:37.33ID:???
>>373

<form method="POST" action="" name="fuga">

actionの値を消すだけ

これでいけます
0375nobodyさん2013/02/24(日) 10:37:42.59ID:???
>>373
画面遷移をしたくないならAjax
0376nobodyさん2013/02/24(日) 10:47:19.06ID:/CyOVQtz
367さんの便乗ですが>>367さんのコードと
http://codepad.org/c16GV7Kp
このコードの意味合いはどう違うんでしょうか?
0377nobodyさん2013/02/24(日) 10:49:49.90ID:???
>>375
なるほどPHPは関係ないんですね
ありがとうございました
0378nobodyさん2013/02/24(日) 11:04:25.18ID:???
stream_content_createでpostメソッドにしてfile_get_contentsするとかどうだろう
0379nobodyさん2013/02/24(日) 11:51:57.12ID:???
index.phpからだと認識出来た場合に
weite.cgiで Locationヘッダー出力するとかな。
0380nobodyさん2013/02/24(日) 17:55:41.88ID:???
>>376
アクセス範囲じゃない?
0381nobodyさん2013/02/25(月) 09:48:14.05ID:???
function test($a, $b = false)
{
echo $a;
echo $b;
}

この場合

test(1, 2) だと

12

と表示されます。
test(1) だと

1

と表示されます。
$b = falseは指定があれば指定した値、そうでなければ自動的にfalseとなり
必ずfalseが入るわけではないという挙動でいいのでしょうか?
0382nobodyさん2013/02/25(月) 09:57:03.09ID:zlylVyM+
すいません
ID出すの忘れてました
0383nobodyさん2013/02/25(月) 10:19:46.34ID:???
>>381
そうです。まさにそのとおりです。
0384nobodyさん2013/02/25(月) 13:19:03.81ID:EGTT4euC
>>380
結論としては、実体化しても、異なるインスタンスなのにstaticが共有されちゃうんでしょうか?
違和感があるのですが?
0385nobodyさん2013/02/25(月) 13:40:32.62ID:???
そうですね。しかもファイル分けると共有されない。
0386nobodyさん2013/02/25(月) 14:02:18.71ID:???
書き込む前にメール欄一つ確認できない>>382みたいな注意力不足が開発してんのか、消えろ
0387nobodyさん2013/02/25(月) 14:03:50.78ID:???
>>386がウザい
0388nobodyさん2013/02/25(月) 14:17:54.71ID:???
>>386
>>352
0389nobodyさん2013/02/25(月) 15:10:39.81ID:???
ワロタ
0390nobodyさん2013/02/25(月) 17:04:37.32ID:???
>>384
http://ideone.com/gWRLoz C++
0391nobodyさん2013/02/25(月) 17:27:07.36ID:???
C++のコード書いたの初めてだろ?
0392nobodyさん2013/02/25(月) 17:42:07.14ID:???
なんかまずかった?コンストラクタとかかいてないから?
0393nobodyさん2013/02/25(月) 17:43:03.02ID:???
いや俺がさっき書いてみたコードにそっくりだったから
0394nobodyさん2013/02/25(月) 17:44:44.72ID:???
そ、そか
0395nobodyさん2013/02/25(月) 18:15:35.40ID:EGTT4euC
>>385
あ、なるほど!共有されないケースもあって、何でかなーと思ってたんですよ。
ありがとうございます!
0396nobodyさん2013/02/25(月) 19:31:14.11ID:???
>>385
http://codepad.org/kWXj9QWH 分割ってこういうこと?
0397nobodyさん2013/02/25(月) 21:55:03.57ID:griKtDRj
http://ideone.com/AhokSL
なぜ123と出力されないのか教えてください
0398nobodyさん2013/02/25(月) 22:07:21.60ID:???
>>397
ギャグでやってるのか?
foreachbヘ多次元配列を緒�にループさせbト配列値を取り緒oしていくもの
お前がやってるのは1次元配列だ
0399nobodyさん2013/02/25(月) 22:10:14.30ID:???
>>397
参照持ってるからだね。

マニュアルにもちゃんと書いてるよ。
http://www.php.net/manual/ja/control-structures.foreach.php
0400nobodyさん2013/02/25(月) 22:10:47.89ID:???
>>398
落ち着こう。
0401nobodyさん2013/02/25(月) 22:27:36.13ID:griKtDRj
>>399
なるほど、unset()すればいいんですね、マニュアルが読めてなくてすみません
ありがとうございました
0402nobodyさん2013/02/26(火) 08:55:12.47ID:???
>>398
0403nobodyさん2013/02/26(火) 11:34:51.27ID:???
398はかわいいだろ
0404nobodyさん2013/02/26(火) 13:48:43.75ID:3n+vTXj/
>>396
クラスを派生させた時かな?
0405nobodyさん2013/02/26(火) 14:55:19.06ID:???
>>404
関係ない
0406nobodyさん2013/02/26(火) 15:33:36.06ID:???
>>404
そうして、ファイルを分けると、共有されないという事例が発生するのかな
0407nobodyさん2013/02/26(火) 15:44:35.61ID:WtFsOe6T
curlで10000サイトを1度にmultiアクセスしたのですが、何時間経っても
結果が返ってきません。
どのような原因が考えられますか?
04084072013/02/26(火) 15:46:19.94ID:WtFsOe6T
ちなみにメモリは256M確保しています。
0409nobodyさん2013/02/26(火) 15:49:00.37ID:???
9999だと問題ないのか、何が起きてるんだろうね
04104072013/02/26(火) 15:54:44.80ID:WtFsOe6T
>>409
9999でも結果が返りません。
10000という特定の数ではなく大量にマルチアクセスしたのが問題だと思います。
何件まで大丈夫かという事は検証できていません。
0411nobodyさん2013/02/26(火) 16:06:00.31ID:???
通信はしてんの?tcpdumpとかしてみたら?
ルータが親切にもアタック検知→ブロックってしてくれてたりもするし。
04124072013/02/26(火) 16:28:09.70ID:WtFsOe6T
>>411

借りているサーバーなのでtcpdumpが出来ないです、
100件程度だとリクエストが返ってきてる事は確認できました。
0413nobodyさん2013/02/26(火) 16:38:18.56ID:???
じゃあnetstatも見られないってこと?
擬似環境を手元に作るのがいいよ。というか、外部のサーバでそんな怪しげなことやっていいの
0414nobodyさん2013/02/26(火) 16:39:16.30ID:???
1件当たりソケットいくつ使ってるか計算してみた?
04154072013/02/26(火) 17:57:33.12ID:WtFsOe6T
>>413
>怪しげな
一応許可はもらってるはずですが、言われている通りに
プログラムしているだけなのでわかりません。

>>414

その計算方法がわかりません。
1件当たりのリクエストは1kもないと思います。
0416nobodyさん2013/02/26(火) 18:08:56.68ID:???
1件当たり1kもソケット使ってたら鼻がもげる
0417nobodyさん2013/02/26(火) 18:12:16.02ID:???
ほぼ上限だな
04184072013/02/26(火) 18:20:13.24ID:WtFsOe6T
ローカル環境で動かしてみました。上が実行前、下が実行後です。

IPv4 の TCP 統計

アクティブ オープン = 114
パッシブ オープン数 = 2
失敗した接続試行数 = 73
リセットされた接続 = 7
現在の接続 = 21
受信したセグメント = 1017
送信したセグメント = 742
再送信されたセグメント = 152

IPv4 の TCP 統計

アクティブ オープン = 2216
パッシブ オープン数 = 5
失敗した接続試行数 = 540
リセットされた接続 = 103
現在の接続 = 212
受信したセグメント = 14062
送信したセグメント = 14970
再送信されたセグメント = 6287
04194072013/02/26(火) 18:20:43.43ID:WtFsOe6T
下は5分後の結果です。
0420nobodyさん2013/02/26(火) 18:22:53.34ID:???
数字が変わってるなら順調に動いてるんじゃないの?
経過をログに出すようにしてみたら
04214072013/02/26(火) 18:27:43.04ID:WtFsOe6T
>>420

curlでログを出すとしたら受信データそのまま出すことに
なりませんでしょうか?調べてみます。
前回は10000sec動かしても終わりませんでした。
件数が少ないと動いているので、無限ループはないと思いますが。
■ このスレッドは過去ログ倉庫に格納されています