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

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

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

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0102nobodyさん2013/03/23(土) 19:15:03.81ID:???
んなあほな
warning出すのに
0103nobodyさん2013/03/23(土) 19:50:19.60ID:???
鯖はプログラムで動いてるんだけどね
0104nobodyさん2013/03/23(土) 20:57:48.56ID:???
だからXAMPPは使うなと言っただろう
0105EM114-49-35-242.pool.e-mobile.ne.jp2013/03/23(土) 20:59:51.52ID:???
XAMPPは使うなっ!!!!!!!!!!!!!!!
0106nobodyさん2013/03/24(日) 01:49:58.74ID:???
やっぱ荒らしてるのはチンピラだったんだな
0107nobodyさん2013/03/24(日) 02:46:07.29ID:MVB0e/DS
curlで重いファイルをpost、アップロードする時に途中経過を取得するにはどうしたらよいでしょうか
ダウンロードする時は分かったのですが。
0108nobodyさん2013/03/24(日) 04:00:14.39ID:???
>>107
お前がしなきゃならないのはファイルアップロードの途中経過を取得することではなく
今すぐに回線を切ってネット社会に迷惑をかけないことだ
分かったかゴミ
0109nobodyさん2013/03/24(日) 05:01:13.47ID:???
>>107
Ajaxでサーバに定期問い合わせする
それがいやならPHPはあきらめろん

ttp://p2b.jp/2010/04/30/multiple-file-upload-by-HTML5
session.upload_progress.enabledを有効にすれば
ttp://php.net/manual/ja/session.upload-progress.php
も使えるだろう(やったことないが)
0110nobodyさん2013/03/24(日) 05:39:24.59ID:MVB0e/DS
>>109
分かりにくくて申し訳ありません。
ブラウザ→サーバー にアップロードする時の途中経過ではなく
サーバー→別のサーバー にcurlを使ってアップロードする時の途中経過の事です。
0111nobodyさん2013/03/24(日) 10:02:38.72ID:???
>>107
ダウンロードするときのコードを教えてくれ
そしたら直してやる
0112nobodyさん2013/03/24(日) 12:32:00.53ID:???
>>106
うるせーザコ
0113nobodyさん2013/03/24(日) 13:45:27.68ID:MVB0e/DS
>>111
ダウンロードはこれで現状動いています。

$curl = curl_init();
$options=[];
$options[CURLOPT_URL] ="http://〜〜"
$options[CURLOPT_FOLLOWLOCATION] = true;
$options[CURLOPT_WRITEFUNCTION]=function($a,$b){
 $currentByte=curl_getinfo($a)["size_download"];
 printf("\r%2.2f/%2.2fMB",$currentByte/1024/1024,$contentLength/1024/1024);
};
$options[CURLOPT_HEADERFUNCTION]=function($a,$b){
 if(preg_match('{Content-Length:(\d+)}',$b,$match)){$contentLength=$match[1];}
};
curl_setopt_array($curl,$options);
$response = curl_exec($curl);
curl_close($curl);
0114nobodyさん2013/03/24(日) 18:14:59.12ID:+46FugGl
終了タグ?>って基本使わないんですか?
0115nobodyさん2013/03/24(日) 18:16:00.78ID:???
>>114
付けたいなら付けても全然構わない
0116nobodyさん2013/03/24(日) 19:09:13.56ID:???
むしろつけなくても動くことに驚きなんだけど
0117nobodyさん2013/03/24(日) 19:33:05.87ID:???
>>116
閉じタグは、HTMLが混在する時に使う区切りの扱い。
PHPだけのファイルでは、変なキャラクタが出力されたりしないように
省略するのが昨今の流行り。
0118nobodyさん2013/03/24(日) 20:44:25.82ID:???
コードの書き方が流行りで変化するPHP(笑)
0119nobodyさん2013/03/24(日) 20:46:50.37ID:???
>>113←うわw冗談を真に受けて本当にコード晒したゴ#ミがいるよwwww
0120nobodyさん2013/03/24(日) 21:56:30.10ID:???
>>114
htmlに埋め込むときは使う
phpだけの場合は使わない
0121nobodyさん2013/03/24(日) 23:17:36.26ID:???
>>113みたいな恥さらしは一体何がしたいんだろうか。
0122nobodyさん2013/03/25(月) 01:12:25.22ID:Ox4syU6B
アクセスしてくる携帯を識別してそれぞれに同じ動作をさせる事は可能でしょうか

