【PHP】下らねぇ質問はここに書き込みやがれ 66
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/03/16(日) 17:23:27ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
◆質問する時の注意
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を必ず明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくはトリップをつける事。
◆質問後の注意
・偽者防止に必ずIDを表示(メール欄に何も記述しない)、若しくは質問時のトリップをつける事。
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0638nobodyさん
2008/04/03(木) 13:00:44ID:2nubDXXGばっちりでした。マーベラスです。ありがとうございました。
0639nobodyさん
2008/04/03(木) 13:26:53ID:???なんで、オーバーヘッドの話から、
requireやincludeの話になってんの?w
わずかな差しかないが、__autoloadを使ったほうが、
クラスの存在のチェックなどをするぶん、
requireやincludeよりも遅いが。
0641nobodyさん
2008/04/03(木) 14:11:22ID:???ファイルの容量は気にしなくていいってことなのか
でもファイルがでかいならオーバーヘッドうんぬんより分割した方がいいと思うが
0642626
2008/04/03(木) 14:13:06ID:???1つのファイルに書き込むより5つのファイルにに書き込む方がオーバヘッドが大きい
書き込みの際にはDBのようなトランザクション処理ができないので
1つのファイルに書き込み失敗するとデータの整合性が狂うしロールバックもできない
(どれか失敗したら全てのファイルのデータ数を数えて少ないとこにあわせて末尾から削除とかもできるが面倒)
よって1つのファイルにデータをまとめて1度だけ書き込みを行ったほうがよい
ということを言ったつもりだったんだけど
0643nobodyさん
2008/04/03(木) 14:20:07ID:???0644nobodyさん
2008/04/03(木) 15:21:07ID:BSwpnKE2PHPまたはCGIみたいなのありませんか?
自分のホームページがあまりにもアクセス数が少ないので、
自動でカウンターだけでも上げて気休めしてみよーかなと。
0645nobodyさん
2008/04/03(木) 15:24:34ID:???0647644
2008/04/03(木) 15:37:18ID:???パソコンを立ち上げなくても、サーバー側で自動でアクセスしてみたいのです。
cronというのは どんな感じですか?
0648nobodyさん
2008/04/03(木) 15:41:38ID:???1日に86400ほど増える。
0649nobodyさん
2008/04/03(木) 15:44:02ID:???レンタルカウンターだとしたら無駄に負荷かかって迷惑だからやめとけ
0650nobodyさん
2008/04/03(木) 15:49:06ID:???0652nobodyさん
2008/04/03(木) 16:14:02ID:???0653nobodyさん
2008/04/03(木) 17:11:38ID:2KfD0E2x$test="テスト";
print<<<EOF
{$test}
EOF;
以上を実行したら、「テスト」が出力されると思いますが、
$testの中身をfunction関数を実行した結果にしたいと思います
サンプルとして以下のようなfunctionをつくり、
function testFunc($i){
if($i==1){return "結果1";}else{return "結果2";}
}
print<<<EOF
{$testFunc(1)}
EOF;
などとしてみたのですが、うまくいきません(「結果1」と表示させたい)
どうしたらいいんでしょう? ご回答よろしくお願いします
0656nobodyさん
2008/04/03(木) 17:48:38ID:2KfD0E2xありがとうございます
{$test(1)}みたいに、引数を持たせることは出来ないんでしょうか? 最終的には
for($i=0;$i<10;$i++){
print <<<EOF
{$test($i)}
EOF;
}
みたいな感じで動的に変化する処理を考えてたので…… 弱ったなぁ
根本的にやり直ししかないのかな、、
0658nobodyさん
2008/04/03(木) 17:59:30ID:???0661nobodyさん
2008/04/03(木) 18:17:54ID:???>>656
for($i=0;$i<10;$i++){
if($i==1){$test = "結果1";}else{$test = "結果2";}
print testFunc($test);
}
function testFunc($test){
return <<<EOF
{$test}
EOF;
}
よく分からんがこんな感じでどうよ?
0662656
2008/04/03(木) 18:27:04ID:2KfD0E2x>>661さんのと可変関数ていうのを調べて、トライしてみます
確かに最悪ヒアドキュメントやめればいいんですよね
ソースが汚くなりそうで気が引けるんですが…
ともかくありがとう またよろしくお願いします
0663nobodyさん
2008/04/03(木) 18:28:29ID:???0664nobodyさん
2008/04/03(木) 18:45:05ID:???0668nobodyさん
2008/04/03(木) 19:31:29ID:???0669nobodyさん
2008/04/03(木) 20:12:51ID:???<<<AAA
AAA; ←こいつインデントできねーし
0670647
2008/04/03(木) 20:19:44ID:BSwpnKE2cronというのは、UNIX(?)で設定するということですよね!?
たとえばPHPファイルを一つ置いて、勝手に巡回するとかできないでしょうか?
0672nobodyさん
2008/04/03(木) 20:49:27ID:4LgtZJ5T0673nobodyさん
2008/04/03(木) 20:52:04ID:???0674nobodyさん
2008/04/03(木) 20:55:10ID:4LgtZJ5TPEARとかでもAuthってあるから聞いてみた。
ぐぐったり辞書見ても書いてないんだもの。
サポートセンターに電話する時はずかちい
0675nobodyさん
2008/04/03(木) 20:58:13ID:???Authとは
とかそんな感じで検索すればだいたい出る
0676nobodyさん
2008/04/03(木) 21:00:59ID:???0677nobodyさん
2008/04/03(木) 21:33:03ID:4LgtZJ5T出ませんねぇ…
0679nobodyさん
2008/04/03(木) 21:36:38ID:???0680nobodyさん
2008/04/03(木) 21:40:59ID:???goo辞書で「Auth」で英和辞書引いても
そのものずばりが出てくるじゃねーか。嘘吐いて他人の手間増やして楽しい?
0681nobodyさん
2008/04/03(木) 22:58:11ID:YxD7y5X8}
0682nobodyさん
2008/04/03(木) 22:59:43ID:YxD7y5X8for($i=0;$i<5;$i++){
echo $i;
}
こういうforで出力する時、表示は「01234」となりますが、
カウントダウンのように、0の次は1、1の次は2など、
順番に表示させることは出来ないのでしょうか?
0683nobodyさん
2008/04/03(木) 23:10:10ID:???0684nobodyさん
2008/04/03(木) 23:43:08ID:???0686682
2008/04/03(木) 23:54:43ID:???Javascriptはすでにやっているので、他の方法を探してみました。
無理だと言うことですね。他の方法を探してみます。
0688nobodyさん
2008/04/04(金) 00:05:08ID:???それでいいならクッキーを利用して5の次4,3,2,1,0なんて表示は出来るがな。
0689nobodyさん
2008/04/04(金) 00:09:15ID:???>Javascriptはすでにやっているので、他の方法を探してみました。
サーバサイドとクライアントサイドがごっちゃになってないかな?
て思った。
0690682
2008/04/04(金) 00:14:46ID:???サーバサイドでやりたいので、PHPを試しました。
ですが、やっぱりJavascriptしか無理っぽいですね・・。
タイマーみたいなのが作りたいので、ストップ処理も入るし、
そうなると、forとsleepを使っても出来ないみたいです。
0691nobodyさん
2008/04/04(金) 00:28:43ID:???かなり目立つように書いてカタマリに見える工夫するかなあ。
エスケープするときなんかはイチイチ考えなくていいしキレイ(な気がする)
-----
echo "<h1 id=\"header\">{$a}</h1>" ;
-----
echo '<h1 id="header">'.$a.'</h1>' ;
-----
echo <<<__________D_O_C__________
<h1 id="header">{$a}</h1>
__________D_O_C__________;
0692nobodyさん
2008/04/04(金) 00:45:45ID:???違いは分かってるよ!!!と主張してるみたいなので方法論。
header()でrefreshすれば近いことはできるんじゃ?
0693nobodyさん
2008/04/04(金) 00:51:41ID:f6Xk8xc+どのような方法があるでしょうか。
↓例えばこんな風になってて
$string = '$name';
$name = 'MyName';
$stringを使って"MyName"と表示させたいのです。
すぐ思いつくのはevalですが、文のみということみたいなので(?)
無理やりあてはめて書いてみたのが
echo eval("return $string;"); //MyNameと表示される
でもこれだとなんか変というか・・・(コードの見た目が)
他により一般的な書き方があったらおしえてください。
0694nobodyさん
2008/04/04(金) 01:04:03ID:???>forとsleepを使っても出来ない
これは目的のものがJavaScriptでは出来なくて諦めたってことだよな?
断言してもいいが、やり方が間違ってるだけで出来ないことは絶対ない。
コードの一部を載せるんじゃなく、最終目的を明確にした上でweb制作板のJavaScriptスレに質問してみな。
0695693
2008/04/04(金) 01:34:35ID:f6Xk8xc+$string = '$name';
$name = 'MyName';
eval("\$string = \"$string\";");
echo $string; //MyNameと表示される
マニュアルに載っていた例ですが、実際のコードの前後の兼ね合いから
案外すっきりいけるようでしたので、これでいってみますm(_ _)m
0696nobodyさん
2008/04/04(金) 11:09:35ID:???>690
サーバーサイドの時点で、ページ遷移は絶対必要だから
タイマーの部分だけiframeとrefreshで回転させて・・・
0697nobodyさん
2008/04/04(金) 11:22:02ID:???0698nobodyさん
2008/04/04(金) 13:23:02ID:???安易にパーミッションを777にするよりも、
まずディレクトリーのオーナをかえて、必要最低限度のパーミッションにした方がいいよ。
0699nobodyさん
2008/04/04(金) 14:09:44ID:???0700nobodyさん
2008/04/04(金) 14:25:36ID:???その間レスできなかった。やめた方がいい?まだ、気になるレスがあるんだが・・・
0701nobodyさん
2008/04/04(金) 14:27:06ID:???本人は見てるか分からんが、参考になる人はいるだろうし
0703nobodyさん
2008/04/04(金) 14:34:51ID:???こんなPHP探してるんですが何処で配布されてますか?
0704nobodyさん
2008/04/04(金) 14:52:44ID:???文字化けしてしまいます。
エンコードが違うならわかりますがなんででしょうか?
0705nobodyさん
2008/04/04(金) 14:53:14ID:???0706539
2008/04/04(金) 14:56:39ID:???0707nobodyさん
2008/04/04(金) 14:58:19ID:???スクリプトの内部エンコードが違う。
残念だけど、PHP を Shift-JIS で書くのはおススメしない。UTF8 か EUC-JP を使うべし。
http://manual.xwd.jp/ref.mbstring.html
0709nobodyさん
2008/04/04(金) 15:10:15ID:mEsRuTBT必要としているPEARのパッケージのリストとか
0710nobodyさん
2008/04/04(金) 15:59:03ID:???0711nobodyさん
2008/04/04(金) 18:21:35ID:???どうもありがとうございました
0712nobodyさん
2008/04/04(金) 18:38:04ID:???0713nobodyさん
2008/04/04(金) 19:42:09ID:???0714nobodyさん
2008/04/04(金) 19:44:20ID:YqX/EKLMそれが一発でわかる関数などあるでしょうか?
理想としては、以下の処理が出来るようにしたいです。
1)1回目の削除実行→3行削除されたとわかる(「3件削除しました」とメッセージ)
2)2回目の削除実行→すでに削除済みなので0(行)が返ってくる
3)「(0だから)対応するデータはありません」などとアラート表示
よろしくお願いします
0715nobodyさん
2008/04/04(金) 20:12:09ID:???http://jp2.php.net/manual/ja/function.mysql-affected-rows.php でどう?
あと、delete で where条件を指定しない(全削除)の場合は、1=1みたいなダミーの
条件文が必要だけど、PDOを使うと自動的に付けてくれるとか、聞いたことがある。
0717nobodyさん
2008/04/04(金) 20:56:03ID:???それは毎回文字が消えて次の文字が表示されなきゃだめなわけ?
ただ順番に文字を表示するだけなら
ob_flush();
flush();
使えばいくない?
0718nobodyさん
2008/04/04(金) 21:49:14ID:???0721nobodyさん
2008/04/04(金) 23:10:34ID:???0724nobodyさん
2008/04/05(土) 00:28:40ID:???最後のsはソースの意味
詳しくはググれ
0725nobodyさん
2008/04/05(土) 00:29:25ID:???0727nobodyさん
2008/04/05(土) 00:48:09ID:???0728nobodyさん
2008/04/05(土) 02:10:23ID:2dn41xYV出力するデータが配列中にあるのは確認してあります、何故でしょうか?
function returnData(){
return $pInfoAry;
}
$aaa = returnData();
echo $aaa[0]['gakki1'];
ちなみに、以下もダメでした
function returnData(){
return var_dump($pInfoAry);
}
$aaa = returnData();
echo $aaa;
以下は大丈夫だったんですが、、
function returnData(){return "さんま";}
$aaa = returnData();
echo $aaa;
0729nobodyさん
2008/04/05(土) 02:17:36ID:???0730nobodyさん
2008/04/05(土) 02:24:44ID:???return $pInfoAry; ←この段階で$pInfoAryの中身はnull
}
0731nobodyさん
2008/04/05(土) 02:28:31ID:???OOPのgetterでもないのになんでそんな書き方するの?
普通に$pIngoAry[0]['gakki1'];でいいじゃない。
0732nobodyさん
2008/04/05(土) 02:39:32ID:???スコープの範囲を勉強をしたほうがいい
globalを定義するか引数で値を渡すか
そもそもそんな無意味そうな関数作っても・・・
0733728
2008/04/05(土) 05:55:14ID:2dn41xYVありがとうございます そうでした、スコープすっかり忘れてました
恥ずかしい… ていうかヤバイなぁ、どんどん忘れてく
ちょっと試したいことがあるので、無意味な関数かどうかは今のところ
わからないんですが、、
また何かあったら質問します すみませんがよろしくお願いします
0734nobodyさん
2008/04/05(土) 07:05:54ID:IhNkb+FDXamppで開発環境を整えて
ブラウザで見ようとしたのですが
Not Foundで
「The requested URL /xampp/index.php was not found on this server.」
というエラーが出てうまくいきません
どのような原因が考えられますか?
0735nobodyさん
2008/04/05(土) 07:18:40ID:???0736nobodyさん
2008/04/05(土) 07:21:47ID:IhNkb+FD今回見れなかったtest.phpと同じディレクトリに
index.htmlがあるんですがそれは見れるんです
サーバ上で見つからなかったというのは
どのような原因が考えられますか?
0737nobodyさん
2008/04/05(土) 07:48:45ID:???0738nobodyさん
2008/04/05(土) 08:01:35ID:IhNkb+FD[Sat Apr 05 06:44:59 2008] [notice] Child 4608: Released the start mutex
[Sat Apr 05 06:45:00 2008] [notice] Child 4608: Waiting for 250 worker threads to exit.
[Sat Apr 05 06:45:00 2008] [notice] Child 4608: All worker threads have exited.
[Sat Apr 05 06:45:00 2008] [notice] Child 4608: Child process is exiting
[Sat Apr 05 06:45:00 2008] [notice] Parent: Child process exited successfully.
エラーログはこんな感じです
アパッチは問題がないようです
■ このスレッドは過去ログ倉庫に格納されています