1 名前:nobodyさん mailto:sage [2012/01/20(金) 05:43:23.62 ID:???] 質問者はまず>>1 を良く読むこと(必須!) 過去スレ、関連スレ、FAQなどは>>2-10 辺り 次スレは>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。 ◆前スレ 【PHP】下らねぇ質問はID出して書き込みやがれ 114 kohada.2ch.net/test/read.cgi/php/1325437405/ ◆質問用テンプレ 【OS名】CentOS 【PHPのバージョン】5.3 【連携ソフトウェア】MySQL ImageMagick 【質問内容】 ◆質問する時の注意 ・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す) ・ 己の行った操作、変更などを詳しく明記すること。 ・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。 ・ 質問者として、態度をわきまえること。 ・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。 (PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。) ◆質問後の注意 ・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。 ・解決しなくても回答をもらった場合はお礼を言うこと。 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。) ◆回答者への注意 ・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。 【その他諸注意】 ・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
566 名前:nobodyさん mailto:sage [2012/02/14(火) 13:09:24.88 ID:???] SQLとごっちゃになったのかな。
567 名前:nobodyさん mailto:sage [2012/02/14(火) 13:10:25.69 ID:???] >>565 それだと変数が展開されないって嘆くことになる
568 名前:nobodyさん [2012/02/14(火) 14:54:11.43 ID:Tk30SVBq] phpを実行するとphpソースが表示されます phpjavascriptroom.com/?t=php&p=apachephpwindows7 のインストール部分をC直下ではなくD直下に変えて他はそのままにして下記のプログラムを実行しました <?php phpinfo(); ?> 何故でしょうか
569 名前:nobodyさん mailto:sage [2012/02/14(火) 15:05:52.59 ID:???] >>568 ずっと下の方の LoadModule php5_module "C:\PHP\php5apache2_2.dll" AddType application/x-httpd-php .php この2つがあればそんな風にはならん。 Apache再起動したか?
570 名前:nobodyさん [2012/02/14(火) 15:13:14.59 ID:Tk30SVBq] >>569 はい、再起動しました
571 名前:nobodyさん mailto:sage [2012/02/14(火) 15:17:14.51 ID:???] errorlogにphpのバージョン表示出てる?
572 名前:nobodyさん [2012/02/14(火) 15:28:56.61 ID:Tk30SVBq] すみません 解決しました Control Apache Server→Restart/start/stop のRestart/Stopが正常に動作していなかったようです 1回Windowsごと再起動してからもう1度起動するとできました お騒がせしました
573 名前:nobodyさん [2012/02/14(火) 18:54:42.00 ID:VUGkLJ/d] >>567 ''→'. ''→.' こうか
574 名前:nobodyさん mailto:sage [2012/02/14(火) 18:58:30.06 ID:???] \''.$〜.'\'
575 名前:553 mailto:sage [2012/02/14(火) 20:00:27.18 ID:???] >>555 「結果」は理由じゃないんだよ。 $iが定義されてないから と $iが定義されてないからNULLの値を見せる は別なの
576 名前:nobodyさん mailto:sage [2012/02/14(火) 20:43:51.83 ID:???] >>575 それ原因同じじゃん
577 名前:553 mailto:sage [2012/02/14(火) 21:01:40.14 ID:???] $iが定義されていて、かつNULLってのは考えない訳か
578 名前:nobodyさん mailto:sage [2012/02/14(火) 21:09:05.47 ID:???] へ?575で両方とも定義されていない場合って書いてるじゃん
579 名前:nobodyさん mailto:sage [2012/02/14(火) 21:39:24.82 ID:???] >>575 そもそも、$iが定義されてるかどうかが問題ではなかったんだけれど、その辺はどう
580 名前:553 mailto:sage [2012/02/14(火) 22:40:54.39 ID:???] >>579 そういう風に詰めていくならもともとの質問は「エラーが出る」しか言ってないんだから、 NULLだという指摘は、<結果的にそれが原因>という可能性の一つになるだけ。 $iが(引用行外で)定義済みなら、NULLが入っているか、型が違ってるか、$iがarrayならそれがNULLではなくて 空か、ということが考えられる。他方$iがどこでも定義されてないなら定義してないからだ(NULLは単なる結果)、 という風になる。 なお578は論外の売り言葉買い言葉にすぎない。
581 名前:nobodyさん mailto:sage [2012/02/14(火) 22:43:48.45 ID:???] >なお578は論外の売り言葉買い言葉にすぎない。 何言ってんだwごまかしてるだけだろwワロタw
582 名前:nobodyさん mailto:sage [2012/02/14(火) 22:46:29.54 ID:???] >>580 jp2.php.net/manual/ja/language.types.null.php NULL 特別な NULL 値は、ある変数が値を持たないことを表します。NULL は、NULL 型の唯一の値です。 変数は、以下の場合に NULL とみなされます。 ■定数 NULL が代入されている場合。 ■まだ値が何も代入されていない場合。 ■unset() されている場合。 はい残念
583 名前:nobodyさん mailto:sage [2012/02/15(水) 00:09:17.17 ID:???] <?php echo '<script type="text/javascript">'; echo 'alert("hello world 2012")'; echo "<\/script>"; ?> エラーになるますどうしたらいいですか?
584 名前:nobodyさん mailto:sage [2012/02/15(水) 00:16:41.08 ID:???] >>1 あと昨日のお礼がまだですよ
585 名前:nobodyさん mailto:sage [2012/02/15(水) 00:19:05.18 ID:???] >>583 \
586 名前:nobodyさん mailto:sage [2012/02/15(水) 02:50:37.77 ID:???] >>580 もうね、俺は本当にどうだっていいんだけど、これをみて$iにもっていく勇気が俺にはないだけなんよ。 > echo $date_after[$t].'<br>';//エラーが出る
587 名前:nobodyさん [2012/02/15(水) 05:27:01.38 ID:x/xi+W4J] <?php //ファイルの取り出し $file_name=$_FILES['filename']['name']; //一時ファイル名の取り出し $temp_name=$_FILES['filename']['tmp_name']; // 保存先のディレクトリ $dir = 'uploads/'; // 保存先のファイル名 $upload_name = $dir.$file_name; // JPEG形式、GIF形式のファイルをアップロードする // アップロード(移動) $result = move_uploaded_file($temp_name, $upload_name);//これがないと失敗 echo ($result)?'アップロード成功':'アップロード失敗'; ?> <img src="<?php echo $upload_name; ?>"> において、全く同じ時間に画像アップロードした場合は どうなるのでしょうか? また、画像のファイル名をdate関数で作成したときなどは どうなるのでしょうか?
588 名前:nobodyさん mailto:sage [2012/02/15(水) 05:29:24.65 ID:???] ファイル名を作成するロジックなんて見当たらないわけだが ファイル名がかぶる可能性があるなら 連番で振るとか すでに存在していたら画像の後ろに数字をつけるとか いろいろ方法はあるでしょう
589 名前:nobodyさん [2012/02/15(水) 05:55:11.81 ID:x/xi+W4J] >>588 わかりました。 今、画像アップローダー作ってるのですが(6割ほど完成) jpg、pjpeg、gif、png、bmpだけに対応でいいですかね?
590 名前:nobodyさん mailto:sage [2012/02/15(水) 06:01:50.75 ID:???] 仕様なんて好きにすればええ
591 名前:nobodyさん [2012/02/15(水) 09:55:27.24 ID:GiPiqyn4] NULLについて質問させて下さい。 定義しない限りNULLは返らないと思っていたのですが 定義しなくてもNULLが返ってくるというのはどういう場合ですか?
592 名前:nobodyさん mailto:sage [2012/02/15(水) 10:17:02.48 ID:???] 明示的に値を返さない関数とか
593 名前:nobodyさん mailto:sage [2012/02/15(水) 21:37:22.21 ID:???] PHP学習中なのでレベルの低い質問ですいません。 ずっとutf-8を使っていたのですが、 GDでの画像描画がutf-8だとうまくいかなかったので (エラーも何も表示されない) はじめてutf-8nを使ってみました。 •一般的に、PHPは8nで書いたほうが良いのでしょうか? •逆に、8nを使うことで発生するトラブルはあるのでしょうか?
594 名前:nobodyさん mailto:sage [2012/02/15(水) 21:40:04.41 ID:???] >>593 質問の回答になってないけど、UTF-8でGD2使えたよ。
595 名前:nobodyさん mailto:sage [2012/02/15(水) 21:51:47.31 ID:???] >>593 質問の回答になってないけど、質問する時はスレのルールを守ったほうがいいと思うよ
596 名前:593 [2012/02/15(水) 21:55:40.37 ID:5iudVdKB] sageてた。すいません。 >>594 まじすか。 なんでだろう… PHP5.3.8でGD2.0.34。 以下のコードをTeraPadのUTF-8で保存するとページ真っ白 UTF-8Nで保存すると意図通りの四角が出ます。 <?php Header ("Content-type: image/png"); $image = imagecreate(50, 50); $shikaku = imagecolorallocate($image, 0, 0, 0); imagepng($image); imagedestroy($image); ?>
597 名前:nobodyさん mailto:sage [2012/02/15(水) 21:56:54.78 ID:???] >>596 BOMが付いてるからじゃない?
598 名前:593 mailto:sage [2012/02/15(水) 22:19:48.19 ID:???] >>593 • >>596 です。 >>597 レスありがとう。 最初にsage忘れたせいでややこしくて申し訳ないんだけど、 BOMのせいでページが真っ白だった、というのは理解できています。 知りたいのは、 •もうPHP書くときはずっとutf-8n使った方が幸せになれるか •>>594 はどうしてutf-8で使えたのか です。
599 名前:nobodyさん mailto:sage [2012/02/15(水) 22:21:38.02 ID:???] >>598 質問の回答になってないけど、質問する時はスレのルールを守ったほうがいいと思うよ
600 名前:593 [2012/02/15(水) 22:24:04.09 ID:5iudVdKB] >>599 本 当 に 申し訳ありません… >>593 •>>596 です。 >>597 レスありがとう。 最初にsage忘れたせいでややこしくて申し訳ないんだけど、 BOMのせいでページが真っ白だった、というのは理解できています。 知りたいのは、 •もうPHP書くときはずっとutf-8n使った方が幸せになれるか •>>594 はどうしてutf-8で使えたのか です。
601 名前:nobodyさん mailto:sage [2012/02/15(水) 22:27:49.65 ID:???] UTF-8のBOMは非推奨だから、PHPだろうが何だろうが使わない方が良い
602 名前:nobodyさん mailto:sage [2012/02/15(水) 22:34:15.78 ID:???] >>600 質問の回答になっているけど、UTF-8Nという呼称自体が元々日本独自の呼称で 最近その日本でもほとんど使用されなくなってきていることから 一般的にUTF-8と言った場合はBOM無しを指すという業界の共通認識があるので >>594 はBOM無しのUTF-8を指していると思うよ。 あと1つ目の質問だけど今時はBOM有りに何らメリットはないのでBOM有りのことは忘れよう。
603 名前:593 [2012/02/15(水) 22:42:20.59 ID:5iudVdKB] >>593 • >>596 • >>600 です。 >>601 >>602 回答本当にありがとう! TeraPadのデフォ設定ばっちり変更しました。 さよならBOM。 無駄にレス消化しちゃってごめんね。 解決できて感謝してます。
604 名前:nobodyさん mailto:sage [2012/02/16(木) 02:36:52.86 ID:???] TeraPadのUTF-8対応ってたしかまだ不完全だろ
605 名前:nobodyさん mailto:sage [2012/02/16(木) 04:18:49.73 ID:???] UTF-8に完全に対応してるテキストエディタってあるん?
606 名前:nobodyさん mailto:sage [2012/02/16(木) 05:03:04.18 ID:???] スレチ
607 名前:nobodyさん mailto:sage [2012/02/16(木) 06:14:28.88 ID:???] 不完全ってどういうことなんだろ。よくわからんけどスレチだからいいか
608 名前:nobodyさん [2012/02/16(木) 07:48:03.60 ID:UroJIk1P] すいません、質問です。 最近PHPを勉強しはじめたばかりです。ある書籍を使って学んでいます。 ttp://pastebin.com/Y1mU93jq 上記サイトにソースをコピーしました。 DBから商品リストを取得する際に、5カラムごとに表示させるというものですが、 一応問題なく動きます。ですが、index.phpにそのまま入るとエラーで Notice: Undefined index: page in D:\xampp\htdocs\shop\index.php on line 3 と、出ます。原因は想像がつくのですが対処法がわかりません。書籍のサンプルを実行したところ 同様のエラーがでていまして。。。 お手数ですが、どうのようにすれば良いのでしょうか?
609 名前:nobodyさん mailto:sage [2012/02/16(木) 07:53:32.53 ID:???] 質問お願いします。 フォームから、0216 または 2/16 と入力されるデータを 02/16に統一したいんですが、どんな関数を使ったらいいんでしょうか? str_replace とか preg_match とか、いろいろありすぎてよくわかりません。 springf で %d を使ってみたのですが、スラッシュ以降が捨てられてしまいました。orz 一文字ずつ文字か数字か調べて、二文字目にスラッシュがでてきたら、最初にゼロを加えて・・・ みたいな処理を書いてもいいんですが、PHPなら一発でやってくれる関数がありそうですよね。 どなたかご存知でしたら教えてください。よろしくお願いします。
610 名前:nobodyさん mailto:sage [2012/02/16(木) 07:58:11.14 ID:???] >>608 $page = ''; if (isset($_REQUEST['page'])) { $page = $_REQUEST['page']; } もしくは $page = isset($_REQUEST['page']) ? $_REQUEST['page'] : '';
611 名前:nobodyさん mailto:sage [2012/02/16(木) 08:00:13.36 ID:???] >>609 >>599
612 名前:nobodyさん mailto:sage [2012/02/16(木) 08:00:28.97 ID:???] >>608 初心者はXAMPP使うな
613 名前:608 [2012/02/16(木) 08:10:51.64 ID:UroJIk1P] >>610 >>612 返信ありがとうございます。 なるほど・・・。if分と初期化までは浮かんだのですが、$pageじゃなくてpageだしなぁ・・・と考え込んでました。 さっそく試したらばっちりでした。ありがとうございました!。 xamppだめですか; 安全性とかからでしょうか?。。。
614 名前:nobodyさん mailto:sage [2012/02/16(木) 08:22:39.74 ID:???] xampp使うなって言いたいだけだから放置でおk Undefined index〜ってエラーは配列のキーの値が見つからなかった時によく見るエラーだから覚えとくといい Noticeだから人によっちゃエラーリポートをきって無視するって人もいるが >>610 のissetで最初にチェックする対処法が王道
615 名前:609 [2012/02/16(木) 08:25:27.77 ID:Dbcdet1T] あ、すみません、sageてましたね ageます
616 名前:nobodyさん mailto:sage [2012/02/16(木) 08:28:44.34 ID:???] xamppはセキュリティーの設定がデフォルトで緩いんで公開サーバーとして使ってはいけないってだけで ローカルでテストする分には問題ないよ
617 名前:nobodyさん mailto:sage [2012/02/16(木) 08:30:59.90 ID:???] >>615 /を除去してsprintf %04dして最後に真ん中に / 付ければいいんじゃない? もっと簡単な方法があるかは知らんけど
618 名前:nobodyさん [2012/02/16(木) 08:34:59.14 ID:+jbHYpFg] >>610 $page = isset($_REQUEST['page']) ? $_REQUEST['page'] : ''; この?と:ってどういう意味ですか?
619 名前:nobodyさん mailto:sage [2012/02/16(木) 08:35:48.18 ID:???] 614は素人だな
620 名前:608 [2012/02/16(木) 08:44:05.91 ID:UroJIk1P] おお、たくさんの返信ありがとうございます。 評価の高かった書籍だったので(ほかの書籍は実は途中で挫折)購入してやってみると phpっておもしろいなぁと初めて思えていますw 聞いて良かったです。書籍の答えもエラーなので放置してる人もいそうですが、気持ち悪かったもので; 本当にありがとう。 xamppはローカルのみなので大丈夫かな。ありがとうございました。
621 名前:nobodyさん mailto:sage [2012/02/16(木) 08:56:43.50 ID:???] >>618 if (A) { B } else { C } の略 $page = A ? B : C;
622 名前:608 [2012/02/16(木) 08:58:51.66 ID:UroJIk1P] あーもしかして、書籍はエラーリポートを切ってるから、何も触れてないのか・・・。 そういえばxampp設定時にiniを触りましたね。。。てことは、デフォルトでは切れてたのか・・・。 なるほど、すごく納得しました。 ありがとう、連投すいません。
623 名前:nobodyさん mailto:sage [2012/02/16(木) 09:08:57.78 ID:???] 昨夜の人と同じ人?
624 名前:608 [2012/02/16(木) 09:15:50.47 ID:UroJIk1P] >>623 私?別人です。
625 名前:nobodyさん [2012/02/16(木) 09:20:25.11 ID:Dbcdet1T] >>617 ありがとうございます。それでやってみます!
626 名前:625 [2012/02/16(木) 09:22:23.87 ID:Dbcdet1T] あ、だめだ・・・ 最初に スラッシュを取り除くと、 1/27 と 12/7 の区別がつかなくなってしまうんです。 入力する人たちに統一してもらえたらいいんですが・・・。
627 名前:nobodyさん mailto:sage [2012/02/16(木) 09:26:37.06 ID:???] 0127や0101はいるけど127とか11と入力する人はいないの?
628 名前:nobodyさん [2012/02/16(木) 09:30:16.32 ID:+jbHYpFg] >>621 へえ、そういう記法があったのですね。ありがとうございます。
629 名前:nobodyさん mailto:sage [2012/02/16(木) 09:35:11.87 ID:???] 三項演算子っていうんだがif文の代わりに使いまくるのはやめましょうね
630 名前:nobodyさん mailto:sage [2012/02/16(木) 09:39:59.90 ID:???] >>609 作れるなら素直につくってください
631 名前:nobodyさん mailto:sage [2012/02/16(木) 13:02:15.76 ID:???] >>626 スラッシュつきを先にやれば問題ないでしょ。 あと環境かいてないから提供されてる関数については教えられず。
632 名前:nobodyさん [2012/02/16(木) 13:33:51.23 ID:RNA+7C4L] csvの比較して抽出する物を作りたいのですが csvA hoge@hoge.com,田中太郎 hoge2@hoge2.com,山田花子 hoge3@hoge3.com,鈴木太郎 csvB hoge@hoge.com hoge3@hoge3.com と、2つのCSVがあるとして phpを実行すると csvC hoge@hoge.com,田中太郎 hoge3@hoge3.com,鈴木太郎 というようにcsvBに一致する行を抽出して別csvに保存出来る物を作りたいです どうすれば出来ますでしょうか? お願いします
633 名前:nobodyさん mailto:sage [2012/02/16(木) 13:43:19.73 ID:???] csvを配列A、Bにぶち込んで foreachで回して適合したヤツを別の配列Cにぶち込んで 配列Cをcsvで吐き出すかんじか DBつかったほうがサバに優しいと思う
634 名前:nobodyさん mailto:sage [2012/02/16(木) 13:58:17.91 ID:???] >>633 レスありがとうございます 一度試してみます! ローカル環境で使用するつもりなのでphpで行いたいと思います
635 名前:nobodyさん mailto:sage [2012/02/16(木) 14:11:37.35 ID:???] phpでDB使うのが一番。 すぐ慣れるしできることが広がる
636 名前:nobodyさん [2012/02/16(木) 14:14:14.01 ID:2CwemWqC] AをDBにいれてやったほうが確実によろしい
637 名前:nobodyさん [2012/02/16(木) 14:23:58.88 ID:RNA+7C4L] >>635 >>636 レス有難うございます 当方php初心者な者で・・・ mysql+phpでinsertくらいは出来るのですが イマイチ今やりたい事がどうやれば出来るのかがわからないです;
638 名前:nobodyさん mailto:sage [2012/02/16(木) 14:31:36.91 ID:???] DBならtableA、Bをつくって いい感じに結合する 論よりrunっていうじゃん とりあえずコード書いてみて動かなければスレ住人がアドバイスくれると思う 丸投げなら5000円でやってあげなくもない
639 名前:nobodyさん [2012/02/16(木) 15:07:23.79 ID:kcwNwXq8] >>631 なるほど。strposでスラッシュを探して、ありやなしやで処理を変えて strtotimeとdateあたりで、できそうですね。ありがとうございました。
640 名前:nobodyさん [2012/02/16(木) 15:08:59.12 ID:kcwNwXq8] ID変わってました、>>639 = 625です、ありがとうございました。
641 名前:nobodyさん mailto:sage [2012/02/16(木) 15:09:33.74 ID:???] >>639 いったん全部同じフォーマットにしてしまうという方法もある。 数値型にしてしまうとか、日付型にしてしまうとかね
642 名前:nobodyさん [2012/02/16(木) 15:12:07.26 ID:ySUB6ST3] サクラちゃん!オレにエロい幻術をかけてくれってばよ!!
643 名前:nobodyさん mailto:sage [2012/02/16(木) 15:18:32.11 ID:???] $a = file("a.csv",FILE_IGNORE_NEW_LINES); $b = file("b.csv",FILE_IGNORE_NEW_LINES); $fp = fopen('c.csv', 'w'); foreach(file("a.csv") as $var){ $l=str_getcsv($var); if(in_array($l[0],$b))fputcsv($fp, $l); } fclose($fp);
644 名前:nobodyさん mailto:sage [2012/02/16(木) 16:09:17.55 ID:???] もれそうです ぶちゅーぶりぶり
645 名前:633 [2012/02/16(木) 18:14:40.57 ID:RNA+7C4L] >>643 ありがとうございます;; 助かりました
646 名前:nobodyさん mailto:sage [2012/02/16(木) 18:22:00.74 ID:???] あそこ直して使ってね・・・
647 名前:633 mailto:sage [2012/02/16(木) 18:44:18.58 ID:???] >>646 そのまま使えたのですが 直すところってあるのでしょうか?
648 名前:nobodyさん mailto:sage [2012/02/16(木) 18:47:40.34 ID:???] $aどこでつかってるのとかw
649 名前:nobodyさん mailto:sage [2012/02/16(木) 21:29:38.02 ID:???] CSVが1レコード1行と思ってる辺りも使えない
650 名前:nobodyさん [2012/02/17(金) 07:27:18.28 ID:uCAZxDKu] おはようございます。昨日、Notice: Undefined index〜 のエラーについて質問したものです。 今回も同じような質問で恐縮なのですが、Notice: Undefined index〜エラーが連発しました。 元ソースです ttp://pastebin.com/JcAYvrmH エラ− Notice: Undefined index〜 line 36 37 45 46 54 55 そこで、昨日教えて頂いたので、自分なりに追記し、エラーを掃かなくなりました。 4行目と27行目に追加 ttp://pastebin.com/F3xP74Yx この書き方で良いのでしょうか? 少し疑問に思ったのは、今回のような場合の大きいフォームの時に、冒頭に多数の配列のキーを書いていくことになるのでしょうか? 他に方法があるのでは?と、ご教授願いたく質問させて頂きました。 よろしくお願いします。
651 名前:nobodyさん mailto:sage [2012/02/17(金) 07:29:20.07 ID:???] >>650 マニュアル読んだことある?
652 名前:650 [2012/02/17(金) 07:34:52.02 ID:uCAZxDKu] >>651 返信ありがとうございます。 マニュアルは、はい、一応見てはいます。見てはいるんですが、なかなか理解が。。。 それで、別のブログ?とかで説明して頂いてるようなサイトも見たり。 理解が乏しくてすいません。
653 名前:nobodyさん mailto:sage [2012/02/17(金) 07:38:07.95 ID:???] XAMPPで楽に環境作って開発始めるのはいいけど、 それで手を抜いてマニュアル読まないようじゃ、本末転倒だと思うよ
654 名前:650 [2012/02/17(金) 08:03:12.13 ID:uCAZxDKu] >>653 返信ありがとうございます。 あの、とても質問しにくいのですが、 マニュアルとはarrayについてなのでしょうか、それとも、追記のそのものが違うということなんでしょうか。 arrayは、キーが整数ならば多少の省略ができるみたいですが、文字列となると単純には難しい感じなのかな。 連想配列のキーが何であっても空を入れるような・・・というより$errorはキーさえも入ってない状況?だから どうでにもできないのかな? とマニュアルを見て思いました。
655 名前:nobodyさん mailto:sage [2012/02/17(金) 08:11:36.95 ID:???] 今回の件とXAMPPになんの関係があるんだよw >>650 $error = array('name' => '', 'email' => '', 'password' => ''); これ入れると22行目で常に空じゃなくっていつまでも確認ページにジャンプされないんじゃない? 俺なら先頭に $data = array('name' => '', 'email' => '', 'password' => ''); // $_POSTからname email passwordがあれば入れる foreach (keys($data) as $key) { if (isset($_POST[$key])) { $data[$key] = $_POST[$key]; } } でそれより下の$_POSTを全部$dataに置き換えする
656 名前:nobodyさん mailto:sage [2012/02/17(金) 08:18:41.12 ID:???] >>654 PHPの公式マニュアルは難しい参考書や問題集ではなく、入門向けの基礎ドキュメントになってる。 「はじめに〜機能」まではPHP開発者なら当然抑えておくべき知識。上級者でなく初心者のね。 最低限「はじめに〜言語リファレンス」までは理解していないと質問の会話も通じないし既存サンプルコードも理解できない。 読んで基礎を身に着けてから開発したほうがいいよ。 (一通りとかじゃなくて、ちゃんと理解して)
657 名前:nobodyさん mailto:sage [2012/02/17(金) 08:19:04.20 ID:???] 追記 関数リファレンスは、最低限主要な関数くらいは見ておいたほうがいい
658 名前:nobodyさん mailto:sage [2012/02/17(金) 08:19:39.49 ID:???] てか質問と関係ないこと答えたな フォーム関係だと、値を確認しないと危ないからどうしても長くなるよ
659 名前:650 [2012/02/17(金) 08:46:33.43 ID:uCAZxDKu] みなさん、ありがとうございます。 >>655 ご指摘どおり動きませんでした。 エラーが消えて喜んでいたので、このまま参考書通り進めていったら気がつかなかったと思います。 たぶんエラーが消えたので、その箇所が問題だと疑問に思ってなかったと思うのです。 ぜひ参考にさせて頂こうと思います。foreachは浮かんだのに、そこからが出て来ないという。 >>656-658 あー、見てないです・・・知らなかったです。辞書のようなものだと思って 検索エンジンから関数入力して、直接その関数だけのを見てました。 トップページ見たことなかったです。。。 これは、嬉しい。必ず見て理解しながら、今の参考書をやろうと思います。 稚拙な質問ですいませんでした。ほんとにありがとうございました。
660 名前:nobodyさん mailto:sage [2012/02/17(金) 09:23:09.19 ID:???] >>659 俺は657-658だけど、ぶっちゃけ書籍とかいらない。 情報古いし誤記はあるし公式マニュアルの方が詳しいし。 今回みたいなことが発生する度にここで質問してたら一向に先に進まないから 基礎を身に付けてある程度自分で考えたり調べられるようになったほうがいいよ
661 名前:nobodyさん mailto:sage [2012/02/17(金) 10:15:08.87 ID:???] Notice: Undefined indexは最初無視していいよ 実際にサイトに設置するスクリプト書いた時直せばいい
662 名前:nobodyさん [2012/02/17(金) 16:27:16.33 ID:w/M88VPz] MVCって、view が、コントローラーありきじゃないですか。 となると、デザイナーが、 「ここ2ページふやしたいな」 「ここ、ディレクトリかえたいな」 とかなったらいちいちプログラマーがコントローラを 書き換えないとダメなんですか?
663 名前:nobodyさん [2012/02/17(金) 16:51:20.31 ID:UxdMuJ4N] 逆 コントローラがViewのインターフェイスに依存してる
664 名前:nobodyさん [2012/02/17(金) 19:36:37.46 ID:7dv+Ag3y] PDOのインスタンス「$dbh」のスコープについて質問です。 ファイルの先頭で、PDOインスタンスを生成して、DB操作をしています。 しかし、関数内では、ローカル領域のため、そのまま$dbhを使用したくても無視されます。 関数内で、DB操作するための解決策として、 1.「global $dbh」のようにグローバル宣言をする 2.「$dbh」を関数の引数で渡す のように考えたのですが、どうするのがベストなのでしょうか?
665 名前:nobodyさん mailto:sage [2012/02/17(金) 20:07:52.04 ID:???] どっちでも
666 名前:nobodyさん mailto:sage [2012/02/17(金) 20:55:18.79 ID:???] 俺なら関数内で $dbh = $GLOBALS["dbh"]; とかかな
667 名前:660 mailto:sage [2012/02/17(金) 20:55:35.29 ID:???] 656-657だった
668 名前:650 [2012/02/17(金) 21:27:24.10 ID:uCAZxDKu] >>660 ありがとうございます。がんばります!
669 名前:nobodyさん [2012/02/17(金) 22:58:30.87 ID:MzraE+7u] メール送信について教えて下さい。 機種依存文字とか半角カナに対応する場合、 mb_send_mailよりmail関数で送信する方が良いのでしょうか? また、iso-2022-jpよりUTF-8の方が文字化けリスクは少ないのでしょうか?
670 名前:nobodyさん mailto:sage [2012/02/17(金) 23:22:09.91 ID:???] どこでそんな情報仕入れてきたんだ
671 名前:nobodyさん mailto:sage [2012/02/17(金) 23:39:23.76 ID:???] 通信中の文字化けを減らす目的だったら再送するなどすれば?
672 名前:nobodyさん mailto:sage [2012/02/17(金) 23:44:54.56 ID:???] どういった文字化けなのか調べてから質問しろ。 送信関数のバグか、受信側のエンコード認識ミスなのか、回線に比べサイズが大きすぎて送受信にミスるのか。 いちばん手軽に実装できる方法でやってみてそのエラーを書け。
673 名前:nobodyさん [2012/02/17(金) 23:49:47.62 ID:MzraE+7u] どう言った文字化けと言いましても・・・「?」と表示されます。 UTF-8のファイルに、mb_send_mailで機種依存文字や半角カナを送り、 outlookやgmailで受信すると文字化けします。 というか>>669 は間違いなんでしょうか? ググってもmb_send_mailは文字化けするから使うなってあります。 実際文字化けするので、そうなのかとは思いますが、 単にコードの書き方が悪いのかも?と思い、質問した次第です。
674 名前:nobodyさん mailto:sage [2012/02/17(金) 23:51:27.34 ID:???] >>673 コードの書き方が悪いんじゃない?
675 名前:nobodyさん [2012/02/17(金) 23:54:35.00 ID:MzraE+7u] mb_language('japanese'); mb_send_mail($email, 'テストメール', 'アアア'); UTF-8のファイルに単純に上記を書いてテストしています。 日本語メールをそう指定しているので、iso-2022-jpになるわけですが、 上記のままだと文字化けします。 mb_language('uni');にしてmail関数で送ると文字化けしません。 だからUTF-8にしてmail関数で送るのが正しいのでは?と思い、質問した次第です
676 名前:nobodyさん mailto:sage [2012/02/17(金) 23:56:51.68 ID:???] languageがuni?
677 名前:nobodyさん mailto:sage [2012/02/17(金) 23:57:09.06 ID:???] mb_internal_encoding
678 名前:nobodyさん [2012/02/18(土) 00:04:31.94 ID:XbBhkQAF] とりあえず今のところ↓の書き方なら文字化けしません。 mb_send_mail使っても文字化けしない方法ってあるんですね。 もう少し調べてみます。 mb_internal_encoding("UTF-8"); mb_language('ja'); $to = "メールアドレス"; $subject = mb_encode_mimeheader('テストメール'); $body = mb_convert_encoding('アイウエオ', 'sjis-win', 'UTF-8'); mail($to,$subject,$body);
679 名前:nobodyさん mailto:sage [2012/02/18(土) 01:35:47.85 ID:???] エンコードの自動変換をミスっただけだろ。 要するに設定次第で上手くいく。
680 名前:nobodyさん [2012/02/18(土) 05:00:23.69 ID:QcioPwmz] <input name="MyArray[]" /> <input name="MyArray[]" /> <input name="MyArray[]" /> <input name="MyArray[]" /> これをHTTP_REQUESTでaddPostDataするにはどうしたら良いでしょうか?
681 名前:nobodyさん mailto:sage [2012/02/18(土) 05:12:01.30 ID:???] >>680 foreach ($_POST['MyArray'] as $v) { $req->addPostData("MyArray[]", $v); }
682 名前:nobodyさん [2012/02/18(土) 10:29:51.01 ID:10KYAU7Y] ホストのIP変換が遅いのですが、早くする方法を教えてください。 さくらスタンダード、 PHP Ver5.2.17(CGI版)で、 $ipaddr=gethostbyname($domain); の時間を測定すると、通常はマイクロ秒くらいの一瞬で終わるのですが、 ときどき5秒くらいかかることがあります。 同じドメインでも一瞬で終わるときと時間がかかるときがあるようです。
683 名前:nobodyさん mailto:sage [2012/02/18(土) 11:40:26.02 ID:???] それはPHP関係ないのでは 関数どうこうでなる問題じゃないでしょう
684 名前:nobodyさん [2012/02/18(土) 12:10:41.22 ID:10KYAU7Y] >>683 やっぱり無理ですか、残念ですがガマンすることにします。 ありがとうございました。
685 名前:nobodyさん [2012/02/18(土) 18:36:17.03 ID:Agr52FPR] URLのHTMLソースをそのまま取得する方法はありますか? file_get_contentsだとタグ等を取得できません。 ソースをそっくりそのまま取得するにはどうしたら良いでしょうか?
686 名前:nobodyさん [2012/02/18(土) 18:37:10.00 ID:AZw1wiBM] どうでもいいじゃん、そんなこと
687 名前:nobodyさん mailto:sage [2012/02/18(土) 18:44:16.60 ID:???] file_get_contentsでタグを取得できない?なにいってんだ?
688 名前:nobodyさん mailto:sage [2012/02/18(土) 18:44:44.12 ID:???] 403でも返ってきてるんだろ
689 名前:nobodyさん mailto:sage [2012/02/18(土) 18:46:05.98 ID:???] ローカルからやれば取得できるさ
690 名前:nobodyさん mailto:sage [2012/02/18(土) 18:47:33.53 ID:???] HTMLソースをそのまま取得しない方法を聞いてるんじゃね
691 名前:nobodyさん [2012/02/18(土) 18:58:51.71 ID:Agr52FPR] すいません、初心者なので変なこと聞いてしまっているかも知れませんが、 <?php echo file_get_contents('www.yahoo.co.jp/ '); ?> これだとソースではなくページを表示しますが、これを下のように <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "www.w3.org/TR/html4/loose.dtd "> <html lang="ja"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <meta http-equiv="content-style-type" content="text/css"> <meta http-equiv="content-script-type" content="text/javascript"> <meta name="description" content="日本最大級のポータルサイト。検索、オークション、ニュース、メール、コミュニティ、ショッピング、 など80以上のサービスを展開。あなたの生活をより豊かにする「ライフ・エンジン」を目指していきます。"> <title>Yahoo! JAPAN</title> etc とソースを表示させたいです、どうすればいいでしょうか?
692 名前:nobodyさん mailto:sage [2012/02/18(土) 19:03:43.03 ID:???] >>691 htmlspecialcharでもかませ
693 名前:nobodyさん [2012/02/18(土) 19:40:17.07 ID:Agr52FPR] >>692 ありがとうございます、できました。
694 名前:nobodyさん [2012/02/18(土) 20:52:04.00 ID:GMcMwBnH] アップローダー作る場合は何か許可等はほしいのでしょうか? また、利用規約は禁止事項、アダルト禁止や、児童ポルノ画像は 通報する等の警告を書かないとダメだったりしますか?
695 名前:nobodyさん mailto:sage [2012/02/18(土) 21:01:41.90 ID:???] >>694 アダルトはどこからアウトでどこからセーフかという問題があって難しいですね 少年漫画のパンチラレベルならおkなはずです アダルト画像判別ライブラリがあるといいのですが
696 名前:nobodyさん [2012/02/18(土) 21:15:41.43 ID:AZw1wiBM] CGMはユーザがコンテンツをやり取りする場を提供するもの 他人のコンテンツは勝手にいじれない 規約に同意させて特定のコンテンツについて当事者に加えてもらえば自分のもんだから消し放題になる
697 名前:nobodyさん mailto:sage [2012/02/18(土) 21:20:25.30 ID:???] >>696 ttp://asonofumoto.cocolog-nifty.com/photos/uncategorized/2011/10/19/200511_img_5.jpg
698 名前:nobodyさん [2012/02/19(日) 02:22:12.54 ID:wQztI7LL] phpでrssリーダーを作りたいんだが、titleを取得してリンクさせるまではできた。 だが、スマートフォンに対応してないニュースサイトがあるため、xmlの中のtitleとbodyを取得して、スマホ向けにデザインを変更したいんだがどうすればいい? 一時的にhtmlを自動生成すればいいの?やり方がわからぬ、、、。
699 名前:nobodyさん mailto:sage [2012/02/19(日) 02:23:30.04 ID:???] >>698 スレ違い kohada.2ch.net/test/read.cgi/php/1271172618/
700 名前:nobodyさん [2012/02/19(日) 10:43:18.52 ID:DFHu3tLC] fopenのmodeパラメータですが、 書き込み用モードで開くと自動的に排他制御になるのでしょうか? 同じリソースを使って書き込み/読み込みをしようとa+を指定したとき、 読み込みでも排他制御されてるようです。 これは困るのですが読み込みと書き込みは、 別々のリソースで管理しないとだめなのでしょうか?
701 名前:nobodyさん mailto:sage [2012/02/19(日) 11:02:15.97 ID:???] >>700 flockは入れてるの?
702 名前:nobodyさん [2012/02/19(日) 11:14:52.49 ID:ULtF97rd] for文作ってるのですけど、 for(i=0; i<10; i++){ $data["thanks$i+1"] = $i; } だとうまくいかないっす。 i+1をあそこに書くにはどうしたらいいんでしょうか?
703 名前:700 [2012/02/19(日) 11:15:31.80 ID:DFHu3tLC] >>701 読み込みには入れてません。
704 名前:nobodyさん mailto:sage [2012/02/19(日) 11:23:10.10 ID:???] $t=$i+1; $data["thanks".$t]=$i;
705 名前:nobodyさん mailto:sage [2012/02/19(日) 11:32:17.68 ID:???] >>704 ありがとう ちなみに、文の中に数式を埋め込むのは不可なのですか。 関数だったら返り血使って普通にやりますよね?
706 名前:nobodyさん mailto:sage [2012/02/19(日) 11:35:07.23 ID:???] >>703 排他的ロックってのはロックしてる間読み込みも書き込みもできないようにするロックだよ
707 名前:nobodyさん mailto:sage [2012/02/19(日) 11:43:36.84 ID:???] >>705 汚いけどできるよ $data["thanks".($i+1)]=$i;
708 名前:nobodyさん mailto:sage [2012/02/19(日) 11:52:20.82 ID:???] >>707 できました あんまり好ましくはないようですね 先に教えてもらった方を使います どもども
709 名前:nobodyさん mailto:sage [2012/02/19(日) 15:38:42.75 ID:???] 返り血・・・血しぶき ドバーッ て感じだ。
710 名前:nobodyさん [2012/02/19(日) 22:01:19.96 ID:0c+jTY14] PHPアプリの二重ログイン防止策は、どうのように実装するのが良いのでしょうか? 有名SNSゲームが二重ログインのバグでサービス停止になったらしく気になります。
711 名前:nobodyさん mailto:sage [2012/02/19(日) 22:05:18.54 ID:???] >>710 その話詳しく
712 名前:nobodyさん mailto:sage [2012/02/19(日) 22:08:06.99 ID:???] ドリランドの件じゃなくて? あれは二重ログインとはまた別の話だよね。 二重ログイン防止はセッションをDBで管理すればいいかな。
713 名前:nobodyさん [2012/02/19(日) 23:25:00.75 ID:TyCjVWx4] >>712 ドリランドの件です。 バグの利用だそうですが、「二つの機器のアカウントを同じにする」とあるので、 二重ログインにも関係していると思いました。
714 名前:nobodyさん mailto:sage [2012/02/19(日) 23:49:52.59 ID:???] トランザクションかけてなかっただけの話ではなく?
715 名前:nobodyさん [2012/02/20(月) 00:32:56.31 ID:0kztJ4Qe] >>711 ttp://blog.livedoor.jp/dqnplus/archives/1697409.html 遅れてすみません。 >>714 見る限り、トランザクションは関係ないようです。 デュープとかいう手法でアイテムを複製されるバグのようです。
716 名前:nobodyさん mailto:sage [2012/02/20(月) 00:51:48.56 ID:???] 変数名に$をつけるとかめんどくせーな
717 名前:nobodyさん mailto:sage [2012/02/20(月) 01:11:59.90 ID:???] >>715 見れば見るほど関係あるように見えるが。 デュープとトランザクションが関係ないという理由は?
718 名前:nobodyさん mailto:sage [2012/02/20(月) 01:49:12.03 ID:???] >>715 トランザクションでググればみんなが言ってる事が理解できるよ あんたもプログラマの端くれなら 憶測で物事を決め付けてかかる癖は直しなさい
719 名前:nobodyさん mailto:sage [2012/02/20(月) 03:43:08.72 ID:???] デュープとかトランザクションとか横文字に知るからゆとりが混乱するんだろうが 排他制御って書いてやれよ
720 名前:nobodyさん mailto:sage [2012/02/20(月) 10:15:38.36 ID:???] >>713 基本的にこの手のものは二重ログインは防止するものではないよ。 ユーザーがひどく不便になる。
721 名前:nobodyさん [2012/02/20(月) 12:18:04.55 ID:GErhC2S3] cURLのIDNを有効にするにはどうしたらいいんでしょうか "curl idn enable"でggってみてそれらしきページはあったんですが何を言ってるのがサッパリでした OSはwindows vistaでPHPはver.5.3.8、cURLは7.21.7です
722 名前:nobodyさん mailto:sage [2012/02/20(月) 12:56:17.89 ID:???] >>721 何を言ってるのかサッパリならわからない単語でさらにぐぐらないと。 そうやって技術書をスタックにつんでこそ。
723 名前:nobodyさん mailto:sage [2012/02/20(月) 14:12:46.11 ID:???] うおー、PHP.netがつながらない。困った。 でも俺だけっぽいな?
724 名前:nobodyさん mailto:sage [2012/02/20(月) 14:14:15.72 ID:???] ほんとだつながらない
725 名前:nobodyさん [2012/02/20(月) 14:19:42.73 ID:7zywTD2d] >>723 俺も繋がらないよ (千葉県でOCN回線)
726 名前:723 mailto:sage [2012/02/20(月) 14:23:06.17 ID:???] >>724-725 うちは、都内でflet's + Interlinkだ。 普通にさば落ちかな。
727 名前:nobodyさん mailto:sage [2012/02/20(月) 14:34:51.94 ID:???] www.php.net→タイムアウト jp.php.net→変なメッセージが出る jp2.php.net→サーバが見つからない
728 名前:nobodyさん mailto:sage [2012/02/20(月) 14:37:32.11 ID:???] usの2つは繋がる us.php.net/ us2.php.net/
729 名前:nobodyさん mailto:sage [2012/02/20(月) 14:40:31.59 ID:???] DNS浸透の問題じゃないか? php.net 繋がらないPCだと[64.246.30.37] 繋がるPCだと[69.147.83.197]
730 名前:nobodyさん mailto:sage [2012/02/20(月) 14:42:50.02 ID:???] ドドランド詳しく
731 名前:nobodyさん mailto:sage [2012/02/20(月) 15:44:56.71 ID:???] >>716 同感 普段他の言語使ってるから PHPで依頼されるとき$にイライラする
732 名前:nobodyさん mailto:sage [2012/02/20(月) 15:56:02.91 ID:???] そしたらvarで変数定義して、あとで変数に$を付けるスクリプト作れ。
733 名前:nobodyさん mailto:sage [2012/02/20(月) 16:01:28.31 ID:???] $がないPHPもつくれるだろうが人間の利便性より、解析処理速度を優先したんだろ。 内部コードがUTF16のPHPも作れるが、計画して進展しないのはやはりソースの解析速度だろ。
734 名前:nobodyさん mailto:sage [2012/02/20(月) 16:09:55.54 ID:???] perlの変数に$がついてるからだろ
735 名前:nobodyさん mailto:sage [2012/02/20(月) 16:15:07.69 ID:???] JavaScriptには付いてないけど。 PHPはperlに元にしてるのか。
736 名前:nobodyさん mailto:sage [2012/02/20(月) 16:15:38.57 ID:???] 文字列中の展開とかあるしな。 使える記号も選べるほどないし
737 名前:nobodyさん mailto:sage [2012/02/20(月) 16:39:46.15 ID:???] ドのはなぁ… 規模が小さければトランザクションだ〜とかで済むけど 規模が大きくなると基本が通じなくなる事もあるみたいだしな ttp://d.hatena.ne.jp/iad_otomamay/20110808/1312805917 見たいな事象もあったりするし それならそれで手を考える必要はあるんだろうが その手のライブラリをしっかりと整備出来ていなかったのが痛いな
738 名前:nobodyさん mailto:sage [2012/02/20(月) 17:21:34.54 ID:???] だから、現金で取引されるようなデータには 固有の値をいれとけとあれほd
739 名前:721 mailto:sage [2012/02/20(月) 19:29:31.34 ID:???] >>722 ウウッ(´;ω;`)ヒントだけでも頼むよぉ・・・
740 名前:nobodyさん mailto:sage [2012/02/20(月) 19:35:40.43 ID:???] >>739 英語だけじゃなくて日本語も読めないの?
741 名前:nobodyさん mailto:sage [2012/02/20(月) 19:42:12.40 ID:???] PHP.net復活したくさ。
742 名前:nobodyさん mailto:sage [2012/02/20(月) 20:14:43.94 ID:???] >>721 再コンパイルの仕方がわからないならxamppからPHP抜いて試してみるとよかろう 俺の使ってるXAMPP Lite 1.7.3のPHP5.3.4はONになってる 最新バージョンがどうかは知らないが 最新のxampp1.7.7はPHP5.3.8だし試してみる価値はあるだろう
743 名前:nobodyさん mailto:sage [2012/02/20(月) 20:18:08.26 ID:???] 画像アップロードがほぼ完成して、自分が作ったソースファイルを 読んでたのですか、ifとelseを多用して非常に読みにくくなってました。 php歴2年ですが、これって素人がよくやるようなことなのでしょうか? なにか解決策はありますか?
744 名前:nobodyさん mailto:sage [2012/02/20(月) 20:30:10.23 ID:???] >>743 >>595
745 名前:nobodyさん [2012/02/20(月) 20:43:06.11 ID:NoHq1hRP] 正規表現で特定の文字の間の文字を取り出すことはできますか? 例えば、 あいうえおあ という文字列があったら、あとあの間の文字の(いうえお)を表示する。と言うことは可能でしょうか?
746 名前:nobodyさん mailto:sage [2012/02/20(月) 20:46:16.34 ID:???] >>745 >>1
747 名前:nobodyさん mailto:sage [2012/02/20(月) 20:46:30.08 ID:???] 可能
748 名前:nobodyさん mailto:sage [2012/02/20(月) 20:49:21.61 ID:???] >>743 今度からは>>1 よめ ifelse多様してるならswitch文が速いらしい
749 名前:743 [2012/02/20(月) 21:09:36.19 ID:Hy6/Os+0] すいません、下げてました。 >>748 switch文をを試してみます。
750 名前:nobodyさん mailto:sage [2012/02/20(月) 23:39:14.07 ID:???] >>747 ありがとうございます。
751 名前:nobodyさん mailto:sage [2012/02/21(火) 00:33:40.75 ID:???] NginXとFastCGIで、 a.phpで <?php echo file_get_contents("localhost/b.php "); ?> として、 b.phpで <?php echo "hello"; ?> とすると、固まってしまう。 b.phpで、file_put_contentsとかしてみると出力はあるから、アクセスはしてるんだけど、 レスポンスが取得できてないくさい。 fopenやstream_socket_clientもダメだった。 ちなみにa.phpでhtmlやtxtなどの静的コンテンツは取得できた。 a.phpをコマンドラインで実行すると普通にレスポンス返ってきてるんだが・・・ 何が原因なのかさっぱりわからん。
752 名前:nobodyさん mailto:sage [2012/02/21(火) 01:13:11.18 ID:???] >>751 >>595
753 名前:nobodyさん mailto:sage [2012/02/21(火) 01:20:19.98 ID:???] >>752 >>751 のどこに質問と書いてある?
754 名前:nobodyさん mailto:sage [2012/02/21(火) 02:58:29.45 ID:???] >>737 ねえ、そのリンク先のだとトランザクション管理できないって言ってる? そうじゃないなら何でそれ出したの?
755 名前:nobodyさん [2012/02/21(火) 06:54:25.99 ID:6SIN0kwR] WikipediaのSingletonのJavaで書かれた項目をPHPに移植したいのですが、 ja.wikipedia.org/wiki/Singleton_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3 1つ目の例の書き方だと問題ないのですが、 2つ目の例の書き方の2行目をPHPで書くのは無理でしょうか? 同期化コストってのはようするにif文を毎回呼ぶのがよくないってことだと思うのですが、 2つ目の例の2行目の書き方がPHPでだめだとして、改善方法はありますか? final class Singleton {     private static final $instance = new Singleton();     private function __construct() {}     public static function getInstance() {         return Singleton::$instance;     } } $s = Singleton::getInstance(); $s2 = Singleton::getInstance(); var_dump($s); var_dump($s2); Fatal error: Cannot declare property Singleton::$instance final〜 そこで$instanceのfinalを取ると Parse error: syntax error, unexpected T_NEW in〜 となります。 外からアクセスできるので質が違いますが、 private static finalに近そうなconstも試して見ましたが同様のエラーが出ます。
756 名前:nobodyさん mailto:sage [2012/02/21(火) 07:18:35.44 ID:???] >>755 コンストラクタ内でやればいいのでは?
757 名前:nobodyさん mailto:sage [2012/02/21(火) 07:19:30.05 ID:???] ああごめん、違うか
758 名前:nobodyさん mailto:sage [2012/02/21(火) 07:20:50.57 ID:???] final外すとか
759 名前:nobodyさん mailto:sage [2012/02/21(火) 08:11:46.42 ID:???] 答える側も基本的な事すら調べないのな… >>755 > 同期化コストってのはようするにif文を毎回呼ぶのがよくないってことだと思うのですが、 違う、同期化コストはJavaのsyncronized修飾子に対しての言葉 PHPではif文で毎回調べるのが常套手段となっている www.php.net/manual/ja/language.oop5.properties.php > 宣言時に初期値を設定することもできますが、初期値は定数値でなければなりません。 > つまり、コンパイル時に評価可能な値でなければならず、 > 実行時の情報がないと評価できない値であってはいけないということです。
760 名前:751 mailto:sage [2012/02/21(火) 08:31:30.02 ID:???] 自己解決した。単純な話だった
761 名前:nobodyさん mailto:sage [2012/02/21(火) 10:14:06.04 ID:???] ルール無視したまま退散か、このlocalhost野郎
762 名前:nobodyさん mailto:sage [2012/02/21(火) 10:14:54.16 ID:???] ルール守った所でお前みたいな無能には一生わからないからな
763 名前:755 mailto:sage [2012/02/21(火) 10:19:56.57 ID:???] >>756-759 レスありがとうございます。 >>759 なるほどそういう意味でしたか。 syncronizedがどういうものかはよくわかりませんが、 PHPでは最初の例が常套手段ということは理解しました。 比較対象のため少しJavaの勉強もしてみようと思います。 どうもありがとうございました。
764 名前:nobodyさん [2012/02/21(火) 10:24:44.01 ID:otlrgE39] 基本的なことかもしれませんが、教えてください。 ftp_get関数を使って、リモートのファイルをローカルに保存したいのですが うまくいきません。 リモートでPHPの動かしていると、オフィシャルマニュアルのいうところの 「ローカル」というのは、動いている場所を指してしまうのですか? 具体的に書くとレンタルサーバー上のtest.phpの中で、ftp_get関数を使うと レンタルサーバーの/home/hoge/に「C:\temp\downloaded.txt」 という名前のファイルが できてしまってローカルには何もダウンロードされないのですが、これは仕様ということですか?
765 名前:nobodyさん mailto:sage [2012/02/21(火) 10:37:35.23 ID:???] Java知らないのにJavaのコードを移植しようとはこれいかに
766 名前:nobodyさん mailto:sage [2012/02/21(火) 10:40:04.48 ID:???] んな難しいことじゃないだろ Javaなんて知らんでも>>755 程度ならPHPある程度やってるやつなら誰でも移植できる
767 名前:nobodyさん mailto:sage [2012/02/21(火) 10:43:47.00 ID:???] でもつまづいてるのは、知らないからだというw
768 名前:nobodyさん mailto:sage [2012/02/21(火) 10:57:28.75 ID:???] >>764 ローカルとは実行してるコンピュータのこと 当然レンタルサーバーでftp_getを使えばftp_getの引数で指定した先からサーバー(ローカル)にダウンロードされ保存される
769 名前:nobodyさん [2012/02/21(火) 10:59:15.38 ID:otlrgE39] >>768 やっぱりそうでしたか、目の前の箱だと思っていたのが間違いでしたね。汗 ありがとうございました。べつな方法を考えてみます。
770 名前:nobodyさん mailto:sage [2012/02/21(火) 14:39:44.56 ID:???] PHPでのチェックボックスでの値の受け取り方や配列の扱い方よくわからないので教えて下さい。htmlの部分で <input type="checkbox" name="checkbox01[]" value="0"> 〜 <input type="checkbox" name="checkbox01[]" value="2"> とチェックボックスをつくりました。そしてPHPの処理部分では // チェックボックスに値があれば if($_GET["checkbox01"]){ foreach($_GET["checkbox01"] as $val){ if($val==0){ $data["A"]='あ'; } elseif($val=1){ $data["B"]='い'; } elseif($val=2){ $data["C"]='う'; } } // $dataがアレばそれぞれ if($data["A"]){ print_r($data["A"]); } if($data["B"]){ print_r($data["B"]); } if($data["C"]){ print_r($data["C"]); } }
771 名前:nobodyさん mailto:sage [2012/02/21(火) 14:41:32.79 ID:???] としたのですが、チェックすべてに値をつけても 「あい」 までしか表示されません。試しに // チェックボックスに値があれば の前で print_r( $_GET["checkbox01"]); としたら Array ( [0] => 0 [1] => 1 [2] => 2 ) と表示され、// $dataがアレばそれぞれ の前でも print_r($data); としたら Array ( [A] => あ [B] => い ) と表示されたため、foreach文ないがおかしいとはおもうのですが解決方法がわかりません。 どのようにしたらいいのでしょうか? 長くなってしまったので連投してすみません、どなたかお知恵をかしてください。
772 名前:nobodyさん mailto:sage [2012/02/21(火) 14:43:28.71 ID:???] $val=1 → $val==1 $val=2 → $val==2
773 名前:nobodyさん mailto:sage [2012/02/21(火) 15:08:48.42 ID:???] これは質問者が間違って書いたから訂正してるのか、 別の人の解答なのかどっち? ID無いからわからんな
774 名前:770 mailto:sage [2012/02/21(火) 15:21:10.42 ID:???] >>772 ありがとうございます。こんな凡ミスなんて・・・ あと調べててin_array関数というのもみつけたのですが、foreachで繰り返して探すより if(in_array("0", $_GET["checkbox01"] ){ } if(in_array("1", $_GET["checkbox01"] ){ } といったように内容は同じだとおもうのですがin_arrayで調べたほうがいいのでしょうか?
775 名前:nobodyさん mailto:sage [2012/02/21(火) 15:37:57.26 ID:???] >>774 全部処理するならforeach使うけどなぁ in_arrayは検索する時だけ
776 名前:770 mailto:sage [2012/02/21(火) 16:07:46.92 ID:???] >>775 ありがとうございます。 結局この場合はどちらがいいのでしょうか?
777 名前:nobodyさん mailto:sage [2012/02/21(火) 16:17:22.51 ID:???] >>776 この場合はforeach
778 名前:nobodyさん mailto:sage [2012/02/21(火) 16:19:18.56 ID:???] if($val==0){ $data["A"]='あ'; } elseif($val=1){ $data["B"]='い'; } elseif($val=2){ $data["C"]='う'; } こんなことするなら最初からvalueにあいう入れればいいのに
779 名前:nobodyさん mailto:sage [2012/02/21(火) 16:59:54.36 ID:???] >>773 質問内容を理解してないから分からないんじゃないのか? よって君はチェリーボーイ
780 名前:nobodyさん mailto:sage [2012/02/21(火) 17:07:19.21 ID:???] >>779 >>1 読めって言ってんのがわかんねーやつは引っ込んでろよ
781 名前:770 mailto:sage [2012/02/21(火) 17:08:17.74 ID:???] >>777 ありがとうございます。 そうじゃない場合はどんなときでしょうか?
782 名前:nobodyさん mailto:sage [2012/02/21(火) 17:15:36.37 ID:???] >>781 配列にひとつの値があるか検索する時
783 名前:nobodyさん [2012/02/21(火) 23:58:50.45 ID:QmooF5El] PHPの遅さを解消する方法はありますか?
784 名前:nobodyさん mailto:sage [2012/02/22(水) 00:03:26.59 ID:???] あなたの頭の回転の遅さを解消しましょう
785 名前:nobodyさん mailto:sage [2012/02/22(水) 00:07:59.95 ID:???] >>783 無駄な動作をなくせばいい
786 名前:nobodyさん [2012/02/22(水) 01:07:04.45 ID:HjiaSrjv] >>785 CakePHPを早くするためにはどうしたらよろしいでしょうか? デフォルトの状態です。 WordPressを早くするためにはどうしたらよろしいでしょうか? デフォルトの状態です。 OpenPNEを早くするためにはどうしたらよろしいでしょうか? デフォルトの状態です。 symfonyを早くするためにはどうしたらよろしいでしょうか? デフォルトの状態です。
787 名前:nobodyさん mailto:sage [2012/02/22(水) 01:09:47.45 ID:???] また発作か
788 名前:nobodyさん [2012/02/22(水) 01:39:15.45 ID:HjiaSrjv] 結局、言語自体が遅い気がします。
789 名前:nobodyさん mailto:sage [2012/02/22(水) 01:42:23.62 ID:???] 今時体感できるほど遅いなら単にサーバがしょぼいだけだろ
790 名前:nobodyさん [2012/02/22(水) 01:44:59.53 ID:HjiaSrjv] >>789 他の言語に比較して遅いです。 比較はJavaとPythonです。
791 名前:nobodyさん [2012/02/22(水) 01:46:11.48 ID:HjiaSrjv] PHPもページ単位で処理が終わるものなら早いですが、 オブジェクト指向を始めると途端にパフォーマンスが悪くなるようです。
792 名前:nobodyさん [2012/02/22(水) 01:48:41.94 ID:HjiaSrjv] >>789 ローカル環境でも遅いのでどうしようもありません。
793 名前:nobodyさん mailto:sage [2012/02/22(水) 01:54:46.01 ID:???] じゃ窓からPCでも捨てればいいと思うよ
794 名前:nobodyさん [2012/02/22(水) 01:57:04.91 ID:HjiaSrjv] PHPでセッションにオブジェクトを格納することは少ないのでしょうか? アプリケーションスコープが無いのはわかっていますが、セッションはありますよね。 WordPressしかり、Cakeしかり、symfonyしかり、オブジェクト格納場所として セッションは考えられていないようです。これが結果としDBへの 余分なアクセスを増大させているようです。
795 名前:nobodyさん [2012/02/22(水) 01:58:42.03 ID:HjiaSrjv] >>793 たとえばOpenPNEが稼働しているサイトで機敏に動くところはありますか? 自分が知っている限り無いと思いますが・・・。
796 名前:nobodyさん mailto:sage [2012/02/22(水) 02:10:14.28 ID:???] OpenPNE使ってるサイトなんて画像が多かったりコード量が多いサイトがほとんどだろ なんでもかんでもPHPのせいにすればいいってもんじゃない
797 名前:nobodyさん mailto:sage [2012/02/22(水) 02:18:02.00 ID:???] >>789 さすがにそれは無いわ。サーバがしょぼいの敷居がよほど高くなければ。
798 名前:nobodyさん [2012/02/22(水) 02:18:21.92 ID:HjiaSrjv] >>796 書いていますが、デフォルトの状態ですでに重いのです。 一切カスタマイズしていない状態です。ちなみに3.6系の最新版です。 デバックモードで起動するとものすごい数のSQLクエリが発行されています。 >>794 についてはどう思われますか?
799 名前:nobodyさん [2012/02/22(水) 02:20:08.85 ID:HjiaSrjv] PHPのインタープリタが遅いのは承知していますが、 それ以上にクエリをムダに発行しているように思えるのです。
800 名前:797 mailto:sage [2012/02/22(水) 02:20:36.63 ID:???] >>798 PHP部に限って言うならopコードキャッシュ使う。 DBアクセス数が多くて、コネクション生成コスト、クエリコストが原因で遅いのであれば、PHP自体の問題ではなくなる
801 名前:nobodyさん mailto:sage [2012/02/22(水) 02:21:25.34 ID:???] 本当にそれが無駄なのであれば改善すれば世界中の人に喜ばれるよ。
802 名前:nobodyさん mailto:sage [2012/02/22(水) 02:22:22.14 ID:???] >>794 についてはどう思われますか? 一人だけで使うなら別にいいんじゃね
803 名前:nobodyさん [2012/02/22(水) 02:23:07.36 ID:HjiaSrjv] PHPのリソースの捉え方が非常に大雑把で困惑しています。 たとえばJavaであれば 1.アプリケーションスコープ 2.セッションスコープ 3.リクエストスコープ 以上の3スコープに欲するデータが無い場合のみDBへアクセスしますが、 CakeやWordPress、OpenPNEなどの場合はお構いなしに毎回DBへアクセス しているのが不思議です。
804 名前:nobodyさん mailto:sage [2012/02/22(水) 02:26:05.08 ID:???] >>803 Webサーバを複数使うことを想定してそうなってるわけじゃなくて? 設定とかで変えられないの?ってか、変えられないからそのように断定しているんだろうけれど。
805 名前:nobodyさん mailto:sage [2012/02/22(水) 02:30:02.12 ID:???] >>803 ちなみに期待するレスポンスはどの程度で、現状はどれくらい? 同時接続クライアント数など、必要なものを列挙してほしい。ベンチの結果でもいい。
806 名前:nobodyさん mailto:sage [2012/02/22(水) 02:32:41.04 ID:???] それがわからないから管を巻いてんじゃねえかな
807 名前:nobodyさん [2012/02/22(水) 02:40:30.48 ID:HjiaSrjv] >>805 >>806 PHPの主要フレームワークやCMSのソースコードリーディングに基づき、 このスレを書き込みしています。実践というわけではありません。 気づいたことはオブジェクトの一時保存場所としてセッションが 使用されていないのが不思議なのです。だからSQL発行が非常に多い。 これはなぜですか?
808 名前:nobodyさん mailto:sage [2012/02/22(水) 02:41:22.45 ID:???] >>807 >>804 の1行目は理解できる?
809 名前:nobodyさん [2012/02/22(水) 02:43:20.60 ID:HjiaSrjv] >>808 PHPは分散オブジェクトは対応していないのですか?
810 名前:nobodyさん mailto:sage [2012/02/22(水) 02:46:14.38 ID:???] >>809 Javaのスコープの話が出てきた時点でこうなりそうな気はしていたが。 今後の話をわかりやすくするために「分散オブジェクトに対応する」というのがどういうことか伝えてもらえるかな。
811 名前:nobodyさん [2012/02/22(水) 02:50:27.92 ID:HjiaSrjv] >>810 複数のコンピュータ間で同じオブジェクトを同一マシーン上で処理が済むことと同じようにすることですよね。
812 名前:nobodyさん [2012/02/22(水) 02:53:35.00 ID:HjiaSrjv] OpenPNE,WordPress、CakePHPはセッションへオブジェクトを格納する設計になっていないのでしょうか?
813 名前:nobodyさん mailto:sage [2012/02/22(水) 02:54:02.25 ID:???] >>811 それでいいのなら、対応してる。
814 名前:nobodyさん mailto:sage [2012/02/22(水) 02:55:12.88 ID:???] >>812 ソースコードリーディングは諦めたの?
815 名前:nobodyさん [2012/02/22(水) 02:56:50.78 ID:HjiaSrjv] >>812 なぜ同じクエリを何度も発行しているのでしょうか? OpenPNE3.6系です。
816 名前:nobodyさん mailto:sage [2012/02/22(水) 03:00:29.37 ID:???] いらなクエリをコメントアウトすればいいんじゃね?
817 名前:nobodyさん [2012/02/22(水) 03:02:33.49 ID:HjiaSrjv] >>816 その論法で行くと全部コメントアウトになりますが・・・。 私の質問はPHPでは答えにくのでしょうか?
818 名前:nobodyさん mailto:sage [2012/02/22(水) 03:04:26.65 ID:???] そろそろしんどい。 >>815 , 817 繰り返すが、それが本当に無駄なら報告すれば多方面から感謝されるからそうしたらいい。
819 名前:nobodyさん [2012/02/22(水) 03:08:04.96 ID:HjiaSrjv] >>818 そんなに大げさなことでしょうか? OpenPNEを試されたことがありますよね? デバックモードで起動するとSQL発行数がわかりますが、すごい量です。 これはなぜですか?と言っているだけです。だから遅いんじゃないでしょうかと。
820 名前:nobodyさん [2012/02/22(水) 03:09:29.52 ID:HjiaSrjv] セッションにオブジェクトを格納しない理由があるのでしょうか? 昔はシリアライズのバグの話は聞いたことがありますが、さすがに今は解消しているはずです。
821 名前:nobodyさん mailto:sage [2012/02/22(水) 03:09:46.81 ID:???] >>819 デバッグモードじゃなければ発行されないの? 何のために使われるクエリなのかは調べてないの? OpenPNEは使ったこと無いよ。使ったこと無いならレスしないでっていうことなら喜んでレスやめる。
822 名前:nobodyさん mailto:sage [2012/02/22(水) 03:09:49.44 ID:???] セッション切れるまでリソース保持とかどんな罰ゲーム
823 名前:nobodyさん mailto:sage [2012/02/22(水) 03:09:54.82 ID:???] x86命令セット渡しても文句言いそうだな
824 名前:nobodyさん mailto:sage [2012/02/22(水) 03:11:44.08 ID:???] どういう学び方をしたらこんなこじらせた頭になるんだ?
825 名前:nobodyさん [2012/02/22(水) 03:11:56.60 ID:HjiaSrjv] >>821 デバッグモードで起動するとSQLクエリの発行数がわかります。
826 名前:nobodyさん [2012/02/22(水) 03:13:20.43 ID:HjiaSrjv] >>822 それならそれでいいんです。 PHPでは罰ゲームレベルという理解でよろしいのですね。
827 名前:nobodyさん mailto:sage [2012/02/22(水) 03:13:21.46 ID:???] こんなとこで使ったこと無い人相手にがんばるくらいならコード読み進めてみたら?
828 名前:nobodyさん [2012/02/22(水) 03:14:30.57 ID:HjiaSrjv] 結局のところ、 PHPではセッションにオブジェクトを格納するのは一般的ではないという結論ですね。
829 名前:nobodyさん mailto:sage [2012/02/22(水) 03:15:13.92 ID:???] >>826 Javaだと放置セッションのリソースはいつ破棄されるの?
830 名前:nobodyさん mailto:sage [2012/02/22(水) 03:15:30.89 ID:???] >>826 だから言っただろ 一人だけで使うなら別にいいんじゃね って
831 名前:nobodyさん [2012/02/22(水) 03:15:45.98 ID:HjiaSrjv] よくわかりました。道理でセッションが使用されていないわけだ。
832 名前:nobodyさん [2012/02/22(水) 03:16:55.71 ID:HjiaSrjv] >>829 アプリケーションサーバーの設定による。 ただし、プログラムレベルでは細かく殺してリソースのムダ遣いを減らします。
833 名前:nobodyさん mailto:sage [2012/02/22(水) 03:17:02.95 ID:???] 他人のコードを読む時の絶望感といったら言葉にならない らーらーらー ららーらー 言葉になら〜ない
834 名前:nobodyさん mailto:sage [2012/02/22(水) 03:17:23.17 ID:???] PHPだけの問題じゃないでしょうに Javaだって同じ事
835 名前:nobodyさん mailto:sage [2012/02/22(水) 03:17:48.03 ID:???] >>832 PHPも一緒だよ。
836 名前:nobodyさん mailto:sage [2012/02/22(水) 03:18:45.31 ID:???] 基礎知識が足りなさすぎるだろ もっと幅広く勉強しろよ
837 名前:nobodyさん [2012/02/22(水) 03:19:08.08 ID:HjiaSrjv] もう大丈夫です。 PHPではセッションにオブジェクトを格納するのは一般的ではないということが よくわかりました。
838 名前:nobodyさん mailto:sage [2012/02/22(水) 03:20:04.33 ID:???] どういたしまして。
839 名前:nobodyさん [2012/02/22(水) 03:24:16.48 ID:HjiaSrjv] セッションにオブジェクトを格納するのはPHPでは一般的では ないとわかりましたが、それはPHPプログラマにとって尺に触ることでしょうか?
840 名前:nobodyさん [2012/02/22(水) 03:27:56.08 ID:HjiaSrjv] 尺に触ったのであればすみまんでした。特に悪気はありません。
841 名前:nobodyさん mailto:sage [2012/02/22(水) 03:30:45.46 ID:???] 癪に障るかってどういうことだろ。 たとえば一般的ではないことを強要されたら癪に障るかも知れないけれど。
842 名前:nobodyさん mailto:sage [2012/02/22(水) 03:38:58.82 ID:???] もしかして煽ろうとしていたのか…?
843 名前:nobodyさん mailto:sage [2012/02/22(水) 03:57:13.25 ID:???] >>840 キレてないっスよ ペチパーキレさせたら大したもんスよ
844 名前:nobodyさん mailto:sage [2012/02/22(水) 04:52:15.14 ID:???] PHPでC言語の実装するとか言ってたのはどうなったんだ?
845 名前:nobodyさん mailto:sage [2012/02/22(水) 06:32:14.02 ID:???] PHPだからとかJavaだからとか関係ないから。 Webアプリケーションの設計の話でしょ。
846 名前:nobodyさん mailto:sage [2012/02/22(水) 07:41:18.69 ID:???] >>795 JavaとPythonで比較してるなら、OpenPNEに相当するJavaとPythonで実装されたもので 機敏に動くものを知りたい。
847 名前:nobodyさん mailto:sage [2012/02/22(水) 08:55:42.21 ID:???] もう大丈夫です。 PHPではセッションにオブジェクトを格納するのは一般的ではないということが よくわかりました。
848 名前:nobodyさん mailto:sage [2012/02/22(水) 09:00:26.08 ID:???] PHPでなくても一般的ではない
849 名前:nobodyさん mailto:sage [2012/02/22(水) 09:03:48.77 ID:???] >>848 嘘つくなw
850 名前:nobodyさん mailto:sage [2012/02/22(水) 09:10:04.74 ID:???] コネクションプーリングってのはそもそもアプリケーション鯖が対応してなければ使えない
851 名前:nobodyさん mailto:sage [2012/02/22(水) 09:13:27.28 ID:???] >>850 当然。だからphpではコネプール不可。
852 名前:nobodyさん mailto:sage [2012/02/22(水) 09:15:30.80 ID:???] セッションの話はどうでもいいが、openpneが激重なのは同意。 かなりヤバイレベル。バージョン2の時代はマシだった。
853 名前:nobodyさん mailto:sage [2012/02/22(水) 09:17:48.11 ID:???] んでコネクションプーリングを実現するのにセッションが必要なんて そんなヴァカな話があるのか
854 名前:nobodyさん mailto:sage [2012/02/22(水) 09:24:03.91 ID:???] >>853 たしかに、唐突にコネクションプーリングの話は変だとは思った。 その逆も必要ないかと。 話の流れとは関係ないw
855 名前:nobodyさん mailto:sage [2012/02/22(水) 10:49:21.91 ID:???] >>852 可能です。 以上。 ↓次どうぞ
856 名前:nobodyさん [2012/02/22(水) 11:04:16.02 ID:yvJnpOho] >>783 CGIじゃなくてモジュールで動作させれば早いと書いてあった。 今のところはCGIで動作の仕様になってる。
857 名前:nobodyさん mailto:sage [2012/02/22(水) 11:17:37.00 ID:???] 頭大丈夫 ?
858 名前:nobodyさん mailto:sage [2012/02/22(水) 11:27:57.48 ID:???] もう手遅れかと
859 名前:nobodyさん mailto:sage [2012/02/22(水) 15:35:04.94 ID:???] コネクションプーリングは言語レベルのサポートは無い。
860 名前:nobodyさん mailto:sage [2012/02/22(水) 15:37:33.90 ID:???] Javaのようなオブジェクト指向言語では普通にオブジェクトをセッションへ格納する。
861 名前:nobodyさん mailto:sage [2012/02/22(水) 17:05:21.76 ID:???] いいえアプリケーションで管理するのが普通です
862 名前:nobodyさん mailto:sage [2012/02/22(水) 17:34:31.83 ID:???] setcookie();の挙動について悩んでいます a.phpで echo $_COOKIE['testvar1']; var_dump($_COOKIE); --- b.phpで setcookie('testvar1', 'bbb') //a.phpでbbbが出力される --- c.phpで setcookie('testvar1', 'ccc') //a.phpでcccが出力されない setcookie('testvar2', 'xxx') //a.phpでtestvar2自体が確認出来ない と、以上のようにしてる時、b.php → a.php の順番でアクセスするとechoもvar_dumpも正常な結果を返すんですが、その後 c.php → a.php の順番でアクセスするとechoはbbbを返し、var_dumpは追加したtestvar2自体を返さずtestvar1のみbbbとして返します ※c.php自体の中で echo $_COOKIE['testvar1'];すればcccを返します。また、c.phpのsetcookie();の返り値は1です ※また、b.phpの中でクッキーに入れる値を変更した場合はa.phpで変更後の値が確認出来ますが c.phpの中で値を変更しても上書きされません(c.phpの中での確認です) ドメインは全て同じで、原因が全くわかりません 何か考えられる対処法やチェック箇所あるでしょうか? 申し訳ないですが、どなたかご意見お願いします
863 名前:nobodyさん mailto:sage [2012/02/22(水) 19:09:47.20 ID:???] ブラウザを初期化する
864 名前:nobodyさん mailto:sage [2012/02/22(水) 19:28:43.76 ID:???] ありがとうございました!
865 名前:nobodyさん mailto:sage [2012/02/22(水) 19:35:22.61 ID:???] 最近は、ID出さなくても答えて貰える様になったのか。 これがゆとりか。
866 名前:nobodyさん mailto:sage [2012/02/22(水) 19:44:07.26 ID:???] ID指摘したかったら、回答しつつ、ID出すように促せよ。 IDID言うやつ、回答しないんだよな。
867 名前:nobodyさん mailto:sage [2012/02/22(水) 19:46:05.87 ID:???] >>1
868 名前:nobodyさん mailto:sage [2012/02/22(水) 19:46:44.23 ID:???] 昨日のチェリーボーイが居ますね
869 名前:862 [2012/02/22(水) 20:41:14.26 ID:culdIBNJ] すみません、今気づきましたID出してなかったです。すみませんでした その後もブラウザ再起動などしてやったんですが やはりc.phpでsetcookie();した値はc.php以外で確認出来ません なんなんでしょうか?
870 名前:nobodyさん mailto:sage [2012/02/22(水) 20:44:30.18 ID:???] >>869 問題が再現するコード出して
871 名前:nobodyさん mailto:sage [2012/02/22(水) 20:50:21.88 ID:???] >>869 たぶんpath
872 名前:nobodyさん mailto:sage [2012/02/22(水) 21:49:26.94 ID:???] HTTPのヘッダも確認してみれば
873 名前:nobodyさん mailto:sage [2012/02/22(水) 22:14:17.30 ID:???] fastcgiの動作確認なのですが php-cgi -b 127.0.0.1:9000 & として telnet 127.0.0.1 9000 とかでなんか叩いて動作チェックって出来るものでしょうか?
874 名前:862 [2012/02/22(水) 22:42:10.50 ID:culdIBNJ] >>870-872 その後、全てのsetcookie()を setcookie('time', date('Y-m-d H:i:s'), 0, '/', 'example.com');として 有効時間、パス、ドメインを指定したところ解決しました 質問して良かったです、助かりました 本当にありがとうございました
875 名前:nobodyさん mailto:sage [2012/02/22(水) 22:51:44.23 ID:???] いいってことよ
876 名前:nobodyさん mailto:sage [2012/02/22(水) 22:55:02.14 ID:???] ほい
877 名前:nobodyさん [2012/02/22(水) 23:24:44.58 ID:qmf6D6+H] get_included_files()に含まれてないファイルがrequire_onceで読み込まれないんですが、 原因としては何が考えられますか?
878 名前:nobodyさん mailto:sage [2012/02/23(木) 00:42:33.05 ID:???] >>877 パス間違ってるとかパーミッションがマズイとか。 ちょっと情報少なすぎ。 warningかnoticeも出てないの?
879 名前:553 mailto:sage [2012/02/23(木) 01:24:46.92 ID:???] 含まれていないんだから、読み込まれないのは問題無いだろw
880 名前:nobodyさん mailto:sage [2012/02/23(木) 02:36:14.38 ID:???] CakePHPは重いですね
881 名前:nobodyさん mailto:sage [2012/02/23(木) 02:52:55.61 ID:???] マシンパワーアップしようぜ i7っでサックサクにしようぜ
882 名前:nobodyさん mailto:sage [2012/02/23(木) 07:04:30.49 ID:???] >>879 ん?
883 名前:nobodyさん mailto:sage [2012/02/23(木) 11:23:14.79 ID:???] >>880 同意。WordPressも激重。
884 名前:nobodyさん mailto:sage [2012/02/23(木) 11:28:18.18 ID:???] スレチ
885 名前:nobodyさん mailto:sage [2012/02/23(木) 11:29:42.88 ID:???] チッ
886 名前:nobodyさん [2012/02/23(木) 11:35:04.06 ID:GMJguUp1] セッションを利用したログイン認証について質問です。 ログインページでは、ID(メアド)とパスワードの一致をもって、認証OKとしています。 その後、各ページでは何をもって認証OKとすれば良いのでしょうか? 入門書では、 1.ログイン時に、各ユーザー情報をセッションに保持し、各ページでは、それがあれば認証OKとする。 2.ログイン時に、暗号化した認証キーを作成してセッションに保持し、各ページで再度、認証キーを作成し、セッションの認証キーと照会する。 3.ログイン時に、セッションID(session_id())をセッションに保持し、各ページでは、そのページでのsession_id()と照会する。 などの方法を確認しました。個人的には、1の方法で足りると思うのですが、2や3の方法のほうがセキュリティーは高まるのでしょうか?
887 名前:nobodyさん mailto:sage [2012/02/23(木) 12:26:00.63 ID:???] ログインフラグだけで十分
888 名前:877 [2012/02/23(木) 13:56:23.63 ID:QQ9YytJp] >>878 パスは間違ってないようです パーミッションもちゃんと644になってます 直接関わるwarning・noticeは出ていないようです 情報が少なすぎるとのことなので問題の背景を説明します レンタルサーバでXOOPSを使いサイトを運用しています ある日すべてのページが500 Internal Server Errorになるようになりました "php_flag magic_quotes_gpc Off"とだけ書かれたXOOPS_ROOT_PATH/.htaccessがあったのでこれを削除したところ、 だいたいのページは元通り見られるようになりました しかし、管理メニューの互換モジュールで Fatal error: Class 'Legacy_ActionFrame' not found in XOOPS_ROOT_PATH/modules/legacy/admin/index.php とエラーが発生します 該当する.phpファイルではそのクラスを定義しているXOOPS_ROOT_PATH/modules/legacy/class/ActionFrame.class.phpをrequire_onceしているようなので、 このファイルにでたらめな文字列を書き足してSyntax errorを期待したのですが結果は変わりませんでした また、require_onceの下にvar_dump(get_included_files());を書き足しても、このファイルは含まれていませんでした 以上にもかかわらず、require_onceの戻り値は1( != FALSE)でした どうすればこのファイルはrequire_onceで読み込まれるようになるでしょうか? よろしくお願いします
889 名前:nobodyさん mailto:sage [2012/02/23(木) 14:11:01.61 ID:???] >>886 どんな入門書読んだのか知らんが、2と3は明らかにおかしなこと言ってるぞ。 もう一回しっかり読め。 セッションとクッキーは別物だということを頭に置いてな。
890 名前:nobodyさん [2012/02/23(木) 15:06:37.39 ID:pOv6kBFH] smp.tsv あああ\\t2012.01.23\\tききき\\n いいい\\t2012.01.23\\tくくく\\n ううう\\t2012.01.23\\tけけけ\\n えええ\\t2012.01.22\\tこここ\\n おおお\\t2012.01.22\\tさささ\\n かかか\\t2012.01.21\\tししし\\n 今日 = 3 昨日 = 2 一昨日 = 1 このような値を取り出したい場合はどのような手順になるのでしょうか? よろしくおねがいします。
891 名前:886 [2012/02/23(木) 15:11:52.08 ID:AL17q7mx] >>887 889 レスありがとうございます。 3.のコードです。関数化されてます。 これは間違いなのでしょうか? <?php ##### セッションの開始 function session_idset() { session_start(); $_SESSION['auth'] = session_id(); } ##### セッションのチェック function session_check() { session_start(); $rtn = TRUE; if($_SESSION['auth'] != session_id()) { $rtn = FALSE; } return $rtn; } ?>
892 名前:886 [2012/02/23(木) 15:23:33.04 ID:AL17q7mx] 2.のコードです。これもおかしいですか? //セッションの開始 $_SESSION['login_id'] = $_POST['login_id'] ; $_SESSION['auth'] = md5($salt . $_POST['login_id']) ; //セッションの確認 function auth() { global $salt; if (md5($salt . $_SESSION['login_id']) == $_SESSION['auth'] ) { return TRUE; } else { return FALSE; } }
893 名前:nobodyさん mailto:sage [2012/02/23(木) 16:00:34.17 ID:???] 1〜3は比較する情報が違うだけでやってること同じじゃん
894 名前:nobodyさん mailto:sage [2012/02/23(木) 16:26:52.69 ID:???] おかしいというか、扉に同じ鍵で開く鍵穴が2つあるみたいなもん。 やるんであれば、例えば、ランダム文字列を生成してクッキーに保存 その文字列をハッシュかけてセッションに保存 確認のときはクッキーのデータにハッシュかけたものとセッションのデータが一致するか ってやればセッションハイジャックに対して少しは強くなりそう。
895 名前:nobodyさん mailto:sage [2012/02/23(木) 16:36:47.58 ID:???] >>891 本当にその入門書がその通りに書いているなら今すぐ燃やして他の本から学ぶべきだな >>894 効果のないものを初心者に教えるな
896 名前:nobodyさん mailto:sage [2012/02/23(木) 16:40:30.49 ID:???] >>888 requireでは読み込めるってこと?
897 名前:894 mailto:sage [2012/02/23(木) 17:08:07.42 ID:???] >>895 何で効果がないのか教えてくれ
898 名前:nobodyさん mailto:sage [2012/02/23(木) 17:22:52.85 ID:???] >>897 もしかして、セッションファイルを一般ユーザが見られる場所に 保存するシステムを前提に、ローカルユーザからの攻撃対策の話をしてる? それだと、サーバの設定を見直した方がいいような……
899 名前:nobodyさん mailto:sage [2012/02/23(木) 17:29:45.68 ID:???] >>897 sidについて触れない時点でハイジャックには何の効果もないんじゃないの?それ
900 名前:nobodyさん [2012/02/23(木) 17:31:23.55 ID:sgcZLa3B] >>899 セッション固定攻撃に対しては効果があると思うけど。
901 名前:nobodyさん mailto:sage [2012/02/23(木) 17:38:14.99 ID:???] 何で効果があるのか教えてくれ
902 名前:nobodyさん mailto:sage [2012/02/23(木) 17:39:09.99 ID:???] >>890 一行読んで、\tで分けて、二つ目の要素の日付調べて、該当する日のカウント増やす
903 名前:886 [2012/02/23(木) 17:59:29.91 ID:+MEbH08X] 1.のコードです。遅れてすみません。 やはり、このシンプルなコードが妥当なのでしょうか? //$rowにDB取得データ代入済み // ログイン情報を記録 $_SESSION["login"] = array("user_id" => $row["user_id"]," login_time" => time()) // ログインしているかどうか調べる関数 function is_logined() { return isset($_SESSION["login"]); }
904 名前:nobodyさん mailto:sage [2012/02/23(木) 18:09:26.05 ID:???] >>890 fgetcsv array_count_values
905 名前:894 mailto:sage [2012/02/23(木) 18:21:05.98 ID:???] >>898 仮にセッションIDが漏れた場合とか想定してるんだけど。 セッションIDだけじゃなくて、発行時のクライアントのチェックとして有効じゃない? 886の対案として出してるだけだから、ベストの方法とは思わんけど。 >>899 論点がぜんぜん違う
906 名前:nobodyさん [2012/02/23(木) 18:24:58.57 ID:pOv6kBFH] $lines = file($tsv); for($i = 0; $i < count($lines); $i++){ list(,$day,,)=explode("\t",$lines[$i]); $today = date("Y.m.d"); $match_tday = preg_match("/$today/",$day); } 今一歩前へ進めません。次のヒントお願いします。
907 名前:nobodyさん mailto:sage [2012/02/23(木) 18:41:27.89 ID:???] PHPSESSID決め打ちでそれだけが盗まれたら〜ってこと?
908 名前:nobodyさん mailto:sage [2012/02/23(木) 18:42:59.47 ID:???] >>900 session_regenerate_id(true)で済む話だろJK…
909 名前:nobodyさん mailto:sage [2012/02/23(木) 18:49:26.85 ID:???] >>906 $lines = file($tsv); for($i = 0; $i < count($lines); $i++){ list(,$days[],,)=str_getcsv($lines[$i],"\t"); } print_r(array_count_values($days));
910 名前:877 [2012/02/23(木) 20:38:51.67 ID:QQ9YytJp] >>896 試してみました requireに書き換えると、多少崩れたページが表示され、 Fatal errorではなくなりました
911 名前:nobodyさん mailto:sega [2012/02/23(木) 20:40:13.32 ID:???] session_registerって使っちゃまずいらしいけど じゃあ代わりに何を使えばいいの?
912 名前:nobodyさん mailto:sage [2012/02/23(木) 20:54:09.81 ID:???] >>911 非推奨なのを知ってるということは マニュアルを途中まで読んだな? もっと下まで読めば書いてあるだろw
913 名前:nobodyさん mailto:sage [2012/02/23(木) 20:57:03.04 ID:???] 最近は、ID出さなくても答えて貰える様になったのか。 これがゆとりか。
914 名前:nobodyさん mailto:sage [2012/02/23(木) 21:00:17.68 ID:???] 回答しない自治気取り君お疲れ様です。 俺、アンタみたいな人嫌いですw
915 名前:nobodyさん mailto:sage [2012/02/23(木) 21:10:37.40 ID:???] お前が言うな
916 名前:nobodyさん [2012/02/23(木) 21:44:28.17 ID:P+2F5uLF] 正規表現で既に取得しているものは取らない方法はありますか? <?php $data= ABCDABCD; $match='/A|B/'; preg_match_all($match, $data, $matches[0]); print_r($matches[0]); ?> 結果 Array ( [0] => Array ( [0] => A [1] => B [2] => A [3] => B ) ) これを、AとBをそれぞれ一つだけ取得したいです。 1回取得したものと同一のものは取得しない方法はありませんか? preg_matchを2回使うと一応できるのですが、それだと 結果 Array ( [0] => A ) Array ( [0] => B ) このようにそれぞれ別になってしまいます。 何かやり方はないでしょうか?
917 名前:nobodyさん mailto:sage [2012/02/23(木) 22:13:07.95 ID:???] print_r(array_keys(array_flip($matches[0][0]))); print_r(array_unique($matches[0][0]));
918 名前:nobodyさん mailto:sage [2012/02/23(木) 22:28:16.08 ID:???] >>913 主気取り乙。ずっとこんなところにばかりいないで他いくといいとおもう
919 名前:nobodyさん mailto:sage [2012/02/23(木) 22:44:37.14 ID:???] 自己紹介おつ
920 名前:nobodyさん mailto:sage [2012/02/23(木) 22:48:53.56 ID:???] >>866 です。レスありがとうございました。 >>894 さんの「おかしいというか、扉に同じ鍵で開く鍵穴が2つあるみたいなもん」 というご指摘で、2.3.のおかしな点がよく理解できました。 ランダム文字列クッキーを認証に利用する方法は、自分も考えたのですが、 XSSでJSによりクッキーを盗まれる場合には、セッションクッキーとともに そのランダムクッキーも盗まれるので効果が無いと思いました。 また、セッション固定化攻撃には、>>908 さんのいうsession_regenerate_id(true)が 適切だと考えます。それとともに、php.ini、.htaccessでセッション付きリンクを 使用不可にするのがよいのかなと。
921 名前:nobodyさん mailto:sage [2012/02/23(木) 22:51:08.67 ID:???] >>920 スレのルールは守ろうな
922 名前:886 [2012/02/23(木) 23:14:53.15 ID:NC9JkONA] >>921 失礼しました。>>920 は886です。
923 名前:nobodyさん [2012/02/23(木) 23:58:21.36 ID:P+2F5uLF] >>917 ありがとうございます、できました。
924 名前:nobodyさん mailto:sage [2012/02/24(金) 00:05:55.32 ID:???] ルール厨うぜー
925 名前:nobodyさん mailto:sage [2012/02/24(金) 00:12:55.29 ID:???] >>924 スレのルールは守ろうな
926 名前:nobodyさん mailto:sage [2012/02/24(金) 00:25:39.45 ID:???] おまえがいうな
927 名前:nobodyさん mailto:sage [2012/02/24(金) 07:08:08.38 ID:???] 守ってるじゃん
928 名前:nobodyさん mailto:sage [2012/02/24(金) 08:26:18.43 ID:???] >>894 それ意味ないじゃん ハッシュ化したところでクライアントの情報(そのハッシュ化したランダムな文字列)が盗まれれば意味がない あとその処理自体にセッションハイジャックに強くなる要素が見当たらない サーバ側でセッションハイジャックされないような対策を考える場合XSSだけに気をつければいい 結局ハイジャックされるかどうかはクライアント側の行動次第 リンクにセッション情報を含めないほうがいいのはクライアント側の行動次第では漏れる可能性が高いから クライアント側がそれなりの知識を持ってるならリンクにセッション情報を含めても問題ない
929 名前:nobodyさん mailto:sage [2012/02/24(金) 08:36:25.74 ID:???] >>873 自己解決しますた。 telnetじゃムリでした。 <? phpinfo(); ?>がスルーされたのがそもそもの発端だったんだけど、5.3.8と5.2.13ではshort_open_tagが違うんですね。 pukiwikiとかwordpressって律儀に<?php 〜 ?>ってやってるのかな?
930 名前:894 mailto:sage [2012/02/24(金) 09:27:38.22 ID:???] >>928 前半の >>ハッシュ化したところでクライアントの情報(そのハッシュ化したランダムな文字列)が盗まれれば意味がない に関しては同意だけど、セッションIDとクライアントの情報を合わせて 盗まれなければ意味があるじゃん。 セッションIDだけ盗まれるってケースは意外とあると思うぞ。 >>920 の言うようにクッキーまるごと盗まれたらしょうがないけど。 後半は同意できない。
931 名前:nobodyさん mailto:sage [2012/02/24(金) 09:38:18.08 ID:???] 実質的にセッションIDが漏れるってことはクッキーが漏れることと同義だろ どこの実装もほぼ100%クッキーでやってるんだから
932 名前:nobodyさん [2012/02/24(金) 10:29:02.94 ID:BAbDqRA5] eclipse3.7のphpで開発しているのですが、CVSからファイルを持ってきた時に文字化けをしてしまいます。 その為、使用するファイル(Sfit-JIS)を一つずつ選択し、プロパティーから文字化けしないUTF-8に変換しているのですが、 一括ですべてUTF-8にする方法はあるのでしょうか。 使用するフォルダ選択⇒プロパティー⇒リソース⇒テキスト・ファイルのエンコードから修正しても だめでした。
933 名前:nobodyさん mailto:sage [2012/02/24(金) 11:10:06.07 ID:???] >>930 それ同じこと思った。 なんでクッキーとセッションが別腹的な考え方なんだろ。 素人の俺にはわからん。 TLSかけるなりしてクライアントとPCの通信の盗聴防がなきゃ意味ない気が。
934 名前:nobodyさん mailto:sage [2012/02/24(金) 11:18:03.05 ID:???] 最新式の複雑な鍵を使ったとしても、 鍵盗まれたら困るってことの対策にはならんもんね。
935 名前:877 [2012/02/24(金) 12:51:09.28 ID:i01HfJfE] >>877 ,888,910です 解決策ありませんか?
936 名前:nobodyさん mailto:sage [2012/02/24(金) 14:00:59.55 ID:???] >>935 requireで読めたんならそれでいいだろ 2回以上読み込むファイルをrequire_onceで読み込むのがおかしい
937 名前:nobodyさん mailto:sage [2012/02/24(金) 17:03:51.32 ID:???] >>932 >使用するフォルダ選択⇒プロパティー⇒リソース⇒テキスト・ファイルのエンコードから修正しても だめでした。 それエクリプスの設定をUTFにしてるだけだし… PHPでそのPHPファイルをfile_get_contentsで読み込んでエンコード変えて同じファイルに書き出すくらいじゃね?
938 名前:nobodyさん mailto:sage [2012/02/24(金) 18:34:59.75 ID:???] ほ
939 名前:nobodyさん mailto:sage [2012/02/24(金) 20:44:15.85 ID:???] >>929 毎回<?php って書いてるよ。 <?= とか便利かもって思ったこともあったけど、それが便利だと思える場面に遭遇しなくなった
940 名前:nobodyさん mailto:sage [2012/02/24(金) 20:51:14.32 ID:???] コードアシストで解決
941 名前:nobodyさん mailto:sage [2012/02/24(金) 22:22:57.58 ID:???] >>932 nkf使うとか。
942 名前:nobodyさん mailto:sage [2012/02/24(金) 23:20:35.88 ID:???] $file_name="p/1.html"となってる時、 p/の部分だけを取り除いて、 $file_name2="1.html"とすることはphpでは可能ですか?
943 名前:nobodyさん [2012/02/24(金) 23:23:49.74 ID:gMrEIIb2] $file_name="p/1.html"となってる時、 p/の部分だけを取り除いて、 $file_name2="1.html"とすることはphpでは可能ですか? すいません、上げてました。
944 名前:nobodyさん mailto:sage [2012/02/24(金) 23:34:42.08 ID:???] >>943 basename()がある
945 名前:nobodyさん mailto:sage [2012/02/24(金) 23:34:43.65 ID:???] 実際はディレクトリをのぞいてファイル名だけにしたいとかなんだろうけど そんな質問の仕方だと substrで三文字目以降を切り出せとか p/を空文字に置き換えろとかいう答えが返ってくるぞ
946 名前:877 [2012/02/24(金) 23:48:54.24 ID:i01HfJfE] >>936 requireで読むとFatal errorはなくなりますが、ページの表示が正常ではありません 2回以上読まれるかどうかは未検証ですが、 require_onceの前後のどちらでも、get_included_files()に該当するファイルが含まれないのは問題だと思います
947 名前:nobodyさん [2012/02/24(金) 23:51:09.90 ID:kLSGsgF4] phpから現在動いているmtaが何か取得する方法ってありますか? sendmailか否かさえ分かればいいのですが。
948 名前:nobodyさん [2012/02/24(金) 23:54:48.93 ID:gMrEIIb2] >>944 ありがとうございました。 >>945 そうです、ディレクトリ名だけとっぱらいたかったんです。 なんか、適当に作ってたら、mysqlに入れた値が"p/1234.html" となっていたんです。これはこれで表示されないデータなら 扱いやすいのですが、表示されるデータにディレクトリ名って 欲しいのか?という疑問にぶつかりました。basename()って便利な 関数ですね。
949 名前:nobodyさん mailto:sage [2012/02/25(土) 00:21:03.84 ID:???] >>946 requireで読めて、require_onceで読めないファイルがあるってことだよね。 それがわかっているなら後は何が原因なのか、どんどんコードを削っていけばたどり着くと思うんだけど
950 名前:nobodyさん mailto:sage [2012/02/25(土) 00:55:13.78 ID:???] >>947 Linuxなら、exec関数で "ps ax | grep sendmail" を実行して、その出力をチェックする
951 名前:nobodyさん [2012/02/25(土) 01:14:42.48 ID:a/GXX7hd] メールを連続で送信する場合、マニュアルには、 >mail() 関数は、大量のメールをループ内で送信するには 向いていないことに注意しましょう。 >この関数は 1 通のメールを送信するたびに SMTP ソケットをいったん閉じて開きなおします。これは非効率的です。 >大量のメールを送信する場合は、 ≫ PEAR::Mail および ≫ PEAR::Mail_Queue パッケージを参照ください。 と記述してありますが、PEARを使いたくない場合、 ソケット関数で自分でSMTP処理を書くしか無いですよね?
952 名前:nobodyさん mailto:sage [2012/02/25(土) 02:43:21.75 ID:???] 実現できる方法でどうぞ。 「しか無い」ってのはよほどのことが無い限り無いと思ったほうが。
953 名前:nobodyさん mailto:sage [2012/02/25(土) 02:47:59.67 ID:???] PEAR::Mail および PEAR::Mail_Queue で必要な箇所を参考・コピペする。
954 名前:nobodyさん mailto:sage [2012/02/25(土) 18:02:10.27 ID:???] >>912 session_register()使う代わりに $_SESSION に値をぶっこむのね ありがとう!
955 名前:nobodyさん [2012/02/25(土) 18:56:47.63 ID:1lZdYX8R] たとえばですが、 wire.jpというサイトがあります。 内容的には好きなんですが、相当重いサイトです。 こういったPHPで作られたサイトのパフォーマンスを 上げるためにはどうしたらよろしいでしょうか?
956 名前:nobodyさん mailto:sage [2012/02/25(土) 19:08:41.43 ID:???] キャッシュでも作れば?
957 名前:nobodyさん [2012/02/25(土) 19:09:58.04 ID:r6BFdbus] RSSからforeachで値を取得したのですが、それをループの外で一つの変数として扱いたいのですが、どうしたらいいでしょうか? <?php $array=array(1,2,3,4,5,); foreach ($array as $value) { $a=$value; } echo $a; ?> 例えばこのようにすると、当たり前ですが結果はループで上書きされて5と表示されます。 foreachで取得したものを一つの変数に入れることは出来ませんか?
958 名前:nobodyさん mailto:sage [2012/02/25(土) 19:25:22.22 ID:???] >>957 よく分からんけど仮に3つ目の値が取りたいなら echo $array[2];
959 名前:nobodyさん mailto:sage [2012/02/25(土) 19:53:18.83 ID:???] >>957 print_r($array); して表示結果を見てみなはれ その上で$array[x] ←xのところに対応した数字をいれる。 で出てくる。
960 名前:nobodyさん mailto:sage [2012/02/25(土) 20:48:35.56 ID:???] $a=$value;を $a[] = $value;
961 名前:nobodyさん [2012/02/25(土) 21:26:32.82 ID:r6BFdbus] >>960 ありがとうございます。
962 名前:nobodyさん mailto:sage [2012/02/26(日) 00:47:29.55 ID:???] いいってことよ
963 名前:nobodyさん mailto:sage [2012/02/26(日) 00:48:27.77 ID:???] ほい
964 名前:nobodyさん [2012/02/26(日) 00:52:26.79 ID:nCX4lbdW] >>956 キャッシュとはどのようなキャッシュですか?
965 名前:nobodyさん [2012/02/26(日) 01:35:13.43 ID:nCX4lbdW] キャッシュとは言語レベルのサポートですか? wire.jpはWordPressみたいですから WP Super Cacheプラグインみたいなプログラムレベルの キャッシュのことを意味していますか?
966 名前:nobodyさん mailto:sage [2012/02/26(日) 01:42:08.72 ID:???] ( >д<)、;'.・ キャッシュン
967 名前:nobodyさん [2012/02/26(日) 01:47:59.96 ID:nCX4lbdW] >>956 例としてあげてwired.jpはW3 Total Cacheが入っているようです。 それでも遅い場合はどうしたらよろしいのでしょうか?
968 名前:nobodyさん mailto:sage [2012/02/26(日) 01:48:34.31 ID:???] >>966 bless you
969 名前:nobodyさん mailto:sage [2012/02/26(日) 01:53:36.51 ID:???] Thank you!
970 名前:nobodyさん mailto:sage [2012/02/26(日) 01:58:30.12 ID:???] phpでデータベースを扱うには、何かと方法がありますが エクセルのシートで外部参照するみたいに、この列はこっちの データベースから引っ張って、この列はこっちから というように複数のデータベースから情報を引っ張って 統合して表示、または登録変更をするためには、どんな 方法を使うのが最も適しているのでしょうか?
971 名前:nobodyさん mailto:sage [2012/02/26(日) 02:07:02.73 ID:???] >>967 オーバークロックしかないな
972 名前:nobodyさん [2012/02/26(日) 02:16:44.23 ID:oisclph1] 質問させてください。 自動返信メールの内容に値を持たせたいんですが 値の入っていないものは表示させないようにしたいです。 <?php $MESSAGE = " 注文がありました。 商品 個数 [[りんご]] [[1]] [[みかん]] [[0]] [[ぶどう]] [[3]] ";?> 実行すると りんご1個 ーー(みかんの注文が0なので表示されず空白だけできてしまう)ーー ぶどう3個 というメールが来てしまうで、みかんの部分を上に詰めさせたいです。 メールが来る仕組みなどは人がしたものなのでよく分かってません。 よろしくお願いします。
973 名前:nobodyさん mailto:sage [2012/02/26(日) 03:04:07.86 ID:???] >>972 $cart=array("りんご"=>"1","みかん"=>"0","ぶどう"=>"3") $MESSAGE = "注文がありました。\n\n商品 個数\n" foreach($cart as $key => $val){ if ($val>0){ //$valが0以下の時は処理しない $MESSAGE.="[[$key]] [[$val]] \n" } } 備考 POST情報はクライアント側で詐称できるので 値段を表示させる場合はPOSTさせないでDBに取りに行ったほうがいいと思うよ
974 名前:nobodyさん [2012/02/26(日) 03:34:02.05 ID:oyzRHeH9] 俺は自分でも結構オブジェクト指向イケてるんじゃないかと思ってたんだが、 今日クラスを作成していたときにクラス名に悩んで、 候補のものをググってたら、C#の同名のクラスが出てきたんだ。 どんなメソッドがあるのかな?とチラっとみてみたら、 俺がクラスに含める予定だった処理が別クラスで処理されていた。 徹底的に細かくオブジェクトを分けていることに俺はショックを受けて絶望した。 これが本当のオブジェクト指向なのかと。 自信が一気になくなった俺はこれからやっていけるでしょうか?
975 名前:nobodyさん mailto:sage [2012/02/26(日) 04:34:33.44 ID:???] 細かく分けることがオブジェクト指向・・・?
976 名前:sage mailto:sage [2012/02/26(日) 09:48:27.16 ID:???] >>974 そもそも論として phpでオブジェクト指向実装は後付けの中途半端だし、 最適化されていないのでパフォーマンス悪いよ。 それだったらJava、C#みたいな強制的オブジェクト指向言語で 勉強して方がいい。他の言語で役に立つから。
977 名前:sage mailto:sage [2012/02/26(日) 09:49:49.71 ID:???] >>975 PHPerから見ると、 オブジェクト指向言語のクラス設計はすべてが細かく見えるかと。
978 名前:nobodyさん mailto:sage [2012/02/26(日) 10:03:42.64 ID:???] 他の言語って、これからいくつ覚えるつもりだよ 一生勉強ってかw
979 名前:sage mailto:sage [2012/02/26(日) 10:15:37.18 ID:???] >>978 これからもphpオンリー? スマホアプリとか大丈夫? サーバーサイドオンリーの人だとしても、 phpだけだったら守備範囲が狭くならないかい? たとえばfacebookみたいに phpで作りました。 ↓ でもユーザー増えて負荷に耐えられなくなりました。 ↓ 基幹をC++やJavaに切り替えました。 というケースは無いの?
980 名前:nobodyさん mailto:sage [2012/02/26(日) 10:22:20.60 ID:???] >>977 そこが本質じゃないのにね
981 名前:nobodyさん mailto:sage [2012/02/26(日) 10:29:56.54 ID:???] 一生勉強って当たり前だろ
982 名前:nobodyさん mailto:sage [2012/02/26(日) 10:34:22.17 ID:???] いや本質だろ。 継承や再利用を考えると重要。 それより次スレ
983 名前:sage mailto:sage [2012/02/26(日) 10:38:06.83 ID:???] そもそも論として、 細かく設計するとPHPの場合すぐパフォーマンスが悪くなる。 いずれにしてもPHPのオブジェクト指向は中途半端で使いにくい。
984 名前:nobodyさん mailto:sage [2012/02/26(日) 10:39:22.25 ID:???] 例えばチャットクラスで 書き込みを行うwriteというメソッドがあったとする PHPerの場合 ここに渡す引数はString型の$messageである C#erの場合 ここに渡す引数は別クラスで作成したメッセージオブジェクトである
985 名前:nobodyさん [2012/02/26(日) 11:12:49.13 ID:yp5CCX+k] メールアドレスの「@」より前を取得したいんですけど、自分では $tmp = explode('@', $email); $name = $tmp[0]; という書き方しか思い浮かびません。 もっと簡単にできる方法があれば教えて頂きたいです。
986 名前:nobodyさん mailto:sage [2012/02/26(日) 11:18:26.38 ID:???] echo substr($email, 0, strpos($email, "@")); 複数行になるのが簡単ではないと考えてるなら考えを改めるべし
987 名前:nobodyさん mailto:sage [2012/02/26(日) 11:28:57.23 ID:???] 四年前の爺さんの背広からメガビックボーイが出てきたんだが 一生現役ってことを考えると一生勉強くらい普通だと思った。
988 名前:nobodyさん mailto:sage [2012/02/26(日) 11:31:05.44 ID:???] preg_replace("/(?=@).*/","",$mail); とか explodeでいいと思うけどな
989 名前:nobodyさん mailto:sage [2012/02/26(日) 11:34:48.98 ID:???] replaceだと元データのメアド使えなくなるやん
990 名前:sage mailto:sage [2012/02/26(日) 11:35:02.59 ID:???] 勉強したくないなら なぜ潰しが効かない、汎用性が低いphpなのか不思議。 汎用性が高い言語選べばよかったのに。
991 名前:nobodyさん mailto:sage [2012/02/26(日) 11:39:39.13 ID:???] どの言語でもできることとできないことがある 1つの言語習得すれば金輪際勉強せずに済む言語なんて皆無
992 名前:nobodyさん mailto:sage [2012/02/26(日) 11:46:01.70 ID:???] >>980 >>1
993 名前:nobodyさん mailto:sage [2012/02/26(日) 11:49:03.94 ID:???] しょうがないから建ててくるか
994 名前:nobodyさん mailto:sage [2012/02/26(日) 11:52:02.39 ID:???] kohada.2ch.net/test/read.cgi/php/1330224598/
995 名前:nobodyさん [2012/02/26(日) 11:56:49.85 ID:yp5CCX+k] >>986 ありがとうございます。助かりました。 複数行というより、わざわざ配列にするのが気持ち悪くて…。
996 名前:sage mailto:sage [2012/02/26(日) 12:01:13.12 ID:???] >>974 phpのオブジェクト指向はなんちゃってレベルだから。 他の言語ではphpの経験は生かせないよ。
997 名前:nobodyさん mailto:sage [2012/02/26(日) 12:03:36.76 ID:???] そいういうこと書いてるようじゃ 大してオブジェクト指向の考えというのを理解できてないな
998 名前:nobodyさん mailto:sage [2012/02/26(日) 12:08:49.02 ID:???] >>996 >phpのオブジェクト指向 どれだけあほなこと言ってるかわかるか?もっと勉強しろ。
999 名前:sage mailto:sage [2012/02/26(日) 12:24:07.98 ID:???] phpのオブジェクト指向機能の実装
1000 名前:sage mailto:sage [2012/02/26(日) 12:25:05.67 ID:???] PHPer、ダメポ。
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。