具体的には文化祭でそこら中にQRコードをはって、それでスタンプラリーをしようかと思っているのですが
0123nobodyさん2013/03/25(月) 01:14:34.95ID:ISkubUPD
こんばんわぁ〜

PHPぷろぐらまぁ〜の おねぇ〜さんだよぉ〜

今日はどんな質問が あるのかな?
0124nobodyさん2013/03/25(月) 01:44:00.51ID:???
>>117
書かないことが気持ち悪いって人は沢山いるんだけど、
書くことによって起こる面倒なやり取りを避けるために、気持ち悪いことを承知の上で
書かないようにしようって判断した感じだよね。

「最後に空行がひとつあるんですがこれは?」とかまじでうっとうしいから
0125nobodyさん2013/03/25(月) 01:47:30.00ID:???
気持ち悪いとかじゃなくて実益で判断しろよ
気持ちいいコードしか書かんのかお前は
0126nobodyさん2013/03/25(月) 02:07:03.84ID:???
>>122みたいに質問すらロクにできないクズは何なの?
0127nobodyさん2013/03/25(月) 03:30:36.57ID:zKokAmn+
>>119
ダウンロードする時のコードからアップロードする時のコードに直すことが出来ないのですか?
0128nobodyさん2013/03/25(月) 04:10:17.81ID:???
ダウンロードとあっぷろ
0129nobodyさん2013/03/25(月) 09:05:07.55ID:???
>>122
前回回答済
0130nobodyさん2013/03/25(月) 12:43:29.77ID:???
>>127
ダウンロードするときには受け取った分から量がわかるけど
アップロードで丸ごと渡したらどこまで送信したかは、送った場所からはわからんだろ。
0131nobodyさん2013/03/25(月) 13:33:37.72ID:???
>130:nobodyさん :2013/03/25(月) 12:43:29.77 ID:??? [sage]
>>>127
ダウンロードするときには受け取った分から量がわかるけど
>アップロードで丸ごと渡したらどこまで送信したかは、送った場所からはわからんだろ。

はい、本日最高のヴァカ入りました
0132nobodyさん2013/03/25(月) 14:04:49.74ID:???
そんなこと言ってコード出させようとしても無駄w
0133nobodyさん2013/03/25(月) 17:17:47.63ID:wVRiuIe8
サニタイズ(無害化)について質問です。
次の変数$hostnameをDBに登録する場合、サニタイズは必要でしょうか?
よろしくお願いします。

$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
0134nobodyさん2013/03/25(月) 17:48:59.31ID:???
>>133
DBにはそのまま入れなよ
0135nobodyさん2013/03/25(月) 17:55:08.36ID:Xg0aZ+mi
Aサーバー→Bサーバー(長時間処理)

Bサーバーの処理終了もAサーバーがレスポンスを受け取らない。

Aサーバーがタイムアウトしてるとしか考えられないのですが
httpd.confのTimeoutとphpのタイムアウト設定以外に何処かいじるところ
ありますか?
0136nobodyさん2013/03/25(月) 17:57:54.37ID:???
>>135
> タイムアウトしてるとしか考えられない
で、タイムアウト「してた」の?
01371352013/03/25(月) 18:04:26.97ID:???
>>136

いえ、Bサーバー側ですべての処理が終わっても、クライアント側のPHP
はずっと動作したままブラウザは接続中になっています。

Bサーバーのtcpdumpではackをずっと飛ばしてるのですが、Aサーバーの
tcpdumpログに動きがないので、Bサーバーは強制切断になってます。
0138nobodyさん2013/03/25(月) 18:06:56.69ID:???
>>1も読めない>>137は以後スルーで
0139nobodyさん2013/03/25(月) 18:09:03.98ID:Xg0aZ+mi
>>138

