【PHP】下らねぇ質問はID出して書き込みやがれ 81
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/02/18(水) 21:09:16ID:xNLzAD7T過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 80
http://pc11.2ch.net/test/read.cgi/php/1233479457/
◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
0491nobodyさん
2009/02/26(木) 12:50:37ID:???0492nobodyさん
2009/02/26(木) 12:54:45ID:hOiLi7h5文字列を1byteじゃなく1bitを取得することってできますか?
0493nobodyさん
2009/02/26(木) 13:06:37ID:???0494nobodyさん
2009/02/26(木) 13:15:31ID:???0495nobodyさん
2009/02/26(木) 13:22:02ID:???はぁ?
試したのかよ。$data = 付けて保存したら、includeするだけだぜ。
unserializeの方が遅いよ。
0496nobodyさん
2009/02/26(木) 14:12:33ID:YD+Z+nCMしかしPHP内で
header("Not Found", true, 404);
と書くと、設定している404エラー画面ではなくブラウザの404エラー画面が出ます。
設定しているエラー画面を表示させるにはどう書けばいいでしょうか?
0497nobodyさん
2009/02/26(木) 14:15:08ID:???0498nobodyさん
2009/02/26(木) 14:22:20ID:???404エラーのファイルになりませんか?
0500nobodyさん
2009/02/26(木) 14:28:09ID:???そのheaderを出した後、自前のエラー画面をreadして出力。
ブラウザは404ヘッダーと404用のソースを受け取る
0501nobodyさん
2009/02/26(木) 14:35:56ID:???その問題に関係あるか分からないけど
IEだと512バイト?以下のエラーファイルは無視して
自前のエラーファイル使うらしい。
インターネットオプションの詳細設定から変えられるけど。
0502nobodyさん
2009/02/26(木) 15:03:08ID:???まとめて失礼します。
たくさん教えてくださってありがとうございます。
無事できるようになりました。
>>501
それは知りませんでした。デザイン頑張ります。
0503nobodyさん
2009/02/26(木) 15:32:12ID:6qh6YAhfなるべく3人グループができるようにします
関数にて処理したいと思います
よろしくおねがいします
function get_group (n) {
/*
計算するところ
*/
return array('3' => ? ,'2' => ?);
}
n=2の場合
array('3' => 0 ,'2' => 1);
n=7の場合
array('3' => 1 ,'2' => 2);
n=9の場合
array('3' => 3 ,'2' => 0);
n=11の場合
array('3' => 3 ,'2' => 1);
0505nobodyさん
2009/02/26(木) 15:35:02ID:???0506nobodyさん
2009/02/26(木) 15:37:50ID:???0507nobodyさん
2009/02/26(木) 15:38:09ID:???0509nobodyさん
2009/02/26(木) 16:03:26ID:6qh6YAhfありがとうございました
function get_group ($n) {
if((int)$n < 2) return false;
$total = (int)$n;
$sannin = 0;
$futari = 0;
$amari = $total % 3;
if($amari === 1) {
$sannin = floor(($total / 3)) - 1;
} else {
$sannin = floor($total / 3);
}
$futari = ($total - ($sannin * 3)) / 2;
return array('3' => $sannin ,'2' => $futari);
}
0510nobodyさん
2009/02/26(木) 16:04:28ID:???0511nobodyさん
2009/02/26(木) 16:06:21ID:???0512nobodyさん
2009/02/26(木) 16:11:53ID:???n=7のときは2人グループが二つできるの?
0513nobodyさん
2009/02/26(木) 16:18:30ID:???0514nobodyさん
2009/02/26(木) 16:21:51ID:???switch ($n) {
case 1 : return false;
case 2 : return array(0, 1);
case 3 : return array(1, 0);
case 4 : return array(0, 2);
case 5 : return array(1, 1);
case 6 : return array(2, 0);
case 7 : return array(2, 1);
・・・略
}
}
0515nobodyさん
2009/02/26(木) 16:32:40ID:???print_r(getGroup($n));
function getGroup($n) {$a=floor($n/3);$b=fmod($n,3);switch ($b) {case 0:return array('3'=>$a,'2'=>0);break;case 1:return array('3'=>$a-1,'2'=>2);break;case 2:return array('3'=>$a,'2'=>1);break;}}
0516nobodyさん
2009/02/26(木) 16:33:56ID:???0517nobodyさん
2009/02/26(木) 16:35:59ID:???あとは好きにしろ
0519nobodyさん
2009/02/26(木) 16:44:24ID:???ループ処理内にreturnもなんか違和感を感じる
0521nobodyさん
2009/02/26(木) 16:53:00ID:???ttp://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla%3Aja%3Aofficial&hs=9eG&q=return+switch+%E6%B0%97%E6%8C%81%E3%81%A1%E6%82%AA%E3%81%84&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja
0522nobodyさん
2009/02/26(木) 16:59:46ID:???0523nobodyさん
2009/02/26(木) 17:02:39ID:???0525nobodyさん
2009/02/26(木) 17:14:45ID:???もしかして、まじでオレだったりしてな。
0526nobodyさん
2009/02/26(木) 17:21:44ID:???それは、そういう奴をさっさと見抜いてクビにできなかった上司の責任。
ふつうに考えればよいコードを書く方がクビになりにくいのは自明だから、
それができなくて辞めた奴を憎んでもしょうがないべ
逆に、良いコード書いても評価されないならとっとと辞めたほうがよさげ
0527nobodyさん
2009/02/26(木) 17:24:01ID:???0528nobodyさん
2009/02/26(木) 17:29:28ID:???$fp=fopen($filename1,"a");
flock($fp,LOCK_EX);
fwrite($fp,$str)
fclose($fp);
$fp=fopen($filename2,"w");
flock($fp,LOCK_EX);
fwrite($fp,$str)
fclose($fp);
0531nobodyさん
2009/02/26(木) 17:33:13ID:???雑談でネタ振りしてろカス
0532nobodyさん
2009/02/26(木) 17:38:21ID:???function ahoaho( $filename, $filemode, $str ){
$fp=fopen($filename, $filemode); flock($fp,LOCK_EX); fwrite($fp,$str) fclose($fp);
}
ahoaho( $filename1, "a", $str1 );
ahoaho( $filename2, "w", $str2 );
0533nobodyさん
2009/02/26(木) 18:02:42ID:???0534nobodyさん
2009/02/26(木) 18:07:13ID:???class sql {
function getUser() {}
}
class subsql extends sql {
function getParam(){}
}
class sub2sql extends subsql
0535nobodyさん
2009/02/26(木) 18:12:54ID:???この3つからgetUserを呼び出す際
呼び出しを統一のクラスで管理したいのですがsql,subsql,sub2sqlとクラス名が違うためできません。
クラスを上書きみたいなことはできないのでしょうか?
subsqlではなくsqlの追加ファンクションとして別ファイルで定義したいのです
途中で送信してしまい変な分になってます。ごめんなさい
0536nobodyさん
2009/02/26(木) 18:40:47ID:???おまえさん、スレタイが読めないように、クラスのこともわからないんだろうなぁ。
自分が何を聞きたいのかもう一度整理して、ID出してやりなおしてみたらどうよ
0538nobodyさん
2009/02/26(木) 21:31:11ID:???契約の金額が増えるほど
ディスクの容量が減る
ステキなヤフーのホスティングサービス
0539nobodyさん
2009/02/26(木) 22:27:45ID:???俺は逆にswitchの中には極力return以外を置かないようにしてる。
breakも不要になるからbreak忘れ防げるし、全てのcaseが即returnになってれば読みやすい。
0540nobodyさん
2009/02/26(木) 23:09:38ID:???って英語で質問したら、いっぱい回答きて
収拾つかなくなったよ
たすけて
どうしたらいい?
http://stackoverflow.com/questions/590464/how-do-you-write-a-process-to-do-something-every-24-hours
0542nobodyさん
2009/02/26(木) 23:46:35ID:lNT2RMd9http://example/test/
と言う場合、このディレクトリを取得する方法ってないでしょうか?
0545nobodyさん
2009/02/27(金) 00:44:14ID:???そのURL叩いて何らかのPHPスクリプトが実行されるのなら、__FILE__でそのスクリプトへのパスが取得出来る。
そのパスから親ディレクトリ取ってくる。
これで回答になってる?
0547nobodyさん
2009/02/27(金) 01:05:50ID:JrfelggM自分でビルドするしかないんでしょうか?
アプリを配布するにあたって、環境はなるべく本家(に近いところ)から落としてもらおうと思ってたんですけど。
0548nobodyさん
2009/02/27(金) 02:00:01ID:GwQuSr9T0549547
2009/02/27(金) 02:42:59ID:???試しにスクリプトとして実行しても、ヒット数増えなかったし。(一応古いバージョンのなら手元にバイナリがある)
PHPのコンパイル、ワケがわからん。
試しにPHP本体も作ってみるかと思ったんだが、
http://jp.php.net/manual/ja/install.windows.building.php
≫ the Windows build tools をダウンロードし、それを C:\work に展開する
ってあるのも、いきなりリンク切れしてるし。
apcも、とりあえずVCでコンパイルしようとしたら、VCのヘッダファイルでサイズが0の配列ってエラーが出るし。
どこから手をつけたらいいものやら。
0550nobodyさん
2009/02/27(金) 04:12:18ID:lL0tvrw7このページなんだけど、
getにしたのに、リロードしたら
カウントアップしてしまうんだよ
なんで?POSTだったら、そうなるってわかるけど、
getだったら、ならないはずなのに?
0551nobodyさん
2009/02/27(金) 04:15:05ID:???| ここでボケて!! |
|_________|
∧∧ ||
( ゚д゚)||
/ づΦ
0552nobodyさん
2009/02/27(金) 04:18:21ID:lL0tvrw7慎重に選考を進めてまいりましたが、
残念ながらご希望に添えない結果と
なりましたのでご連絡申し上げます。
今後ますますのご健康とご活躍をお祈り申し上げます。
0553nobodyさん
2009/02/27(金) 04:24:52ID:lL0tvrw7<form method=post action=2.php>
そこから元ファイルに飛ばせばフォームデータ消えるから、F5更新しても大丈夫
header("Location: http://example.com/1.php");
↑こんなめんどくさいこと
しないとだめなの?
0554nobodyさん
2009/02/27(金) 04:37:23ID:???HTTPの仕様とブラウザの仕様をもう少し勉強したほうがいい
0555nobodyさん
2009/02/27(金) 05:00:02ID:lL0tvrw70556nobodyさん
2009/02/27(金) 05:01:29ID:???0558nobodyさん
2009/02/27(金) 07:02:13ID:fK1SPmyApcntl_forkを使いフォークして複数プロセスにタスクを分配させました。
memcacheを共有メモリに使った簡易的なmap-reduceです。
プロセスを増やすほど速くなると思ったのですが、
個々のタスクの速度が落ちるだけで、
合計時間が縮まりません。
フォークを高速化目的に使うのは間違っているのでしょうか?
0559nobodyさん
2009/02/27(金) 08:55:05ID:YTPFMmJEmysql_fetch_arrayでやると$row[0]["TEST"]でデータが出てこないというか
[1]["TEST"]なら1、[2]["TEST"]なら2、・・・な値が出てくるんだけどそういうもんなの?・・
0561nobodyさん
2009/02/27(金) 09:25:13ID:???本命はmemcache。memcacheは相当遅いからボトルネックになってもおかしくない。
文字列と数値以外はシリアライズされるからその分重くなる。
単純にタスクが小さすぎるか、多すぎる可能性もある。タスクが小さすぎると、タスク分割/統合のオーバーヘッドが、分割による高速化を超える。
デュアルコアなら2分割以上の分割は無駄。たとえ100分割しても、働く人間が2人なら2つずつしか捌けん。
googleが速いのは、物理的に大量のサーバーに処理を分割してるのと、オーバーヘッドになるタスクの分割/統合自体も分散処理してるから。
いっぺんボトルネックがどこか測定してみ。
xdebugかzend debuggerを使えば、どの処理が時間を食っているか見られる。
0563nobodyさん
2009/02/27(金) 10:51:58ID:???フォークを高速化目的に使うのは基本的には間違いじゃね?
map reduceが目的にしているのは、大量のリソースを使えるという利点。
リソースの余剰がない1サーバー内でフォークしても重くなるだけ。
むしろ、高速化したいならフォークしてしまう処理を減らしたほうがいい。
0564nobodyさん
2009/02/27(金) 11:00:56ID:???ときぐらいだろ
待ち状態(サーバ側負荷ほとんど無し)のあいだに別プロセスで並行して通信できる利点
0565nobodyさん
2009/02/27(金) 13:02:18ID:vxQr4xVsclass sql {
function getUser() {}
}
class subsql extends sql {
function getParam(){}
}
class sub2sql extends subsql{
function getAge(){}
}
sqlしか必要がないファイル、sql,subsqlが必要なファイル、全部必要なファイル
この3つからgetUserを呼び出す際
呼び出しを統一のクラスで管理したいのですがsql,subsql,sub2sqlとクラス名が違うためできません。
クラスを上書きみたいなことはできないのでしょうか?
subsqlではなくsqlの追加ファンクションとして別ファイルで定義したいのです
途中で送信してしまい変な分になってます。ごめんなさい
0566nobodyさん
2009/02/27(金) 13:12:19ID:???$sql_obj = getSqlObj();// 必要に応じて sql,subsql,sub2sqlのインスタンスを返すメソッドね。
$sql_obj->getUser();
0567nobodyさん
2009/02/27(金) 13:13:08ID:/gqrgIY6値として受け取る方法ってありますか?
ソースはこんな感じです↓
class hoge{
private $hoge = array('h','o','g','e');
public function & refHoge(){ return $hoge }
}
$hogeCls = new hoge();
$rtn = $hogeCls->refHoge();
// $rtnをごにょごにょしたいが、$hogeは変えたくない
// 今は↓の処理をやってますが、もっと良いやりかたがあったら教えてほしいです
foreach($hogeCls->refHoge() as $key => $val){ $rtn[$key] = $val; }
0568nobodyさん
2009/02/27(金) 13:14:25ID:laCA4GxDfwriteすると、なぜか「\"」とバックスラッシュが入ってしまいます。
なぜでしょうか?
0573nobodyさん
2009/02/27(金) 14:16:10ID:???array型を参照で受け取る時は、メソッドと代入する側両方が & をつけないとならない
逆に言えば何も修飾せずに代入するだけでコピーになる
$ref = &$hogeCls->refHoge(); // 参照
$copy = $hogeCls->refHoge(); // 値
http://www.php.net/manual/ja/language.references.php
0574nobodyさん
2009/02/27(金) 15:39:39ID:/lC62y00例えば「61.195.146.164」と入力した場合、
「jp.php.net」「pobox.packetbusiness.com」などが返ってくるイメージです。
gethostbyaddr('61.194.146.164')だと
「pobox.packetbusiness.com」しか返って来ませんでした。
0575nobodyさん
2009/02/27(金) 15:47:10ID:???0577574
2009/02/27(金) 15:55:56ID:/lC62y00すみません、言い直します。
IPアドレスからホスト名を取得する方法が
gethostbyaddr以外にありますでしょうか?
0580nobodyさん
2009/02/27(金) 16:42:32ID:???0581574
2009/02/27(金) 16:57:55ID:???逆引きが一意であることと、正引きが複数設定可能なことくらいです。
DNSサーバに「このIPアドレスに正引きされるホスト名を教えてくれ」っていう
問い合わせはできないってことでOKですか?
0583nobodyさん
2009/02/27(金) 17:18:56ID:???「pobox.packetbusiness.com」しか返って来ませんでした。
あたりまえだろ
0584nobodyさん
2009/02/27(金) 17:21:27ID:???0586574
2009/02/27(金) 18:26:24ID:???ありがとうございます、自分の間違えが分かりました。
>>584
はい、そのとおりです。
SPAMメールの処理周りでそのようなことが出来るかどうか
疑問に思ったので質問いたしました。
---
DNSの初歩レベルの質問になってしまい失礼しました。
ありがとうございました。
0587nobodyさん
2009/02/27(金) 20:20:35ID:0buNRA0u$obj2=$obj1;
だと$obj1の参照になってしまうらしい。
$obj2=clone $obj1;
ってやっても、参照が渡されてしまった。助けて欲しい。
0590nobodyさん
2009/02/27(金) 21:56:28ID:kc9E5JKd$encoding[]=mb_detect_encoding($txt,'UTF-8,EUC-JP,SJIS,JIS');
$encoding[]=mb_detect_encoding($txt,'EUC-JP,SJIS,JIS');
$encoding[]=mb_detect_encoding($txt,'SJIS,JIS');
$encoding[]=mb_detect_encoding($txt,'JIS,UTF-8');
print("<pre>");var_dump($txt,$encoding,mb_convert_encoding($txt,'UTF-8','JIS'));die();
↓こうなる
array(3) {
[0]=>
string(5) "UTF-8"
[1]=>
string(6) "EUC-JP"
[2]=>
string(4) "SJIS"
[3]=>
string(3) "JIS"
}
0591nobodyさん
2009/02/27(金) 21:58:31ID:???$txtをそおまま表示しようとすると$とか矢印みたいなのが混ざったような文字化けで表示され、
mb_convert_encoding($txt,'UTF-8','JIS')するときちんと元に戻ります。
4.4.9とXAMPPの5.2.8で確認。
これはどうすれば?
■ このスレッドは過去ログ倉庫に格納されています