【PHP】下らねぇ質問はID出して書き込みやがれ 127
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2013/03/19(火) 22:13:49.76ID:???過去スレ、関連スレ、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:???0106nobodyさん
2013/03/24(日) 01:49:58.74ID:???0107nobodyさん
2013/03/24(日) 02:46:07.29ID:MVB0e/DSダウンロードする時は分かったのですが。
0108nobodyさん
2013/03/24(日) 04:00:14.39ID:???お前がしなきゃならないのはファイルアップロードの途中経過を取得することではなく
今すぐに回線を切ってネット社会に迷惑をかけないことだ
分かったかゴミ
0109nobodyさん
2013/03/24(日) 05:01:13.47ID:???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分かりにくくて申し訳ありません。
ブラウザ→サーバー にアップロードする時の途中経過ではなく
サーバー→別のサーバー にcurlを使ってアップロードする時の途中経過の事です。
0113nobodyさん
2013/03/24(日) 13:45:27.68ID:MVB0e/DSダウンロードはこれで現状動いています。
$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:+46FugGl0116nobodyさん
2013/03/24(日) 19:09:13.56ID:???0117nobodyさん
2013/03/24(日) 19:33:05.87ID:???閉じタグは、HTMLが混在する時に使う区切りの扱い。
PHPだけのファイルでは、変なキャラクタが出力されたりしないように
省略するのが昨今の流行り。
0118nobodyさん
2013/03/24(日) 20:44:25.82ID:???0122nobodyさん
2013/03/25(月) 01:12:25.22ID:Ox4syU6B具体的には文化祭でそこら中にQRコードをはって、それでスタンプラリーをしようかと思っているのですが
0123nobodyさん
2013/03/25(月) 01:14:34.95ID:ISkubUPDPHPぷろぐらまぁ〜の おねぇ〜さんだよぉ〜
今日はどんな質問が あるのかな?
0124nobodyさん
2013/03/25(月) 01:44:00.51ID:???書かないことが気持ち悪いって人は沢山いるんだけど、
書くことによって起こる面倒なやり取りを避けるために、気持ち悪いことを承知の上で
書かないようにしようって判断した感じだよね。
「最後に空行がひとつあるんですがこれは?」とかまじでうっとうしいから
0125nobodyさん
2013/03/25(月) 01:47:30.00ID:???気持ちいいコードしか書かんのかお前は
0127nobodyさん
2013/03/25(月) 03:30:36.57ID:zKokAmn+ダウンロードする時のコードからアップロードする時のコードに直すことが出来ないのですか?
0128nobodyさん
2013/03/25(月) 04:10:17.81ID:???0130nobodyさん
2013/03/25(月) 12:43:29.77ID:???ダウンロードするときには受け取った分から量がわかるけど
アップロードで丸ごと渡したらどこまで送信したかは、送った場所からはわからんだろ。
0131nobodyさん
2013/03/25(月) 13:33:37.72ID:???>>>127
ダウンロードするときには受け取った分から量がわかるけど
>アップロードで丸ごと渡したらどこまで送信したかは、送った場所からはわからんだろ。
はい、本日最高のヴァカ入りました
0132nobodyさん
2013/03/25(月) 14:04:49.74ID:???0133nobodyさん
2013/03/25(月) 17:17:47.63ID:wVRiuIe8次の変数$hostnameをDBに登録する場合、サニタイズは必要でしょうか?
よろしくお願いします。
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
0135nobodyさん
2013/03/25(月) 17:55:08.36ID:Xg0aZ+miBサーバーの処理終了もAサーバーがレスポンスを受け取らない。
Aサーバーがタイムアウトしてるとしか考えられないのですが
httpd.confのTimeoutとphpのタイムアウト設定以外に何処かいじるところ
ありますか?
0137135
2013/03/25(月) 18:04:26.97ID:???いえ、Bサーバー側ですべての処理が終わっても、クライアント側のPHP
はずっと動作したままブラウザは接続中になっています。
Bサーバーのtcpdumpではackをずっと飛ばしてるのですが、Aサーバーの
tcpdumpログに動きがないので、Bサーバーは強制切断になってます。
0139nobodyさん
2013/03/25(月) 18:09:03.98ID:Xg0aZ+mi間違えてsage入れてました。
この質問は取り下げます。
0140nobodyさん
2013/03/25(月) 18:21:17.35ID:zKokAmn+ブラウザやFTPクライアントはアップロードする時も%表示やプログレスバーが表示されますけど
phpでは表示出来ないという何か事情があるのでしょうか
0141nobodyさん
2013/03/25(月) 18:25:56.14ID:???curlで送ってるんじゃないの?
phpでcurlの関数に渡してはいおしまい、だと取れないだろって言ってるの
ダウンロードのコード晒してたから、そのまま使ったんじゃそうなるって話。
コールバックとか調べてみ。
0142nobodyさん
2013/03/25(月) 19:09:28.56ID:???コネクション張れてるならB→AへのACKがAに到達しないのはおかしいなぁとおもう。
nagleが絡んでるわけでもないんだよね
0143nobodyさん
2013/03/25(月) 19:13:45.73ID:???http://stackoverflow.com/questions/10946075/libcurl-c-curlopt-progressfunction
0144133
2013/03/25(月) 19:48:46.69ID:CCFS7U7gありがとうございました。
$_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:???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:???0153nobodyさん
2013/03/26(火) 05:13:23.28ID:???たまに煽り合いもあるけど基本平和そのものだぞ
言語使用者の民度は2chのスレッドにも表れる
0154nobodyさん
2013/03/26(火) 09:03:11.23ID:???0155nobodyさん
2013/03/26(火) 10:20:58.89ID:???0156135
2013/03/26(火) 11:09:54.49ID:mRDPS0mY返信ありがとうございます。
RSTはBサーバーではやってますが、Aのほうでは全く反応ない状態で
ackも送ってません。
nagleはちょっと調べてみないとわかりません。
0157135
2013/03/26(火) 12:16:11.31ID:mRDPS0mYcurlの
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:???本当にここは犯罪者予備軍のスレだな
0162nobodyさん
2013/03/26(火) 18:17:40.52ID:???0163nobodyさん
2013/03/26(火) 18:20:51.69ID:???0164nobodyさん
2013/03/26(火) 18:55:08.33ID:p9pFyvrs0165135
2013/03/26(火) 19:00:48.07ID:???だってプログラマーでしょ
0166nobodyさん
2013/03/26(火) 19:32:24.58ID:???for(int i =0; i < 10; i++){
for(int j = 0; j < 10; i++){
}
}
0167nobodyさん
2013/03/26(火) 19:41:13.66ID:p9pFyvrsループとイフの組み合わせを教えてください
0168nobodyさん
2013/03/26(火) 20:28:52.75ID:???その程度のこと知った所で何もプログラム組めないぞ
初心者向けのサイトでも見て学べ
0173nobodyさん
2013/03/26(火) 21:07:53.64ID:???はぁ?なにこいつ
最初出てなかっただろうが
万引きで捕まってから
お金払えばいいんでしょ!とか逆ギレするDQNと同じ精神構造
>>166共々消えろ
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初めてやったのがphpで、それで事足りてるからほかの言語をやるきになれない...
サーバサイドで使ってるのはPHPだけだと思う。
MySQLとの連携とかはあるけど。
0181nobodyさん
2013/03/26(火) 21:59:36.70ID:???http://www.youtube.com/watch?v=VBm5m1-Eonw
0183nobodyさん
2013/03/26(火) 22:15:55.27ID:kZMtE//2フレームワークあれば開発速度ものすごい上がるしな。
0184nobodyさん
2013/03/27(水) 04:49:18.79ID:???echo "こんにちは";
?>
として、test.phpを保存しても、
ブラウザで読み込むとそのまま出てしまうんですが、コンパイル的なのが必要なんですか?
0185nobodyさん
2013/03/27(水) 05:07:28.83ID:???0186nobodyさん
2013/03/27(水) 07:44:23.93ID:???その test.php はどこに保存されてて、ブラウザはどうやって開いているのかな?
ローカルに保存してローカルで開いたらそうなるけど。
ブラウザは PHP解釈しないから。
php解釈するモジュールを組み込める Apache などの Webサーバーにアップロードしておくか、
phpをcgiで実行できるようにWebサーバーに設定して同じくアップロードする。
そんでブラウザから Webサーバーを通じてアップロードしたしたファイルにアクセス。
というのがニワカの俺の知識。
0187nobodyさん
2013/03/27(水) 09:02:47.30ID:???0189nobodyさん
2013/03/27(水) 10:16:02.44ID:KYdi+aYHドメインが違っても出来てしまいますか?
0190nobodyさん
2013/03/27(水) 10:17:53.52ID:???0193nobodyさん
2013/03/27(水) 11:04:48.30ID:KYdi+aYHつまり相対パスで呼び出さない限りincludeは出来ないということで良いのですね
安心しましたありがとうございます
0194nobodyさん
2013/03/27(水) 11:22:45.13ID:o3YcYIdidataCheck($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の場合、両方のエラーを表示させたいのですが
この場合だとどちらか片方しか表示されません。
両方表示できる方法をお願いします。
0196nobodyさん
2013/03/27(水) 13:50:15.93ID:???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:???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:???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:???> こういう場合には、どうするのがベストですか?
> テーブルを結合して取得すればよいかとも思うのですが、
それしかない。
> 問い合わせが、5回、10回と多くなるとテーブルの結合も難しいです。
難しくてもやれ。
0201nobodyさん
2013/03/27(水) 14:13:28.39ID:???誤:if (strlen($msg) > 0) {
正:if (strlen($buf) > 0) {
■ このスレッドは過去ログ倉庫に格納されています