間違えてsage入れてました。
この質問は取り下げます。
0140nobodyさん2013/03/25(月) 18:21:17.35ID:zKokAmn+
>>130
ブラウザやFTPクライアントはアップロードする時も%表示やプログレスバーが表示されますけど
phpでは表示出来ないという何か事情があるのでしょうか
0141nobodyさん2013/03/25(月) 18:25:56.14ID:???
>>140
curlで送ってるんじゃないの?
phpでcurlの関数に渡してはいおしまい、だと取れないだろって言ってるの
ダウンロードのコード晒してたから、そのまま使ったんじゃそうなるって話。
コールバックとか調べてみ。
0142nobodyさん2013/03/25(月) 19:09:28.56ID:???
A→Bへのコネクションだと思うんだけど、Aのログには別にRSTもFINも飛ばしてないんだよね?
コネクション張れてるならB→AへのACKがAに到達しないのはおかしいなぁとおもう。
nagleが絡んでるわけでもないんだよね
0143nobodyさん2013/03/25(月) 19:13:45.73ID:???
>>113
http://stackoverflow.com/questions/10946075/libcurl-c-curlopt-progressfunction
01441332013/03/25(月) 19:48:46.69ID:CCFS7U7g
>>134
ありがとうございました。
$_SERVER['REMOTE_ADDR'] の値が改竄される危険性については、
あまり心配しなくて良さそうですね。
0145nobodyさん2013/03/25(月) 22:22:50.37ID:???
取り下げられた質問にいつまでも絡んでる自己顕示欲くんウザ
0146nobodyさん2013/03/25(月) 22:39:40.23ID:???
自己顕示欲に見えるのはちょっと頭がおかしい
0147nobodyさん2013/03/25(月) 22:40:28.08ID:???
ごめん間違えた。ちょっとじゃなくてかなり。
0148nobodyさん2013/03/26(火) 00:08:15.71ID:???
>>146-147
自己紹介乙
0149nobodyさん2013/03/26(火) 03:29:34.65ID:???
どういたしまして
0150nobodyさん2013/03/26(火) 04:44:42.31ID:???
さすが底辺言語のスレ
常に煽りあってるよな
0151nobodyさん2013/03/26(火) 04:59:50.77ID:???
あおってるのが質問者でも回答者でもない人ってのが面白いところだよ
0152nobodyさん2013/03/26(火) 05:05:58.04ID:???
基本的な知識が足りないと判断されて回答してもらえなかった質問者やID出し忘れて叩かれた質問者が逆ギレして暴れているだけだろう。
0153nobodyさん2013/03/26(火) 05:13:23.28ID:???
この板のPerlスレ見てみろ
たまに煽り合いもあるけど基本平和そのものだぞ
言語使用者の民度は2chのスレッドにも表れる
0154nobodyさん2013/03/26(火) 09:03:11.23ID:???
ここしばらくおとなしかったのに春休みになったら荒れだしたな
0155nobodyさん2013/03/26(火) 10:20:58.89ID:???
お前ら全員Ruby使えは荒れることもないだろうよ
01561352013/03/26(火) 11:09:54.49ID:mRDPS0mY
>>142

返信ありがとうございます。

RSTはBサーバーではやってますが、Aのほうでは全く反応ない状態で
ackも送ってません。

nagleはちょっと調べてみないとわかりません。
01571352013/03/26(火) 12:16:11.31ID:mRDPS0mY
>>142

curlの
CURLOPT_TCP_NODELAYで無効にして試してみます。
ヒントありがとうございました。
0158nobodyさん2013/03/26(火) 15:23:43.17ID:???
質問取り下げたんじゃねーのかよ
嘘つきは消えろ
0159nobodyさん2013/03/26(火) 16:05:01.31ID:???
ループが分からないので教えてください
単純に文字を100回だすとかならまあ分かるんですけど
データベースとか絡んでくるとわけわからなくなってきます
0160nobodyさん2013/03/26(火) 16:47:05.53ID:???
嘘つきは泥棒の始まり

本当にここは犯罪者予備軍のスレだな
0161nobodyさん2013/03/26(火) 17:20:11.44ID:???
>>135がリアルキチガイなだけでしょ。
0162nobodyさん2013/03/26(火) 18:17:40.52ID:???
IDでてないよ
0163nobodyさん2013/03/26(火) 18:20:51.69ID:???
出てないから俺も静観してるとこ。
0164nobodyさん2013/03/26(火) 18:55:08.33ID:p9pFyvrs
ループ教えてください
01651352013/03/26(火) 19:00:48.07ID:???
嘘つきでもシステムが出来ればいいのです。
だってプログラマーでしょ
0166nobodyさん2013/03/26(火) 19:32:24.58ID:???
>>164
for(int i =0; i < 10; i++){
for(int j = 0; j < 10; i++){
}
}
0167nobodyさん2013/03/26(火) 19:41:13.66ID:p9pFyvrs
>>166
ループとイフの組み合わせを教えてください
0168nobodyさん2013/03/26(火) 20:28:52.75ID:???
この質問になんの意味があるんだろう?
その程度のこと知った所で何もプログラム組めないぞ
初心者向けのサイトでも見て学べ
0169nobodyさん2013/03/26(火) 20:33:08.47ID:???
>>166
ルールを守れない屑に回答してんじゃねーぞ精神異常
お前そこまでして自己顕示欲を満たしたいのか
0170nobodyさん2013/03/26(火) 20:43:01.27ID:???
>>166
ID出さない奴に回答するなゴミ。
0171nobodyさん2013/03/26(火) 20:55:12.54ID:???
>>170
IDは出てるじゃん
0172nobodyさん2013/03/26(火) 20:55:37.72ID:???
>>166
よくみたら無限ループでワロタ
0173nobodyさん2013/03/26(火) 21:07:53.64ID:???
>>171
はぁ?なにこいつ
最初出てなかっただろうが

