【PHP】下らねぇ質問はここに書き込みやがれ 46
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2007/05/12(土) 16:43:57ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1177635762/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0477nobodyさん
2007/05/18(金) 21:43:20ID:???0478nobodyさん
2007/05/18(金) 21:49:30ID:???0479nobodyさん
2007/05/18(金) 22:28:18ID:ySJdsQiL間違ってることはわかる
でもどう間違ってるか具体的に説明できん俺・・・・・
0480nobodyさん
2007/05/18(金) 22:49:32ID:???メンバー変数に、定数以外のもので初期化代入できるかどうかが
マニュアル的に、はっきりしない。
ttp://www.php.net/manual/ja/language.oop.php
この説明(class Cart)を見ると
<?php
class Cart{
var $name = $firstname;
}
?>
なんていうのは、あたかもphp5なら動きそうなのに、実はphp4と同様動かない。
0482nobodyさん
2007/05/18(金) 22:55:47ID:???確かにそのページの「PHP4では動作しない」っていう
書き方だけを見ると誤解しそうな書き方ではあるが、
PHP5の説明のページにも明示的にプロパティの初期化には
定数しか扱えないと書いてある
http://jp.php.net/manual/ja/language.oop5.basic.php
0483nobodyさん
2007/05/18(金) 22:55:48ID:???staticか非staticかに関わらず、メンバの初期値は定数のみ。
他の言語でも大体同じ。
PHPでデフォルト値を共通化したいなら、オブジェクト定数とか使う。
じゃだめなのか?
0484nobodyさん
2007/05/18(金) 22:55:58ID:???0485480
2007/05/18(金) 22:57:55ID:???なるほど。これか。
>デフォルト値は定数でなければなりません。(たとえば) 変数、クラスのメンバあるいは関数コールなどは使用できません。
勉強になった。さんきゅ。
0486nobodyさん
2007/05/18(金) 22:58:22ID:???そんなのはっきりムリって書いてあんだろ。
もっと論理的な根拠を求めてんのかと思った。
0487nobodyさん
2007/05/18(金) 23:05:19ID:???0488475
2007/05/18(金) 23:18:31ID:???�dクス
0489nobodyさん
2007/05/19(土) 00:32:14ID:/rdI7UAAなぜ定数しか使えないかというと
メモリに確保されるタイミングによるんだよ。
メモリにない物は参照できないので代入できない・・・・
後は任せた>>490
0491nobodyさん
2007/05/19(土) 01:09:35ID:???0493nobodyさん
2007/05/19(土) 02:21:28ID:5dZMG2UG0495nobodyさん
2007/05/19(土) 02:43:17ID:???0496nobodyさん
2007/05/19(土) 03:30:54ID:???0497nobodyさん
2007/05/19(土) 06:29:26ID:MWMv22M6当方、夢もなにもない25歳です。
こんな私ですがいままで徹夜してマニュアル読んでコード書いてPHPを学習してました。
PHPは夢を作る道具になれますか?
0498nobodyさん
2007/05/19(土) 07:29:44ID:???精進してください。
0499nobodyさん
2007/05/19(土) 07:35:15ID:MWMv22M6ありがとうございます。
0500nobodyさん
2007/05/19(土) 07:48:29ID:zLRg1KJ9正規表現でWHEREを目印にして抜き出すとすると、
その前にSET HOGE='WHERE POGA'
等があった時にもヒットしてしまいます。
いわば「地の文」のWHEREだけがヒットするようにしたいのですが
いい方法があれば教えてください
0501nobodyさん
2007/05/19(土) 07:52:44ID:???0502nobodyさん
2007/05/19(土) 08:02:51ID:G8ONhPg2と言うのを作っています。ソースは以下の通りです。
$array=array();
for($i=0;$i<5;$i++){
$number = rand(1,18);
if(array_search("$number",$array)){
}else{
$array[] = $number;
echo $number."<br />";
}
}
一度表示した数字を配列に入れて同じ数字が出たら出力しない
と言ったイメージなのですが、どうも上手く行きません。
ソースの指摘・アドバイスをしていただけないでしょうか?
0504nobodyさん
2007/05/19(土) 08:19:33ID:???for ($i=0; $i<5; $i++) {
$rand[] = rand(1, 3)
;
}
//出力
$ary = array();
foreach($rand as $v) {
if (!in_array($v, $ary)) {
echo "<p>$v</p>";
} else {
echo "重複<br />";
}
$ary[] = $v;
}
あとはじぶんで改造しろ
0505502
2007/05/19(土) 08:23:24ID:???ありがとうございます。つまり、乱数生成と出力を分けた方が良いって
事ですね。
ちょっとやってみます。ありがとうございました。
0506nobodyさん
2007/05/19(土) 08:25:00ID:???まあ書き方はいくらでもある。
ちなみにarray_searchを使うのはまちがえ
(PHP 4 >= 4.0.5, PHP 5)
array_search -- 指定した値を配列で検索し、見つかった場合に対応するキーを返す
0507nobodyさん
2007/05/19(土) 10:04:49ID:vtcxjqU80509nobodyさん
2007/05/19(土) 10:47:01ID:???でも引用符とコメントだけ排除すればいいだけなら、ちょっとした字句解析でできそうではある。
whereの場所が特定できたら、構文は無視してorder byみたいな別のキーワードのとこまでを抜き出しちゃえばいいのかな。
これくらいの処理なら、PHPで書いてもそんなに重くはならないはず。
0511nobodyさん
2007/05/19(土) 11:52:10ID:???0512nobodyさん
2007/05/19(土) 11:52:54ID:???0514nobodyさん
2007/05/19(土) 12:05:46ID:???0515nobodyさん
2007/05/19(土) 12:18:26ID:???扱いやすい手法に見えるけど。
0516nobodyさん
2007/05/19(土) 12:27:12ID:???0517nobodyさん
2007/05/19(土) 12:32:02ID:???0518nobodyさん
2007/05/19(土) 12:39:03ID:???0519nobodyさん
2007/05/19(土) 12:45:45ID:???俺の環境だと
Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 16 bytes) in C:\home\php\test.php on line 2
メモリリミットあげれば大丈夫なのかな
0520nobodyさん
2007/05/19(土) 12:47:12ID:???↑これは一応隠すべきだったね すでにダミーのにしてあったらスマソ
0521nobodyさん
2007/05/19(土) 12:50:53ID:a8u10R/40523nobodyさん
2007/05/19(土) 13:36:37ID:???0524nobodyさん
2007/05/19(土) 13:37:13ID:???0526nobodyさん
2007/05/19(土) 14:00:49ID:???0527nobodyさん
2007/05/19(土) 14:00:57ID:???0528nobodyさん
2007/05/19(土) 14:11:11ID:???パスを含むエラーを表示させるのが問題だと考える人の2パターンだと思うけど
ここは前者だな
0529nobodyさん
2007/05/19(土) 14:15:29ID:???0530nobodyさん
2007/05/19(土) 14:22:36ID:???$hoge[8] = 10;
$hoge[10] = 50
という配列($hoge[0]などはnull)を
$hoge[0] = 100;
$hoge[1] = 10;
$hoge[2] = 50
に変える方法きぼんう
0532nobodyさん
2007/05/19(土) 14:34:35ID:???0533nobodyさん
2007/05/19(土) 14:38:30ID:???0534nobodyさん
2007/05/19(土) 14:44:03ID:???0535nobodyさん
2007/05/19(土) 15:08:31ID:???0536nobodyさん
2007/05/19(土) 15:18:24ID:???このスレもりあげてください
http://pc11.2ch.net/test/read.cgi/php/1162858489/
0537nobodyさん
2007/05/19(土) 15:48:47ID:???0538nobodyさん
2007/05/19(土) 16:29:31ID:???このスレで質問に答えてる人たちはどんな仕事してるんですか?
0539nobodyさん
2007/05/19(土) 16:32:48ID:???0540nobodyさん
2007/05/19(土) 16:49:32ID:???簡単に書けますか? グラフのライブラリって使い易い物ありますか?
0541nobodyさん
2007/05/19(土) 17:04:25ID:???誰かが変な回答してるとついつい訂正したくなるでしょ。
0542nobodyさん
2007/05/19(土) 17:05:13ID:MWMv22M6以下のコードの前に事前に最新9行分のデータを変数に格納して、それに最新の1行を連結するのが妥当でしょうか?
$string = "テスト\n";
$fopen = fopen("tyatto.log","a");
fwrite($fopen, $string);
fclose($fopen);
0543nobodyさん
2007/05/19(土) 17:05:25ID:???ちゃんとID出してね。
いろいろ方法はあるし、何を使うかによって難易度も
様々。
ライブラリは検索すればスグに分かるはずだよ。
ID出してないからヒントまで。
>>538
元プログラマだぜ
言語だけで言えばメジャーなものは一通りやったよ。
最近は外部の会社に常駐して基盤系(DBのバックアップ設計とか)
やってるよ
今C#とIronPhthonが気になる
0546nobodyさん
2007/05/19(土) 17:11:30ID:MWMv22M6>>545
最新のログさえ残れば順番はどちらでも気にしません。
>>544
>>542で書いたことをやってみたのですがなんか二回ファイルを開くのが無駄な気がしてコード省きました。すいません。
0547540
2007/05/19(土) 17:17:34ID:A36xsHpo>>543
検索するとWindows上で動かす人向けのサイトばっかりでイヤになり質問しました
もしよければもう少しヒントいただけると助かります レン鯖で、Flashじゃないものが良いです
0549nobodyさん
2007/05/19(土) 17:21:32ID:???[0]=>"バナナ" [1]=>"みかん" [2]=>"りんご"
と言うように"が入っている場合、削除する方法はないでしょうか?
出来れば一番簡単(関数処理など)であればと思います。
0551nobodyさん
2007/05/19(土) 17:26:55ID:???$file = file($filename);
$cnt = count($file);
if ($cnt > $maxlog) {
$n = $cnt - $maxlog -1;
}
for ($i=$n; $i<$cnt; $i++) {
$string .= $file[$i];
}
$string .= $_POST['input']. "\n";
//この下は>>542のコードです
$string = "テスト\n";
$fopen = fopen("tyatto.log","a");
fwrite($fopen, $string);
fclose($fopen);
0552nobodyさん
2007/05/19(土) 17:27:42ID:A36xsHpowamppがあるのに、つくれない人なんていないと思うんですけど・・・・
0553551
2007/05/19(土) 17:28:39ID:MWMv22M6どんなささいなことでもかまいませんので修正箇所・ご指摘などご教授お願いいたします。
0554552
2007/05/19(土) 17:30:01ID:A36xsHpo○ xampp
0555nobodyさん
2007/05/19(土) 17:33:37ID:???http://jp.php.net/manual/ja/ref.filesystem.php
後、XSSでググる
0556555
2007/05/19(土) 17:36:23ID:???二行目は見なかった事にしてくれ
0558nobodyさん
2007/05/19(土) 17:47:40ID:???最後の $string = "テスト\n"; はまあ消し忘れだと思うが、
大筋そんな感じでいいんじゃないかね
0559nobodyさん
2007/05/19(土) 18:08:32ID:MWMv22M6XSSについて>>556さんのご指摘のとおり、以後セキュリティに配慮したコードの書き方に気をつけます。
>>551のコード中に不適切な行がございました。>>558さんに指摘していただくまで
気づきませんでした。大変失礼いたしました。
チャットを公で使う場合、犯罪予告なんか打たれたら証拠のログがなくなってしまうので
ログは貯めておいたよいのでしょうか。
みなさまアドバイス・ご教授ありがとうございます。
0561nobodyさん
2007/05/19(土) 19:20:28ID:???> 気づきませんでした。大変失礼いたしました。
釣りか真性だな
0562nobodyさん
2007/05/19(土) 19:58:14ID:???0563nobodyさん
2007/05/19(土) 21:28:59ID:ZssAVHkG--
Fatal error: Call to undefined function sqlite_open()
--
となってしまいます。
phpinfo() にて「without-sqlite」となっていて、どうも動きません。
ターミナルソフトでは、sqlite3 test.db などと打つと、ちゃんとデータが作成できるのですが。
どうしたものでしょう。
0565nobodyさん
2007/05/19(土) 21:57:50ID:???exit(変数);
するのって効率悪いの?
0566nobodyさん
2007/05/19(土) 22:02:18ID:???exitのそんな使い方始めてみた
システム出力系はベンチしにくいけどベンチしてみれ
0567nobodyさん
2007/05/19(土) 22:14:57ID:???0568nobodyさん
2007/05/19(土) 22:59:10ID:???0569nobodyさん
2007/05/19(土) 23:14:38ID:ZssAVHkGありがとう
yumのあと、php.iniに設定は必要ですか?
いろいろ参考にしながら、
extension=pdo.so
extension=pdo_sqlite.so
を追記したけど、phpinfoに変化はありません。
0570nobodyさん
2007/05/19(土) 23:38:05ID:???ほげほげ(300KBぐらい)
DOC_END;
exit($str);
278ms
$str = <<< DOC_END
ほげほげ(300KBぐらい)
DOC_END;
echo $str;
exit;
266ms
echo <<< DOC_END
ほげほげ(300KBぐらい)
DOC_END;
exit;
250ms
exit("エラーメッセージ");
てのよく見るから
正常の時もexitでいいのかなあと思ったのよ
そうは使わないのね サンクス 一番下にしとく
0571nobodyさん
2007/05/19(土) 23:41:21ID:jN6au0ieいっぱい種類あって何が何かわかんね・・・
どれも一緒と見ておk?
0572nobodyさん
2007/05/19(土) 23:44:14ID:???0575nobodyさん
2007/05/20(日) 00:26:43ID:s5N306jrサンクス
変数みたいに任意につけられる名前なんですね
0576nobodyさん
2007/05/20(日) 00:41:14ID:???違和感ありますよね。
0577nobodyさん
2007/05/20(日) 00:49:14ID:???■ このスレッドは過去ログ倉庫に格納されています