【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カテゴリ)の各スレで
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.
エラーログはこんな感じです
アパッチは問題がないようです
0739nobodyさん
2008/04/05(土) 11:59:09ID:???0741nobodyさん
2008/04/05(土) 12:21:33ID:L0wIdTdLphpをiframeで呼び出した時、コメントを書いてinput内でエンターを押しても何もおきません
$_POSTに中身はあるのにログの更新がされていません(ちゃんとsubmitを押すとok)
直接開いた場合と、iframeではどんな差異があるのでしょうか?
ちなみにiframeにしているのはニコ動のように独立させたいからです
0742nobodyさん
2008/04/05(土) 12:29:26ID:???0744nobodyさん
2008/04/05(土) 14:23:10ID:IhNkb+FD本来はわかりやすくて簡単なはずなんです
どうしても使いこなしたいのでもうちょっと粘っていきます
>>740
Xamppに関する質問ではありません
htmlファイルは問題なく表示できるのに
作成したPHPファイルをブラウザで見ると
サーバーにありませんと言われてエラーが生じているのが問題なんです
本当にくだらない質問ですが結構悩んだつもりなので
わかる人がいたらどうか教えてください
0745nobodyさん
2008/04/05(土) 14:30:58ID:???0746nobodyさん
2008/04/05(土) 14:34:57ID:???本当にサーバに無いんだろ
ファイル名とアドレスを見直せ
素の状態のXAMPPなら複雑な不具合なんて起きるわけ無い
この程度のことも解決できないようなヤツがややこしい状態を作れるとも思えないしな
0747nobodyさん
2008/04/05(土) 14:38:24ID:???俺は
> 今回見れなかったtest.php
> /xampp/index.php was not found
変わったリライト仕込んでるなと思った。
0748nobodyさん
2008/04/05(土) 15:10:11ID:IhNkb+FDすみませんエラー表示をコピペしたのは
test.phpのほうではなくindex.phpのほうです
ファイルの種類はPHP Scriptなのでテキストではないようです
0749nobodyさん
2008/04/05(土) 15:30:05ID:???ファイルが見つからないといわれてる以上、本当にそのファイルがないとしか考えられない。
xamppがC直下にインストールされていると仮定した場合、
C:\xampp\htdocsがデフォルトのドキュメントルートだが、
http://localhost/を開いた場合、C:\xampp\htdocs\xampp直下が表示されるように設定されている。
C:\xampp\htdocs以下にindex.phpをおいて、http://localhost/index.phpにアクセスした場合でも、
C:\xampp\htdocs\xampp\index.phpにアクセスされる。
C:\xampp\htdocs以下に、phpというフォルダをつくり、そこにindex.phpをいれ、
http://localhost/php/でアクセスしてみ。
0750nobodyさん
2008/04/05(土) 15:32:32ID:???0751nobodyさん
2008/04/05(土) 15:37:52ID:???もっと素の設定でインストールしたほうが初心者は迷わないだろうね
0752749
2008/04/05(土) 15:42:03ID:???http://localhost/を開いた場合、/xamppにリダイレクトされるのは、
http://localhost/index.phpのヘッダでそうかいてたからのようだ。
Apacheの設定ではなかった。すまぬ。
このindex.phpを上書きすれば、普通にhttp://localhost/でも見れるはず。
0753nobodyさん
2008/04/05(土) 16:06:28ID:IhNkb+FD試してみましたがそれでもうまくいきませんでした
ですが再インストールするとなぜかうまくいくようになりました
原因は不明ですが結果オーライなのでもうこれでいいです
つまらない質問に真剣に対応していただきありがとうございます
0754nobodyさん
2008/04/05(土) 16:48:23ID:???\(.\ ノ
0755nobodyさん
2008/04/05(土) 16:49:39ID:gVFutqXhどうすればできるでしょうか?
0756nobodyさん
2008/04/05(土) 16:54:58ID:???コンピュータにとっての03時でいいのなら >>2 の 6. 参照。
「夜更かししたときの27時と、早起きしたときの03時は別」という判定まではできない。
0757nobodyさん
2008/04/05(土) 17:22:38ID:???use LWP::Simple;
print get("http://www.google.co.jp/");
こんなのを書いてみました
PC上でactiveperlで動かすと思った通りの動作をしますが、
cgiとして実行させると500エラーになります
もっと簡単にテキストを表示させるだけのcgiはちゃんと動くので、
パスやパーミッションその他の理由ではないと思われます
perlのバージョンは5.005だそうです
よそを読みにいくことに制限があったり、LWP::Simple;が使えなかったり
することはありますか
その場合の代替案はありますか
0758nobodyさん
2008/04/05(土) 17:25:17ID:???墨括弧の中は無視して読む癖があった
0759nobodyさん
2008/04/05(土) 17:54:20ID:???勉強にはなるぞ
0761nobodyさん
2008/04/05(土) 20:55:12ID:???Apache2モジュールのPHPソースは改行コードがCRだけでも正常に動作するのに、
コマンドライン(CLI)だとPHPスクリプトの改行コードがCRだけだと異常を生じるのは仕様ですかね?
両方同じなら(正常でも異常でも)わかるんですが、別なのでちょっと気になりました。
PHPソースの文字コードはUTF-8です。
0762nobodyさん
2008/04/05(土) 21:10:45ID:???0763nobodyさん
2008/04/05(土) 22:09:17ID:???適当ですか?
0764nobodyさん
2008/04/05(土) 22:16:30ID:???まぁ適当なんだが
0765nobodyさん
2008/04/05(土) 22:18:57ID:???0766nobodyさん
2008/04/06(日) 00:56:17ID:axME/ew+会員は全員携帯を利用で携帯のアドレスに対して送信することになるのですが
携帯からメールを送るときのように、一度に5件までしかccに入れられない
といったようなことはないでしょうか?
あと、softbankは1分以上の時間を空けて送信しないとエラーになるという話を
聞いたことがあるのですが本当でしょうか?
0767nobodyさん
2008/04/06(日) 01:28:14ID:???0768nobodyさん
2008/04/06(日) 01:46:47ID:???どうもありがとうございました
0769nobodyさん
2008/04/06(日) 03:01:47ID:MAjG8Csa$args = func_get_args();
echo huga($args);
echo piyo($args);
}
function huga($a) { return $a; }
function piyo($a,$b) { return $b; }
hoge(1,2,3); //=> 12
こんな感じの事がやりたいのですが、func_get_args()だと配列を渡すだけになってしまうので、
全然出来ないです。どうにかして巧くやる方法はありますでしょうか?
ちなみにhoge()から呼ばれるのは動的に決定するので、foo()やbar()が呼ばれるかもしれません。
JSを知っている人なら、argumentsの受け渡しと同様の事がしたいと言えばお分かりになると思います。
良い方法をご存知の方がいらしたらご教示ください。よろしく御願いします。
0770nobodyさん
2008/04/06(日) 03:17:28ID:???引数の数と内容が分かっているんだからどうとでも出来るんじゃないの?
どんな値を入れたら、どう処理して、どんな値が欲しいのか説明してくれないと意味が分からない。
0771nobodyさん
2008/04/06(日) 03:20:44ID:???何を持ってして異常なのか説明をしない限り
エスパー回答者がお前を混乱させるだけ。
>>769
JavaScript の
function hoge() {
fuga.apply(this, arguments);
piyo.apply(this, arguments);
}
を PHP でやるならこうだな。
function hoge() {
$args = func_get_args();
call_user_func_array('fuga', $args);
call_user_func_array('piyo', $args);
}
0772nobodyさん
2008/04/06(日) 03:25:35ID:???0773769
2008/04/06(日) 03:33:00ID:???自分でもわかりにくかったと思います。すいません。
うまく説明できなさそうだったので、スレ違いで怒られるの覚悟でJSでの等価機能を出しました。
>>771
まさにそれです!
助かりました。ありがとうございます。
>>772
まだ call_user_func_arrayがどういう動きをしてくれるやつか見ていないのでわからないですが、
取り急ぎありがとうございます!
0775nobodyさん
2008/04/06(日) 08:43:39ID:???あいうえお<br>
かきくけこ
[aa.php]
<?php
print '<table border=0 Align="center"><tr><td>';
$file = fopen( "aa.txt", "r" );
fpassthru( $file );
print '</tr></td></table>';
?>
今はこうして読み込んでいるのですが、txtファイルに<br>を書き込むことなく改行を反映させることはできないのでしょうか?
もしできるのならばサンプルを頂けるとありがたいです。よろしくお願いします。
0776nobodyさん
2008/04/06(日) 08:45:47ID:???http://jp.php.net/nl2br
0777nobodyさん
2008/04/06(日) 09:45:17ID:???俺ならこうする
$file = file("aa.txt");
foreach ($file as $value) {
$value = rtrim(htmlspecialchars($value)) . "<br>";
echo $value;
}
0778nobodyさん
2008/04/06(日) 10:04:49ID:???ファイルポインタの関係でうまくいきませんでした…。便利そうなのですが
>>777
別の変数を使って変換するんですね!参考にさせていただきます。
0779nobodyさん
2008/04/06(日) 10:06:04ID:???if($aaa){
処理
}
はわかるのですがこの逆のはどう書くのでしょうか?
つまり$aaaがなければ、というときです。
0780nobodyさん
2008/04/06(日) 10:08:28ID:???if(!$aaa){
処理
}
0781nobodyさん
2008/04/06(日) 11:45:52ID:???for ( $no = 1; $no <= 3; $no++){
print '<img src="img/abc[$no].JPG">';
}
としましたが、ソースを開くと<img src="img/abc[$no].JPG">が3つ書かれているだけでした。
0782nobodyさん
2008/04/06(日) 12:09:54ID:???慣例的には$i、ネストしてるときは中のは$jなどと表記する
で、配列は0から始まるのでたぶん開始は0だろ
for ($i = 0; $i < 3; $i++) {
"<img src=\"img/{$abc[$i]}.JPG\">";
}
といった具合に>>2の5番のように書くか、
シングルクオテーションで書きたいなら、一度抜けて変数をくっつける
'<img src="img/' . $abc[$i] . '.JPG>';
""のエスケープが面倒なのはわかるが
シングルクオテーションは返って使いにくい場合もある
0783782
2008/04/06(日) 12:16:09ID:???ダブルクオテーション中になら普通に$noとかけるぞ
でも{}で囲むの推奨
シングルで書きたいなら>>782の通り
■ このスレッドは過去ログ倉庫に格納されています