万引きで捕まってから
お金払えばいいんでしょ!とか逆ギレするDQNと同じ精神構造
>>166共々消えろ
0174nobodyさん2013/03/26(火) 21:18:50.60ID:???
>>166はどう見てもマジレスじゃない
お前らアホか
0175nobodyさん2013/03/26(火) 21:23:41.80ID:???
>>174
いったじゃん。回答者でも質問者でもない人が馬鹿だって
0176nobodyさん2013/03/26(火) 21:26:02.46ID:???
>>166
PHPじゃないじゃん
0177nobodyさん2013/03/26(火) 21:36:48.57ID:???
>>169
ネタにマジレス…恥かしいよ…
0178nobodyさん2013/03/26(火) 21:41:24.07ID:p9pFyvrs
ぼくのために争わないで
みんなで仲良くPHPしましょう
0179nobodyさん2013/03/26(火) 21:44:07.30ID:???
なんでこんなに人気なの?
0180nobodyさん2013/03/26(火) 21:52:43.45ID:kZMtE//2
>>179
初めてやったのがphpで、それで事足りてるからほかの言語をやるきになれない...
サーバサイドで使ってるのはPHPだけだと思う。
MySQLとの連携とかはあるけど。
0181nobodyさん2013/03/26(火) 21:59:36.70ID:???
>>179
http://www.youtube.com/watch?v=VBm5m1-Eonw
0182nobodyさん2013/03/26(火) 22:09:43.32ID:???
>>179
お手軽にイオナズン唱えられるかんじ
0183nobodyさん2013/03/26(火) 22:15:55.27ID:kZMtE//2
>>182
フレームワークあれば開発速度ものすごい上がるしな。
0184nobodyさん2013/03/27(水) 04:49:18.79ID:???
<?php
echo "こんにちは";
?>

として、test.phpを保存しても、
ブラウザで読み込むとそのまま出てしまうんですが、コンパイル的なのが必要なんですか?
0185nobodyさん2013/03/27(水) 05:07:28.83ID:???
サーバー=PHPとHTMを解釈する環境。
0186nobodyさん2013/03/27(水) 07:44:23.93ID:???
>>184
その test.php はどこに保存されてて、ブラウザはどうやって開いているのかな?

ローカルに保存してローカルで開いたらそうなるけど。
ブラウザは PHP解釈しないから。

php解釈するモジュールを組み込める Apache などの Webサーバーにアップロードしておくか、
phpをcgiで実行できるようにWebサーバーに設定して同じくアップロードする。

そんでブラウザから Webサーバーを通じてアップロードしたしたファイルにアクセス。

というのがニワカの俺の知識。
0187nobodyさん2013/03/27(水) 09:02:47.30ID:???
test.php.txtになってるってオチだろ
0188nobodyさん2013/03/27(水) 10:09:51.76ID:???
>>187
そんなミスするのはお前だけだ
0189nobodyさん2013/03/27(水) 10:16:02.44ID:KYdi+aYH
PHPファイルのincludeができる範囲ってどんなもんなんでしょうか?
ドメインが違っても出来てしまいますか?
0190nobodyさん2013/03/27(水) 10:17:53.52ID:???
file:///C:/test.php なんだろ。
0191nobodyさん2013/03/27(水) 10:27:17.15ID:???
>>190
これだろうな
0192nobodyさん2013/03/27(水) 11:00:25.32ID:???
>>189
phpとして読めるならね。
普通、httpでphp読むと実行結果が返ってくるよね?
0193nobodyさん2013/03/27(水) 11:04:48.30ID:KYdi+aYH
>>192
つまり相対パスで呼び出さない限りincludeは出来ないということで良いのですね
安心しましたありがとうございます
0194nobodyさん2013/03/27(水) 11:22:45.13ID:o3YcYIdi
dataCheck($a,"txtA");
dataCheck($b,"txtB");

function dataCheck($str,$name){
if(strlen($str) == 0 || !preg_match('/^[0-9]$/',$str)){
print("<html><head><title>入力エラー</title></head><body>");
print($name." は半角数字を入力してください。<br /><br />\n");
print("<a href=\"#\" onClick=\"history.back(); return false;\">再入力</a>\n");
print("</body></html>");
exit;
}
}

txtAとtxtBの両方がfalseの場合、両方のエラーを表示させたいのですが
この場合だとどちらか片方しか表示されません。

両方表示できる方法をお願いします。
0195nobodyさん2013/03/27(水) 13:39:50.07ID:???
>>194
exitをなくせばいいと思うよ。
それとhead、bodyタグ等は関数の外で出力。
0196nobodyさん2013/03/27(水) 13:50:15.93ID:???
>>114
PHPだけのファイルの場合は付けない方が良く、その理由は明確。

PHPだけのファイルはrequireされるが、そのときそのファイルに?>に続くスペースなどがあると、
それが出力に影響を及ぼす場合がある。
また、PHPのコードでHTTPヘッダを出力するとき、requireしたファイルに?>に続く余分なスペース
や改行などがあると、もうHTTPヘッダは出力できなくなる。
そのため、?>は省略した方が良い。

ちなみに、PSR-2というコーディングガイド(PSRが何者かは要google)では、?>は省略が必須と
なっており、( http://www.infiniteloop.co.jp/docs/psr/psr-2-coding-style-guide.html )、
コーディングルールを静的にチェックするツールでは、エラーとして報告されるだろう。
0197nobodyさん2013/03/27(水) 14:00:57.53ID:???
dataCheck($a,"txtA");
dataCheck2($b,"txtB");

print("<html><head><title>入力エラー</title></head><body>");
print("</body></html>");

function dataCheck($str,$name){
if(strlen($str) == 0 || !preg_match('/^[0-9]$/',$str)){
print($name." は半角数字を入力してください。<br /><br />\n");
print("<a href=\"#\" onClick=\"history.back(); return false;\">再入力</a>\n");
}
}

function dataCheck2($str,$name){
if(strlen($str) == 0 || !preg_match('/^[0-9]$/',$str)){
print($name." は半角数字を入力してください。<br /><br />\n");
print("<a href=\"#\" onClick=\"history.back(); return false;\">再入力</a>\n");
}
}

適当にやったらなんとなく目的の動作に使づきましたが、「再入力」というのが2つ表示されたりと
なんとなくもっと簡単にできると思うんだが・・・

もし両方入力が不正の場合は、

「txtA txtBは半角数字を入力してください。」

と表示されるのが理想。$nameにtxtA txtBが代入されてるんだけど
それを配列で取り出す方法がわかりません。
0198nobodyさん2013/03/27(水) 14:06:09.03ID:GIbhyuNj
質問です。よろしくお願いします。
データベースから100件のデータを取得して、PHP側にて、whileで処理する場合、
そのwhileループ内で、更に、5回ずつデータベースに問い合わせると、
合計500回データベースにアクセスすることになってしまいます。

こういう場合には、どうするのがベストですか?
テーブルを結合して取得すればよいかとも思うのですが、
問い合わせが、5回、10回と多くなるとテーブルの結合も難しいです。
0199nobodyさん2013/03/27(水) 14:11:15.14ID:???
>>197
PHP以前の問題だ。

function validate($str){
 // 妥当なデータならtrueを、そうでない場合はfalseを戻す
 return strlen($str) !== 0 && preg_match('/^[0-9]$/', $str);
}

$buf = '';
if (!validate($a)) {
 $buf = "txtA,";
}
if (!validate($b)) {
 $buf .= "txtB";
}
if (strlen($msg) > 0) {
 $html = <<<EOB
<html><head><title>入力エラー</title></head><body>
$buf は半角数字を入力してください。<br /><br />
<a href="#" onClick="history.back(); return false;">再入力</a>
</body></html>
EOB;
}
0200nobodyさん2013/03/27(水) 14:12:42.17ID:???
>>198
> こういう場合には、どうするのがベストですか?
> テーブルを結合して取得すればよいかとも思うのですが、
それしかない。

> 問い合わせが、5回、10回と多くなるとテーブルの結合も難しいです。
難しくてもやれ。
0201nobodyさん2013/03/27(水) 14:13:28.39ID:???
>>199
誤:if (strlen($msg) > 0) {
正:if (strlen($buf) > 0) {
■ このスレッドは過去ログ倉庫に格納されています