トップページphp
1001コメント337KB

【PHP】下らねぇ質問はID出して書き込みやがれ 105

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2011/03/17(木) 04:00:34.11ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 104
http://hibari.2ch.net/test/read.cgi/php/1297669559/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0002nobodyさん2011/03/17(木) 04:01:15.18ID:???
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
【PHP】下らねぇ質問はID出して書き込みやがれ 102
http://hibari.2ch.net/test/read.cgi/php/1292670453/
【PHP】下らねぇ質問はID出して書き込みやがれ 101
http://hibari.2ch.net/test/read.cgi/php/1289793607/
【PHP】下らねぇ質問はID出して書き込みやがれ 100
http://hibari.2ch.net/test/read.cgi/php/1288168893/
【PHP】下らねぇ質問はID出して書き込みやがれ 99
http://hibari.2ch.net/test/read.cgi/php/1286938893/
【PHP】下らねぇ質問はID出して書き込みやがれ 98
http://hibari.2ch.net/test/read.cgi/php/1284805237/
【PHP】下らねぇ質問はID出して書き込みやがれ 97
http://hibari.2ch.net/test/read.cgi/php/1279833891/
【PHP】下らねぇ質問はID出して書き込みやがれ 96
http://pc11.2ch.net/test/read.cgi/php/1275032024/
【PHP】下らねぇ質問はID出して書き込みやがれ 95
http://pc11.2ch.net/test/read.cgi/php/1271636105/
【PHP】下らねぇ質問はID出して書き込みやがれ 94
http://pc11.2ch.net/test/read.cgi/php/1268835461/
【PHP】下らねぇ質問はID出して書き込みやがれ 93
http://pc11.2ch.net/test/read.cgi/php/1266229386/
0003nobodyさん2011/03/17(木) 04:01:56.51ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/
■Smartyマニュアル  http://www.smarty.net/manual/ja/

(以下英語)
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smarty       http://www.smarty.net
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004nobodyさん2011/03/17(木) 04:02:37.94ID:???
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0005nobodyさん2011/03/17(木) 04:03:18.63ID:???
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
 →19.を参照
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0006nobodyさん2011/03/17(木) 04:29:05.12ID:???
23.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
24. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
25. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
26. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
27. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
28. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
29.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
30. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
31.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0007nobodyさん2011/03/17(木) 04:29:41.24ID:???
32. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
33. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
34. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
35. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
36. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
37. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
38. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
39. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
40. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
41. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
42. PHPからPOSTリクエストしたい
 →19.を参照
43. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
44. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0008nobodyさん2011/03/17(木) 04:30:22.60ID:???
45.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
46. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
47. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
48. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
49. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
50. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
51.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
52. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
53.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0009nobodyさん2011/03/17(木) 04:31:03.38ID:???
54. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
55. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
56. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
57. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
58. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
59. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
60. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
61. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
62. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
63. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
64. PHPからPOSTリクエストしたい
 →19.を参照
65. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
66. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0010nobodyさん2011/03/17(木) 04:31:45.37ID:???
67.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
68. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
69. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
70. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
71. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
72. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
73.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
74. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
75.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0011nobodyさん2011/03/17(木) 04:32:23.43ID:???
76. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
77. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
78. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
79. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
80. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
81. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
82. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
83. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
84. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
85. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
86. PHPからPOSTリクエストしたい
 →19.を参照
87. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
88. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
0012nobodyさん2011/03/17(木) 04:33:09.12ID:???
89.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
90. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
91. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
92. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
93. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
94. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
95.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
96. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
97.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
98. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
99. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
100. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
0013nobodyさん2011/03/17(木) 04:39:38.65ID:???
迷惑行為で通報しよう
0014nobodyさん2011/03/17(木) 04:41:38.55ID:???
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
【PHP】下らねぇ質問はID出して書き込みやがれ 102
http://hibari.2ch.net/test/read.cgi/php/1292670453/
【PHP】下らねぇ質問はID出して書き込みやがれ 101
http://hibari.2ch.net/test/read.cgi/php/1289793607/
【PHP】下らねぇ質問はID出して書き込みやがれ 100
http://hibari.2ch.net/test/read.cgi/php/1288168893/
【PHP】下らねぇ質問はID出して書き込みやがれ 99
http://hibari.2ch.net/test/read.cgi/php/1286938893/
【PHP】下らねぇ質問はID出して書き込みやがれ 98
http://hibari.2ch.net/test/read.cgi/php/1284805237/
【PHP】下らねぇ質問はID出して書き込みやがれ 97
http://hibari.2ch.net/test/read.cgi/php/1279833891/
【PHP】下らねぇ質問はID出して書き込みやがれ 96
http://pc11.2ch.net/test/read.cgi/php/1275032024/
【PHP】下らねぇ質問はID出して書き込みやがれ 95
http://pc11.2ch.net/test/read.cgi/php/1271636105/
【PHP】下らねぇ質問はID出して書き込みやがれ 94
http://pc11.2ch.net/test/read.cgi/php/1268835461/
【PHP】下らねぇ質問はID出して書き込みやがれ 93
http://pc11.2ch.net/test/read.cgi/php/1266229386/
【PHP】下らねぇ質問はID出して書き込みやがれ 92
http://pc11.2ch.net/test/read.cgi/php/1263035502/
【PHP】下らねぇ質問はID出して書き込みやがれ 91
http://pc11.2ch.net/test/read.cgi/php/1260247989/
0015nobodyさん2011/03/17(木) 07:18:44.93ID:o69Kcvl0
このスレは荒らしが立てました。もしこのまま使用するなら>>1 の以下の部分を
読み替えて使用しましょう。

◆質問する時の注意
× ・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
○ ・ スレを上げて自分の質問を目立たせることもできます。(メール欄に何も記述しない。専ブラのsageチェックを外す)
○ ・ 回答者は、回答に関して荒らしが矛盾する書込をする事を見分け易くする為に自分のIDを表示させる事も有効です。(メール欄に何も記述しない。専ブラのsageチェックを外す)
0016nobodyさん2011/03/17(木) 07:27:28.69ID:???
>>15
http://hibari.2ch.net/test/read.cgi/php/1289117484/
こっちへどうぞ

もうこのスレにはこないでね
0017nobodyさん2011/03/17(木) 11:28:31.80ID:???
【PHP】下らねぇ質問はID出して書き込みやがれ 90
http://pc11.2ch.net/test/read.cgi/php/1258187482/
【PHP】下らねぇ質問はID出して書き込みやがれ 89
http://pc11.2ch.net/test/read.cgi/php/1255263534/
【PHP】下らねぇ質問はID出して書き込みやがれ 88
http://pc11.2ch.net/test/read.cgi/php/1253061577/
【PHP】下らねぇ質問はID出して書き込みやがれ 87
http://pc11.2ch.net/test/read.cgi/php/1251447028/
【PHP】下らねぇ質問はID出して書き込みやがれ 86
http://pc11.2ch.net/test/read.cgi/php/1249042741/
【PHP】下らねぇ質問はID出して書き込みやがれ 85
http://pc11.2ch.net/test/read.cgi/php/1245074032/
【PHP】下らねぇ質問はID出して書き込みやがれ 84
http://pc11.2ch.net/test/read.cgi/php/1240835951/
【PHP】下らねぇ質問はID出して書き込みやがれ 83
http://pc11.2ch.net/test/read.cgi/php/1238958898/
【PHP】下らねぇ質問はID出して書き込みやがれ 82
http://pc11.2ch.net/test/read.cgi/php/1236532468/
【PHP】下らねぇ質問はID出して書き込みやがれ 81
http://pc11.2ch.net/test/read.cgi/php/1234958956/
【PHP】下らねぇ質問はID出して書き込みやがれ 80
http://pc11.2ch.net/test/read.cgi/php/1233479457/
【PHP】下らねぇ質問はID出して書き込みやがれ 79
http://pc11.2ch.net/test/read.cgi/php/1231850905/
【PHP】下らねぇ質問はID出して書き込みやがれ 78
http://pc11.2ch.net/test/read.cgi/php/1230026935/
【PHP】下らねぇ質問はID出して書き込みやがれ 77
http://pc11.2ch.net/test/read.cgi/php/1228667259/
【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/
0018nobodyさん2011/03/17(木) 11:29:12.71ID:???
【PHP】下らねぇ質問はID出して書き込みやがれ 75
http://pc11.2ch.net/test/read.cgi/php/1224168721/
【PHP】下らねぇ質問はID出して書き込みやがれ 74
http://pc11.2ch.net/test/read.cgi/php/1221909788/
【PHP】下らねぇ質問はここに書き込みやがれ 73
http://pc11.2ch.net/test/read.cgi/php/1220440493/
【PHP】下らねぇ質問はここに書き込みやがれ 72
http://pc11.2ch.net/test/read.cgi/php/1218855685/
【PHP】下らねぇ質問はここに書き込みやがれ 71
http://pc11.2ch.net/test/read.cgi/php/1216291372/
【PHP】下らねぇ質問はここに書き込みやがれ 70
http://pc11.2ch.net/test/read.cgi/php/1214356448/
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
【PHP】下らねぇ質問はここに書き込みやがれ 64
http://pc11.2ch.net/test/read.cgi/php/1202536271/
【PHP】下らねぇ質問はここに書き込みやがれ 61 (※実質63)
http://pc11.2ch.net/test/read.cgi/php/1201425479/
【PHP】下らねぇ質問はここに書き込みやがれ 62
http://pc11.2ch.net/test/read.cgi/php/1199956159/
【PHP】下らねぇ質問はここに書き込みやがれ 61
http://pc11.2ch.net/test/read.cgi/php/1198002831/
0019nobodyさん2011/03/17(木) 11:29:53.61ID:???
【PHP】下らねぇ質問はここに書き込みやがれ 60
http://pc11.2ch.net/test/read.cgi/php/1196511516/
【PHP】下らねぇ質問はここに書き込みやがれ 59
http://pc11.2ch.net/test/read.cgi/php/1195204145/
【PHP】下らねぇ質問はここに書き込みやがれ 58
http://pc11.2ch.net/test/read.cgi/php/1194084457/
【PHP】下らねぇ質問はここに書き込みやがれ 57
http://pc11.2ch.net/test/read.cgi/php/1193062236/
【PHP】下らねぇ質問はここに書き込みやがれ 56
http://pc11.2ch.net/test/read.cgi/php/1192092941/
【PHP】下らねぇ質問はここに書き込みやがれ 55
http://pc11.2ch.net/test/read.cgi/php/1191058556/
【PHP】下らねぇ質問はここに書き込みやがれ 54
http://pc11.2ch.net/test/read.cgi/php/1189309377/
【PHP】下らねぇ質問はここに書き込みやがれ 53
http://pc11.2ch.net/test/read.cgi/php/1188047468/
【PHP】下らねぇ質問はここに書き込みやがれ 52
http://pc11.2ch.net/test/read.cgi/php/1186794483/
【PHP】下らねぇ質問はここに書き込みやがれ 51
http://pc11.2ch.net/test/read.cgi/php/1185521566/
【PHP】下らねぇ質問はここに書き込みやがれ 50
http://pc11.2ch.net/test/read.cgi/php/1184143801/
【PHP】下らねぇ質問はここに書き込みやがれ 49
http://pc11.2ch.net/test/read.cgi/php/1182794620/
【PHP】下らねぇ質問はここに書き込みやがれ 45 (※実質48)
http://pc11.2ch.net/test/read.cgi/php/1180181033/
【PHP】下らねぇ質問はここに書き込みやがれ 47
http://pc11.2ch.net/test/read.cgi/php/1180181033/
【PHP】下らねぇ質問はここに書き込みやがれ 46
http://pc11.2ch.net/test/read.cgi/php/1178955837/
0020nobodyさん2011/03/17(木) 11:31:19.78ID:???
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1178955768/
【PHP】下らねぇ質問はここに書き込みやがれ 45
http://pc11.2ch.net/test/read.cgi/php/1177635762/
【PHP】下らねぇ質問はここに書き込みやがれ 44
http://pc11.2ch.net/test/read.cgi/php/1176364487/
【PHP】下らねぇ質問はここに書き込みやがれ 43
http://pc11.2ch.net/test/read.cgi/php/1175368910/
【PHP】下らねぇ質問はここに書き込みやがれ 42
http://pc11.2ch.net/test/read.cgi/php/1174217841/
【PHP】下らねぇ質問はここに書き込みやがれ 41
http://pc11.2ch.net/test/read.cgi/php/1173163186/
【PHP】下らねぇ質問はここに書き込みやがれ 40
http://pc11.2ch.net/test/read.cgi/php/1172151461/
【PHP】下らねぇ質問はここに書き込みやがれ 39
http://pc10.2ch.net/test/read.cgi/php/1171280039/
【PHP】下らねぇ質問はここに書き込みやがれ 38
http://pc10.2ch.net/test/read.cgi/php/1170520777/
【PHP】下らねぇ質問はここに書き込みやがれ 37
http://pc10.2ch.net/test/read.cgi/php/1169644229/
【PHP】下らねぇ質問はここに書き込みやがれ 36
http://pc10.2ch.net/test/read.cgi/php/1168395610/
【PHP】下らねぇ質問はここに書き込みやがれ 35
http://pc10.2ch.net/test/read.cgi/php/1166676139/
【PHP】下らねぇ質問はここに書き込みやがれ 34
http://pc8.2ch.net/test/read.cgi/php/1165519374/
【PHP】下らねぇ質問はここに書き込みやがれ 33
http://pc8.2ch.net/test/read.cgi/php/1164209222/
【PHP】下らねぇ質問はここに書き込みやがれ 32
http://pc8.2ch.net/test/read.cgi/php/1162818436/
【PHP】下らねぇ質問はここに書き込みやがれ 31
http://pc8.2ch.net/test/read.cgi/php/1161733546/
0021nobodyさん2011/03/17(木) 11:32:00.84ID:???
【PHP】下らねぇ質問はここに書き込みやがれ 30
http://pc8.2ch.net/test/read.cgi/php/1159979905/
【PHP】下らねぇ質問はここに書き込みやがれ 29
http://pc8.2ch.net/test/read.cgi/php/1158434799/
【PHP】下らねぇ質問はここに書き込みやがれ 28
http://pc8.2ch.net/test/read.cgi/php/1157284868/
【PHP】下らねぇ質問はここに書き込みやがれ 27
http://pc8.2ch.net/test/read.cgi/php/1156262092/
【PHP】下らねぇ質問はここに書き込みやがれ 26
http://pc8.2ch.net/test/read.cgi/php/1154923910/
【PHP】下らねぇ質問はここに書き込みやがれ 25
http://pc8.2ch.net/test/read.cgi/php/1153652403/
【PHP】下らねぇ質問はここに書き込みやがれ 24
http://pc8.2ch.net/test/read.cgi/php/1152251693/
【PHP】下らねぇ質問はここに書き込みやがれ 23
http://pc8.2ch.net/test/read.cgi/php/1150995543/
【PHP】下らねぇ質問はここに書き込みやがれ 22
http://pc8.2ch.net/test/read.cgi/php/1149710968/
【PHP】下らねぇ質問はここに書き込みやがれpart21
http://pc8.2ch.net/test/read.cgi/php/1148389517/
【PHP】下らねぇ質問はここに書き込みやがれpart20
http://pc8.2ch.net/test/read.cgi/php/1146165153/
【PHP】下らねぇ質問はここに書き込みやがれ Part19
http://pc8.2ch.net/test/read.cgi/php/1144513878/
【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/
【PHP】下らねぇ質問はここに書き込みやがれpart17
http://pc8.2ch.net/test/read.cgi/php/1140786348/
【PHP】下らねぇ質問はここに書き込みやがれpart16
http://pc8.2ch.net/test/read.cgi/php/1139146534/
0022nobodyさん2011/03/17(木) 11:32:44.48ID:???
【PHP】下らねぇ質問はここに書き込みやがれpart15
http://pc8.2ch.net/test/read.cgi/php/1137236771/
【PHP】下らねぇ質問はここに書き込みやがれpart14
http://pc8.2ch.net/test/read.cgi/php/1134868212/
【PHP】下らねぇ質問はここに書き込みやがれpart13
http://pc8.2ch.net/test/read.cgi/php/1132921016/
【PHP】下らねぇ質問はここに書き込みやがれpart12
http://pc8.2ch.net/test/read.cgi/php/1130835396/
【PHP】下らねぇ質問はここに書き込みやがれpart11
http://pc8.2ch.net/test/read.cgi/php/1129582431/
【PHP】下らねぇ質問はここに書き込みやがれpart10
http://pc8.2ch.net/test/read.cgi/php/1127581425/
【PHP】くだらねぇ質問はここに書き込みやがれpart9
http://pc8.2ch.net/test/read.cgi/php/1125716012/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
0023nobodyさん2011/03/17(木) 11:34:06.62ID:???
【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/
【PHP】質問スレッドpart32【php】
http://pc8.2ch.net/test/read.cgi/php/1136276300/
【PHP】質問スレッドpart31【php】
http://pc8.2ch.net/test/read.cgi/php/1133017632/
【PHP】質問スレッドpart30【php】
http://pc8.2ch.net/test/read.cgi/php/1130190606/
【php】part29【php】
http://pc8.2ch.net/test/read.cgi/php/1120611474/
【PHP】質問スレッドpart28【php】
http://pc8.2ch.net/test/read.cgi/php/1115281031/
【PHP】質問スレッドpart27【php】
http://pc8.2ch.net/test/read.cgi/php/1109857283/
【PHP】質問スレッドpart26【php】
http://pc5.2ch.net/test/read.cgi/php/1103636095/
【PHP】質問スレッドpart25【php】
http://pc5.2ch.net/test/read.cgi/php/1101111942/
【PHP】質問スレッドpart24【php】
http://pc5.2ch.net/test/read.cgi/php/1099249755/
【PHP】質問スレッドpart23【php】
http://pc5.2ch.net/test/read.cgi/php/1096965398/
0024nobodyさん2011/03/17(木) 11:34:50.89ID:???
【PHP】質問スレッドpart22【php】
http://pc5.2ch.net/test/read.cgi/php/1095326257/
【PHP】質問スレッドpart21【php】
http://pc5.2ch.net/test/read.cgi/php/1093597222/
【PHP】質問スレッドpart20【php】
http://pc5.2ch.net/test/read.cgi/php/1091774679/
【PHP】質問スレッドpart19【php】
http://pc5.2ch.net/test/read.cgi/php/1089929550/
【PHP】質問スレッドpart18【php】
http://pc5.2ch.net/test/read.cgi/php/1087191395/
【PHP】質問スレッドpart17【php】
http://pc5.2ch.net/test/read.cgi/php/1084781699/
【PHP】質問スレッドpart16【php】
http://pc5.2ch.net/test/read.cgi/php/1081267619/
【PHP】質問スレッド Part15
http://pc5.2ch.net/test/read.cgi/php/1078592587/
【PHP】質問スレッド Part14
http://pc5.2ch.net/test/read.cgi/php/1076163015/
【PHP】質問スレッド Part13
http://pc5.2ch.net/test/read.cgi/php/1073291978/
【PHP】質問スレッド Part12
http://pc5.2ch.net/test/read.cgi/php/1070639208/
0025nobodyさん2011/03/17(木) 12:22:39.86ID:???
【PHP】質問スレッド Part11
http://pc5.2ch.net/test/read.cgi/php/1067635640/
【PHP】質問スレッド Part10
http://pc5.2ch.net/test/read.cgi/php/1064104114/
【PHP】質問スレッド Part9
http://pc5.2ch.net/test/read.cgi/php/1280978480/
【PHP】質問スレッド Part8
http://pc5.2ch.net/test/read.cgi/php/1050249148/
【PHP】質問スレッド Part
http://pc5.2ch.net/test/read.cgi/php/1044478561/
【PHP】質問スレッド Part6
http://pc5.2ch.net/test/read.cgi/php/1038988518/
【PHP】質問スレッド Part5
http://pc5.2ch.net/test/read.cgi/php/1031721334/
【PHP】質問スレッド Part4
http://pc5.2ch.net/test/read.cgi/php/1022999539/
【PHP】質問スレッド Part3
http://pc5.2ch.net/test/read.cgi/php/1013919792/
【PHP】質問スレッド Part2
http://pc5.2ch.net/test/read.cgi/php/1003283567/
【PHP】質問スレッド Part1
http://pc5.2ch.net/test/read.cgi/php/982687820/
0026nobodyさん2011/03/17(木) 21:10:54.20ID:NHA0B4eU
echo "ループ開始";
$i=0;
while($i<100000) $i++;
echo "ループ終了"

これをコマンドラインから実行するとループ開始前に文字列を出力して、ループ終了したらまた文字列が出力されます。
実行するとcpu100%になりますが、cpu100%を抑える方法はありますでしょうか?
0027nobodyさん2011/03/17(木) 21:19:49.99ID:???
>>26
sleep(10);
0028nobodyさん2011/03/17(木) 21:28:33.16ID:???
>>26
while($i<1) $i++;
0029nobodyさん2011/03/17(木) 22:45:46.04ID:NHA0B4eU
>>27
やっぱりsleepしかありませんよね
ありがとうございます
0030nobodyさん2011/03/18(金) 01:29:16.05ID:???
>>28
やっぱりwhile($i<1)しかありませんよね
ありがとうございます
0031nobodyさん2011/03/18(金) 02:33:58.37ID:4tKm4uiv
TCPDFの解説サイトでお世話になっていたサイトがあったのですが、地震からつながりません。
www.monzen.orgというサイトなのですが、移動先とかミラーとか丸ごと保存してあるデータとかありませんか?
0032nobodyさん2011/03/18(金) 07:09:01.11ID:???
スレ違いかもしれませんが、
レンタルサーバーでよくある?
少なくともエックスサーバーにある機能なのですが、
php.iniをディレクトリに配置すると、
それが適用されます。
serversman@vpsを借りたので、
apacheのvirtualhostで同じようなことを実現したく、
調べてみましたが、実現方法がわかりませんでした。。
独自のモジュールなど使っているのでしょうか。
アドバイスを頂けると助かります。よろしくお願いいたします。
0033nobodyさん2011/03/18(金) 07:17:40.30ID:???
度々すみません。
php5.3だと.user.iniファイルで実現できると知りました。
php5.2で実現したいです。
引き続き自身でも調査検証いたします。
0034nobodyさん2011/03/18(金) 07:20:29.50ID:???
>>1
0035nobodyさん2011/03/18(金) 11:48:20.19ID:wRIfjxmY
特定の処理でNoticeが出たか出てないかをを変数に格納する方法ってありますか?
0036nobodyさん2011/03/18(金) 12:25:46.19ID:UYpkmgES
マニュアルの関数一覧の所に載ってない関数があるのは何故ですか?
関数一覧って全てを掲載しているわけじゃないってことでしょうか?
0037nobodyさん2011/03/18(金) 12:31:27.48ID:???
具体的に書けない理由がわからん
0038nobodyさん2011/03/18(金) 14:06:17.04ID:???
>>35
error_get_last();
0039nobodyさん2011/03/18(金) 14:13:08.59ID:???
PHP 5.3.6されてますね
0040nobodyさん2011/03/18(金) 14:26:06.33ID:Hc0y2Tc8
WindowsでApache2.2使ってます
PHP5.3.6からVC9しか提供されなくなったのでWinで使う方法を教えてください
VC9でビルドされたApache2.2があればいいのですが見つかりませんでした
0041nobodyさん2011/03/18(金) 14:35:32.86ID:???
なに言ってんだ?
0042nobodyさん2011/03/18(金) 14:38:48.09ID:???
VC6とVC9の違いも知らないクズ回答者
0043nobodyさん2011/03/18(金) 14:40:39.96ID:???
で?
0044nobodyさん2011/03/18(金) 14:44:05.92ID:???
バカは黙ってろ
0045nobodyさん2011/03/18(金) 14:52:56.33ID:???
ほらほら、もっと真っ赤になってよ、コンパイラも使えないんでしょ
0046◆oDupeixhZv52 2011/03/18(金) 15:37:50.64ID:???
http://www.apachelounge.com/download/
0047nobodyさん2011/03/18(金) 18:08:29.07ID:fDTTNbpj
123
-123
1123.45
-123.45
などのように
整数、もしくは小数を含む数値で
正も、負もありうるような値が来るときに
それが数値であると判断するときに
正規表現を使う場合、
どの様に記述すれば良いのでしょうか

$hoge= '-12.abc34'
preg_match('/[^-]?\d+(\.\d+)?$/',$hoge);
としてもtrueとなってしまいました。

識者の方、よろしくお願い致します。
0048nobodyさん2011/03/18(金) 18:10:50.52ID:???
is_numeric
0049nobodyさん2011/03/18(金) 18:18:51.02ID:???
>>47
正規表現の初歩の部分は勉強されてますか?
0050nobodyさん2011/03/18(金) 18:19:54.63ID:???
$hoge= '-12.aaa34';
var_dump(preg_match('/^-?\d+(\.\d+)?$/',$hoge));
0051nobodyさん2011/03/18(金) 18:20:34.37ID:???
$hoge= '-12.aaa34';
var_dump(preg_match('/^-?\d+?(\.\d+)?$/',$hoge));
0052nobodyさん2011/03/18(金) 18:21:09.97ID:???
+が通らないじゃんw
0053nobodyさん2011/03/18(金) 18:31:45.22ID:???
>>47=>>52?
0054nobodyさん2011/03/18(金) 18:38:45.70ID:???
涙目乙w
0055472011/03/18(金) 18:54:34.98ID:fDTTNbpj
>>48
ありがとうございます。
参考にさせていただきます。

>>49
それを言われると自信がありません。
いつも必要に応じてググっています。
どこか参考になるサイトがあれば教えて頂けないでしょうか。

>>.50-52
ありがとうございます。
参考にさせていただきます。
0056nobodyさん2011/03/18(金) 19:31:51.98ID:1kOsEpMZ
           YES → 【ヒットした?】 ─ YES → なら聞くなよイキロ
         /                \  
【検索した?】                     NO → なら、ねぇよ死ね
         \                   
            NO → 死ね
0057nobodyさん2011/03/18(金) 19:41:35.36ID:???
+なんて質問に書いて無いじゃん
0058nobodyさん2011/03/18(金) 19:43:15.08ID:???
しつこっ
0059◆oDupeixhZv52 2011/03/18(金) 19:49:33.94ID:???
-12.abc34で
[^-]?\d+(\.\d+)?$ だと c34がマッチ。
^先頭にあれば良かっただけだね。
0060nobodyさん2011/03/18(金) 20:01:15.66ID:DcBm6Zyj
[+-]?(?:0|[1-9]\d*)
0061nobodyさん2011/03/18(金) 20:23:09.65ID:???
>>60
^と$が足りない
0062nobodyさん2011/03/19(土) 11:13:56.47ID:ML1lAEO2
【OS名】CentOS 5.5
【PHPのバージョン】5.2
【連携ソフトウェア】MySQL
【質問内容】
PHPでサーバーのポートが開いてるかどうかを確認したいのですが可能でしょうか?
可能な場合にどういった関数を使えばいいのか教えていただけないでしょうか。
0063nobodyさん2011/03/19(土) 13:02:39.63ID:gZevY3cx
××分後にメールを送信するPHPプログラムを教えて頂けないでしょうか?
もし、可能ならformと連動されたいと考えています。



<?

mail (メアド,件名,本文);

?>
0064nobodyさん2011/03/19(土) 13:06:48.95ID:ML1lAEO2
fsockで解決しました

>>63
sleep使うかcron
0065nobodyさん2011/03/19(土) 14:47:34.35ID:???
ポートスキャンとか不気味なので他所様にやる予定ならやめてください
0066nobodyさん2011/03/19(土) 15:29:12.88ID:???
>>62

> サーバーのポートが開いてるかどうかを確認したいのですが

「サーバーのポートが開いている」とは、どの様な状態を述べていますか?
0067nobodyさん2011/03/19(土) 17:32:03.26ID:ML1lAEO2
>>65
自分とこなので他人様にはしないですよ

>>66
ackが帰ってくる状態です
0068nobodyさん2011/03/19(土) 23:35:32.37ID:g30gbwpG
パーフェクトphpの6章のサンプルがうまく動きません 名前欄とコメント(mySQL使用)環境はzampp 1.7.2)です
var_dumpで確認したら、フォームに名前欄のみ入力してみたらバリデーションと入力不備用の変数$errorsにエラーが格納されるはずが何も入力されず
どういうことが考えられるかこれだけでわかりますか?

無視して進んじゃっていいんでしょうか
正誤表もないしソースを6章のはダウンロードできない(提供してない)ので困ってます
0069nobodyさん2011/03/19(土) 23:40:04.65ID:hauq32hx
そんなもん持ってねーよ
0070nobodyさん2011/03/19(土) 23:41:01.20ID:???
ここではサポート業務は負いかねます
0071nobodyさん2011/03/20(日) 00:15:04.30ID:fsL3dPzn
すみません技評のサポートページに行きます
新しい本だから持ってる人少ないのかな
0072nobodyさん2011/03/20(日) 00:46:52.59ID:4Ut5eVAZ
PHPが使える無料のサーバーってありませんか?
0073nobodyさん2011/03/20(日) 00:52:46.66ID:???
自宅サーバー
0074nobodyさん2011/03/20(日) 00:58:28.30ID:???
たくさんあります
0075nobodyさん2011/03/20(日) 02:49:13.50ID:???
ぎょうさんありまんがな
0076nobodyさん2011/03/20(日) 11:24:36.54ID:QRqyYTuN
本を見ながらphp5とsqliteについて勉強中です。DBの接続エラーについて教えてください。
>> Fatal error: Call to undefined method DB_Error::query() in C:\www\foo.php on line 11
というエラーが出ます。
----- foo.php -----
07 $db = DB::connect(DSN, false) or die('db connection failed.');
08 if (DB::isError($db)) {
09 echo "DB接続エラー:" . DB::errorMessage($db);
10 }
11 $result = $db->query('SELECT * from product') or die('Query faild.');←ここでエラー
-------------------
9行目のエラーメッセージは
>> DB接続エラー:no database selected
です。
DB::connectのDSNは
>> sqlite://dummy:@localhost//tmp/foo.db?mode=0644
です。
フォルダの構成に問題があるのでしょうか?
c:\php5←php本体を置いている場所
c:\www←foo.phpを置いている場所
c:\tmp\←foo.dbを置いている場所
0077nobodyさん2011/03/20(日) 11:39:12.10ID:???
Pear::DBか?ずいぶん古いもん使ってんな
今はPearならMDB2
一般的にはPDOを使うもんなんだぜ?
悪いことは言わない
その本を窓から捨ててPDOでの接続方法をお勉強しましょう
0078nobodyさん2011/03/20(日) 11:41:57.16ID:QRqyYTuN
>>77
基礎もまだできてないので(^^;
php5のマンモス本のエキスパートです。
一応終わらせてから先に行きたいので・・・。
0079nobodyさん2011/03/20(日) 11:51:14.56ID:QRqyYTuN
できました!自己解決・・・(>_<)
sqlite3でやってたのが原因だったようです。
sqlite2に変えたらすぐできました!
参考にしたURL: http://www.phpbook.jp/pear/pear_db/index6.html
いろんなバグがあるみたいですね・・・。
0080nobodyさん2011/03/20(日) 12:21:59.77ID:q0k2qzSg
PDOって何ですか?
こんな質問駄目でしょうか
初心しゃです。
0081nobodyさん2011/03/20(日) 12:54:00.20ID:???
PHP Data Object
PHPでデータベースを操作するAPI
0082nobodyさん2011/03/20(日) 16:07:40.38ID:FsqggCdG
指定したフォルダ内のファイルをランダムで
requireするプログラムを教えて頂けませんか、先輩方お願いします。
0083nobodyさん2011/03/20(日) 16:10:24.47ID:idrOIQeC
>>82
ちょっとくらい自分で考えろ
丸投げすんな
0084nobodyさん2011/03/20(日) 16:10:58.44ID:FsqggCdG
指定したフォルダ内のファイルをランダムで
requireするプログラムを教えて頂けませんか?

mt_randとswitch〜caseを駆使してやっていましたが
数が増えすぎて、流石にシンドくなってきました。
先輩方お願いします。
0085nobodyさん2011/03/20(日) 16:12:33.93ID:FsqggCdG
>>83
すみません、自分で>>82を書いた後、罪悪感があったので
>>84で書きなおしました。
仰るとおりです、すみません。
0086nobodyさん2011/03/20(日) 16:14:23.32ID:idrOIQeC
>>85
特定のディレクトリの中全部見ればいいんじゃね?
http://www.google.co.jp/search?hl=ja&source=hp&biw=1105&bih=438&q=php+%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA+%E4%B8%80%E8%A6%A7&aq=6r&aqi=g-r10&aql=&oq=PHP+%E3%81%A7%E3%81%83%E3%82%8C
0087nobodyさん2011/03/20(日) 17:34:42.95ID:???
>>84
ヒント
A.scandir()
B.in_array()
C.array_rand()
0088nobodyさん2011/03/20(日) 17:41:33.50ID:???
>>87
ヒント:glob
0089nobodyさん2011/03/20(日) 17:48:23.83ID:???
globってreturn arrayなのか
しらんかったわ
0090nobodyさん2011/03/20(日) 17:52:38.10ID:???
ありがとうございますは?
0091nobodyさん2011/03/20(日) 17:54:07.40ID:???
>>89
arrayじゃなかったら何だと思ってたんだ・・・?
0092nobodyさん2011/03/20(日) 17:54:33.57ID:???
ありがとうございます
0093842011/03/20(日) 18:16:07.02ID:FsqggCdG
>>86-88さまへ
アドバイスありがとうございます。
フォルダ内のファイルを一覧で表示する方法が理解できました。

<?
foreach (glob("*.dat") as $filename) {
echo "$filename" . "<br>";}
?>

しかしながら、そのファイル一覧からランダムで1つだけ
表示される方法に苦心しております。
0094nobodyさん2011/03/20(日) 18:34:01.14ID:idrOIQeC
>>93
だからその苦心の結果を書けつってんだよカス
完全に丸投げかよ
自分で試したことしてみろ
0095nobodyさん2011/03/20(日) 18:37:06.37ID:???
くそわろた
0096nobodyさん2011/03/20(日) 18:39:51.25ID:???
ランダムで1つrequireとかそもそもプログラム的にどうなのよって感じ
たぶん広告がいくつかあって
それをechoしてるだけのファイルをランダムでrequireみたいな感じなんだろうけど
0097nobodyさん2011/03/20(日) 18:40:50.05ID:???
>>93
そこまでできてて・・・
手元に参考書の一冊でもないのか?
ないならないで、ググレば分かるレベルだよ('A`)
0098nobodyさん2011/03/20(日) 19:29:34.55ID:???
SMプレイみたいなQ&Aだなww
0099nobodyさん2011/03/20(日) 19:43:39.89ID:???
<?
$list = glob( "*.dat" );
if ( is_array( $list ) ) {
 shuffle( $list );
 foreach( $list as filename ) {
  var_dump( $filename );
 }
}
?>
0100nobodyさん2011/03/20(日) 19:44:41.83ID:???
>>99

× foreach( $list as $filename ) {
○ foreach( $list as filename ) {
0101nobodyさん2011/03/20(日) 19:45:05.17ID:???
ランダムで一個取り出したいっつってんのになんでシャッフルなんだよ
0102nobodyさん2011/03/20(日) 19:46:06.42ID:???
>>100
0103nobodyさん2011/03/20(日) 19:46:39.11ID:???
>>100 ( ゚,_・・゚)ブブブッ 逆だろ
0104nobodyさん2011/03/20(日) 19:48:24.95ID:???
<?
$list = glob( "*.dat" );
if ( is_array( $list ) ) {
 shuffle( $list );
 foreach( $list as $filename ) {
  var_dump( $filename );
  break; /* これで1個だけ */
 }
}
?>
0105nobodyさん2011/03/20(日) 19:51:47.08ID:???
>>104

SMと言うよりも質問者には拷問だな
0106nobodyさん2011/03/20(日) 19:56:31.62ID:???
array_randって答えでてるのに
どいつもこいつもレベルひきいな
0107nobodyさん2011/03/20(日) 19:57:49.92ID:???
公開したばっかりに始まった公開処刑みたいな
0108nobodyさん2011/03/20(日) 20:05:17.87ID:???
>>104
なんでループさせる必要があるんだよwww
0109842011/03/20(日) 21:08:21.74ID:FsqggCdG
皆さんのアドバイスでかなり目標まで近づきました。
あとは、一覧を取得するフィルダのパスを指定出来るように悩みたいと思います

<?php
//配列の初期化
$var = array();
//ディレクトリ・ハンドルをオープン
$res_dir = opendir( '.' );

//ディレクトリ内のファイル名を1つずつを取得
while( $file_name = readdir( $res_dir ) ){
//取得したファイル名を配列に追加
array_push($var, $file_name);
}
//ディレクトリ・ハンドルをクローズ
closedir( $res_dir );

//配列からランダムでファイル名を1つ取り出す
$rand_keys = array_rand($var, 1);
//取り出したファイルを表示
require "$var[$rand_keys]";
?>
0110nobodyさん2011/03/20(日) 21:25:14.51ID:???
遠ざかってるな
0111nobodyさん2011/03/20(日) 21:48:27.81ID:???
open_dir( $_GET['path'] ) でok
0112842011/03/20(日) 21:54:41.77ID:FsqggCdG
今度こそ完成しました。
皆さんありがとうございました。

<?php
//配列の初期化
$var = array();
//ディレクトリ・ハンドルをオープン
$res_dir = opendir( フェルダ名 );

//ディレクトリ内のファイル名を1つずつを取得
while( $file_name = readdir( $res_dir ) ){
//取得したファイル名を配列に追加
array_push($var, $file_name);
}
//ディレクトリ・ハンドルをクローズ
closedir( $res_dir );

//配列からランダムでファイル名を1つ取り出す
$rand_keys = array_rand($var, 1);
//取り出したファイルを表示
require "フェルダ名/"."$var[$rand_keys]";
?>
0113842011/03/20(日) 21:56:21.71ID:FsqggCdG
フェルダ名・・・ 失礼
0114nobodyさん2011/03/21(月) 01:45:59.13ID:???
$dir = glob('*.dat');
echo $dir[mt_rand(0, count($dir) - 1)];
0115nobodyさん2011/03/21(月) 01:58:08.06ID:???
mt使う理由は?
0116nobodyさん2011/03/21(月) 03:09:29.53ID:???
質問者がもともと使ってたからじゃなくて?
0117nobodyさん2011/03/21(月) 14:23:58.40ID:???
mt使う方が軽いからね
0118nobodyさん2011/03/21(月) 15:21:41.88ID:???
みなさん、ありがとうございませんでした。
0119nobodyさん2011/03/21(月) 21:34:16.27ID:cxZfxrlH
phpでhtmlを出力してるんですけど、
キャッシュさせない設定(掲示板など)をするとき、
<meta http-equiv="Pragma" content="no-cache">
みたいなやつでいけますか?

header("Cache-Control: no-cache, must-revalidate");
を書くのとどう違うのかよくわかりません
教えてください
0120nobodyさん2011/03/22(火) 00:21:07.83ID:???
上のは
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
と同等
また下のは
header("Pragma: no-cache");
と同等
よって
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
あるいは
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
ようは両者は別物
この辺はhtmlヘッダの話なのでPHPは関係ない

ちなみに質問の最初の2行を見ると
掲示板をGETパラメータで操作するのではなく
静的なhtmlを吐くっていう意味と捉えられるので注意
01211202011/03/22(火) 00:36:17.00ID:???
わかると思うけど訂正
「上のは」って言ってるのは下のほうのことで
「また下のは」って言ってるのは上のほうのことね
逆だった
0122nobodyさん2011/03/22(火) 06:28:24.63ID:8oP+/2xe
Smartyに関する質問です。
aaaaa.php
<?php
require_once("*******/Smarty.class.php");

$smarty = new Smarty();

$smarty -> display("tmp_b/index.tpl");
$smarty -> assign("page","aaaaa");
?>
index.tpl
{include file="tmp_b/header.tpl"}
{include file="$page.tpl"}
{include file="tmp_b/footer.tpl"}
という風に書いてあります。
階層やパーミッションとは関係ないと思われます。

$pageの部分に各ページのHTMLが入るんですが、
そのHTMLの量が少ないと、ちゃんと表示されるんですが、
HTMLの量が多いと、そのpage部分全てが表示されなくなります。
何が原因なんでしょうか?教えてください。
0123nobodyさん2011/03/22(火) 06:35:31.29ID:???
マルチ注意
0124nobodyさん2011/03/22(火) 06:50:53.47ID:???
Smartyに関する質問です。
aaaaa.php
<?php
require_once("*******/Smarty.class.php");

$smarty = new Smarty();

$smarty -> display("tmp_b/index.tpl");
$smarty -> assign("page","aaaaa");
?>
index.tpl
{include file="tmp_b/header.tpl"}
{include file="$page.tpl"}
{include file="tmp_b/footer.tpl"}
という風に書いてあります。
階層やパーミッションとは関係ないと思われます。

$pageの部分に各ページのHTMLが入るんですが、
そのHTMLの量が少ないと、ちゃんと表示されるんですが、
HTMLの量が多いと、そのpage部分全てが表示されなくなります。
何が原因なんでしょうか?教えてください。
0125nobodyさん2011/03/22(火) 22:12:28.54ID:mmCJS+/m
imagecreatefromstringで読み込んだ画像の形式(JPGとか)を返してくれる関数ってありませんか?
バイナリからいちいち確認するしかないですかね?
0126nobodyさん2011/03/22(火) 22:32:17.46ID:???
imagecreatefromstringで読み込んだ画像の形式(JPGとか)を返してくれる関数ってありませんか?
バイナリからいちいち確認するしかないですかね?
0127nobodyさん2011/03/23(水) 02:33:11.47ID:yBezdspD
アップロードする画像の管理について質問です(mysqlとの絡んだ話になります)
写真をアップするとき、ファイルの形で保存して、その保存パス+ファイル名までの情報を
DBに登録する方法があると思います。
例えば、
カラム構造> id | comment | fileType | path
データ例 >123 | りんごです | jpg | /upfile/user1/gallery/xyz

このとき、ファイル名(xyz)はどういう風に決めたら良いでしょうか?
乱数でも何でも良いのはわかるんですが、自分としてはカラムのID123をファイル名の
一部にでも使って決めたいんです
その場合、クエリを2回に分けて、lastinsertidを使って入れるしかないでしょうか?
変にこだわりなんでしょうか。
画像ファイルのパスをDBに入れていく方法をとるとき、みなさんは乱数とかで名前決めてますか?
ファイル名の定義は賢いやり方があるんでしょうか?
0128nobodyさん2011/03/23(水) 04:11:28.72ID:???
サロゲートキーとファイル名を対応させるのがにんともかんとも
0129nobodyさん2011/03/23(水) 06:54:32.23ID:???
>>127
クエリを二回に分ける意味が分からんが、普通にID名をタイムスタンプの頭につけた文字列にrenameしてから保存すればいいのでは。
0130nobodyさん2011/03/23(水) 08:49:19.12ID:???
>>120
<meta http-equiv="Pragma" content="no-cache">
header("Pragma: no-cache");
これは同等とも取れるし、まるで異なるともいえるよ。

>>119の最初の2行を見て静的なHTMLを出力するように見えるかっていうと
そうでもないし、何を注意すればよいのか。
0131nobodyさん2011/03/23(水) 09:28:32.96ID:???
>>127
idがオートインクリメントなら、直前に登録したidを出力する関数があるはず。
mysql_insert_idだったかな。それ使えばクエリ一度のみ、一発でいける。
0132nobodyさん2011/03/23(水) 09:45:07.56ID:???
>>127
SHOW TABLE STATUS WHERE Name = 'table'
カラム Auto_increment が次の値
0133nobodyさん2011/03/23(水) 10:15:00.72ID:???
>>130
黙ってろよ初心者
0134◆oDupeixhZv52 2011/03/23(水) 10:35:47.46ID:???
>>119
ブラウザによる。キャッシュするサーバーなんかはタグなんか見ないんじゃないかと。
いろんなブラウザでテストしてよしとするか、ダミーのパラメータつけるとか。

>>127
自分の好きなようにやればいいが、ファイル名にIDいれてそのファイル名をDBに保存するのは賢くない。
0135nobodyさん2011/03/23(水) 13:32:45.18ID:???
賢くない=馬鹿 ?
0136nobodyさん2011/03/23(水) 15:24:23.20ID:???
突然すみません。
簡単な検索エンジンを作ろうと思い、本のサンプルデータを改造しようと思ってデータを展開したところ、データベースへの接続がうまくいかなくなってしまったので質問させてください。

出ているエラーは次のとおりです。
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\PHP_Samples\samples\chapter15\15-5\link.php on line 207
タワツウ・ィ・鬘シ

このサンプルデータは外部ファイル(config.php)からデータベース名、ユーザー名、パスワードを取得しているらしく複雑です。

まず、cnfig.phpにて、
define("DBSV", "localhost");
define("DBNAME", "link");
define("DBUSER", "root"); // ユーザ名(要変更)※変更しました。
define("DBPASS", "secret"); // パスワード(要変更)※変更しました
このように設定します。

次にlink.phpにて
<?php require "config.php"; ?> でconfig.phpに接続したのち、
// =================================================
// ----- db接続
// =================================================
function db_conn() {
$conn = mysql_connect(DBSV, DBNAME, DBPASS) or die(mysql_error());
mysql_select_db(DBNAME, $conn);
return $conn;
}

このようにしてconfig.phpからデータベース名、ユーザー名、パスワードを取得しているようです。
そしてMySQLの方の設定でもlocalhost, root, secretの設定は行なっております。
ここでlink.phpにアクセスすると、上記のエラーが生じる状況です。まだ設定したりない部分があるのでしょうか?
ちなみに「PHPによるWebアプリケーションスーパーサンプル第2版」の15章のリンク集の項を使っています。
長くなってしまいましたが、どうかよろしくお願いします。
0137nobodyさん2011/03/23(水) 15:27:46.83ID:???
あ、ちなみにエラーの「line 207」は
$conn = mysql_connect(DBSV, DBNAME, DBPASS) or die(mysql_error());
この行を指しています。
連レスになってしまいすみません。
0138nobodyさん2011/03/23(水) 15:36:23.39ID:???
DBNAMEとDBUSERがごっちゃになってんじゃないの?
0139>>1嫁2011/03/23(水) 15:41:09.54ID:???
ここはサポートじゃねえんだよ
検索エンジンを作るって検索システム構築の間違いだろ
そんな複雑なアルゴリズム組めるようなやつが質問するとは思えんしな
0140nobodyさん2011/03/23(水) 15:44:48.92ID:???
>>138
レスありがとうございます!
すみません、上記のコードを貼り間違えておりました。
正しくは>>138さんの指摘通り、
// =================================================
// ----- db接続
// =================================================
function db_conn() {
$conn = mysql_connect(DBSV, DBUSER, DBPASS) or die(mysql_error());
mysql_select_db(DBNAME, $conn);
return $conn;
}
こうでした。本当に申し訳ありません。
0141◆oDupeixhZv52 2011/03/23(水) 16:05:08.42ID:???
DBの権限が無いだけなのでは
0142nobodyさん2011/03/23(水) 19:15:30.35ID:???
>>140
MySQLの設定(ユーザー追加、権限設定)はちゃんとやってあるの?
やり方は多分その本に書いてあると思うけど。
Access denied for user 'root'@'localhost' (using password: YES)
ってのは単純にそのユーザ名・パスワードで接続する権限が無いよ、って言ってるだけだからPHPの構文エラーじゃない
0143nobodyさん2011/03/23(水) 19:17:24.83ID:???
> このサンプルデータは外部ファイル(config.php)からデータベース名、ユーザー名、パスワードを取得しているらしく複雑です。
全然複雑ではありません。至極普通です。
0144nobodyさん2011/03/23(水) 21:32:58.20ID:???
>>141-142
ありがとうございます。どうやら権限の問題のようですが…どうすれば権限を設定できるのでしょうか?
新しくユーザーを登録するのか、特権から編集するのか…。まだ駆け出しなので詳しくはわからないので、ご教示いただけると助かるのですが…
0145nobodyさん2011/03/23(水) 23:28:47.70ID:???
>>133
すまん。
すまんが、知識人からみて解説を含めたレスをしてほしい。
俺は>>120が初心者とは思わないが、勘違いしている節があるように思える。
0146nobodyさん2011/03/23(水) 23:33:38.08ID:???
xamppは初心者が使うべきではないと、何度も言われているよ。
最初からIDE使ってると、なんかあったときに何も出来なくなるのと同じ
0147nobodyさん2011/03/24(木) 00:23:44.10ID:???
>>144
その本に書いてないのか?
mysqlクライアントにログインしてコマンドラインで操作設定してもよし
PHPMyAdmin使って設定するのもよし
これらの用語すらわからないなら、Mysqlの初心者本を見るかググってくれ
0148nobodyさん2011/03/24(木) 00:33:14.64ID:???
最初のはhttpヘッダーをどこで設定するかの違いに過ぎない
ブラウザは同じヘッダーを受信するしやってることは全く同じ
>これは同等とも取れるし、まるで異なるともいえるよ。
こんなツッコミじゃ何か言いたかっただけちゃうんかと初心者乙と思われても仕方ない

ブラウザにキャッシュさせないなら意味は通じるけど
掲示板などをキャッシュさせないという言い方だとサーバ側の話と勘違いされる
この場合毎回ログから静的html(キャッシュ)を生成してそこにアクセスするという方式ではなく
ログを動的に読み込んで表示したいと捉えかねないってことかな

まぁ全体をみてhttpヘッダーの話だなぁと分かるけどどのみちスレ違い
0149nobodyさん2011/03/24(木) 01:05:39.64ID:???
>>147
ありがとうございます。
http://www.dbonline.jp/phpmyadmin/user/index2.html
このページを参考に、rootアカウントにlinkデータベースのすべての権限を与えてみたのですが…うまくいきませんでした。
その他気になった点といえば、今までUTF-8でプログラムを書いていたのですが、このサンプルファイルはEUC-JPで書かれているということでしょうか…
エラー文の後に「タワツウ・ィ・鬘シ」と書かれているのですが、何か関係あるのでしょうか?
0150nobodyさん2011/03/24(木) 01:14:06.84ID:???

ID出さない質問者に熱くなる馬鹿ども
0151nobodyさん2011/03/24(木) 01:55:59.77ID:???
METAタグを記述すればHTTPヘッダが飛んでくるかのように書くからだめなんじゃん。
0152nobodyさん2011/03/24(木) 02:12:23.62ID:???
そういう書き方をしてるから、勘違いしている節があると思った。
0153nobodyさん2011/03/24(木) 10:08:34.08ID:???
ブラウザがどう解釈するかだろ
httpヘッダの実装なんてブラウザ依存なんだから
0154◆oDupeixhZv52 2011/03/24(木) 11:14:34.99ID:???
>>149
rootのlocalhostの権限を設定してあるか確認してみてください。
変な文字は EUCの 接続エラー という文字が化けたものです。
0155>>1362011/03/24(木) 11:47:19.52ID:7Ll3gOeT
>>154
ありがとうございます!
phpmyadminにて「ユーザ 'root'@'localhost'」のグローバル特権には全てチェックがついており、リソースの制限はすべて解除(ゼロ)、
ログイン情報は ユーザ名:テキストフィールドの値:root ホスト:ローカル:localhost パスワード:テキストフィールドの値:secret
このように設定されています。
これでlocalhostの権限は設定されていることになっていると思うのですが、何か不備などあるのでしょうか?
いつまで経っても解決せずすみません…
0156nobodyさん2011/03/24(木) 12:10:44.81ID:???
その設定がDBNAME=linkに対して有効な設定なのかどうか
0157nobodyさん2011/03/24(木) 12:25:01.20ID:???
>>125

http://jp.php.net/manual/ja/stream.streamwrapper.example-1.php
0158>>1362011/03/24(木) 13:38:28.27ID:???
>>156
'root'@'localhost' の特権を更新しました
REVOKE ALL PRIVILEGES ON `link` . * FROM 'root'@'localhost';
GRANT ALL PRIVILEGES ON `link` . * TO 'root'@'localhost' WITH GRANT OPTION ;

上記のようにphpmyadminにてデータベースに固有の特権を与えてみたのですが何も変化はありませんでした…
0159nobodyさん2011/03/24(木) 14:18:12.70ID:???
>>158
phpmyadminでログインしているユーザとパスワードで試してみたら?
0160nobodyさん2011/03/24(木) 14:33:53.34ID:???
rootには始めはパスワード設定されてないと思うけど
secretをパスワードとして設定したの?
それともphpmyadmin使ってないから判らんけど表示上secret(非表示)って意味?
0161>>1362011/03/24(木) 15:00:10.50ID:???
みなさん本当にありがとうございます。
こんな簡単な問題もクリアできず情けないです。

>>158
ユーザroot、パスワードsecretというアカウントでいつもログインしています。
新しいデータベース、linkの権限をrootに追加しようとしているのですが、それもうまくいってないみたいです…

>>159
はい、secretをパスワードにしています。
0162nobodyさん2011/03/25(金) 17:53:39.59ID:Li7RFmgk
array(2) {

["count"]=>
int(30)

["value"]=>
array(7) {

["title"]=>
string(4) "test"

このtitleを取得するにはどうアクセスしたらいいのでしょうか?
0163nobodyさん2011/03/25(金) 18:07:53.83ID:???
$配列名["value"]["title"]
0164nobodyさん2011/03/25(金) 18:09:30.15ID:Li7RFmgk
>>163
できました
ありがとうございます
0165nobodyさん2011/03/25(金) 19:03:53.08ID:???
目的は自サイトのページ量産です。

phpを利用して、TOPページの内容が変化するサイトを作りました。
このTOPページを、毎日 .html で保存をするにはどうしたらよいのでしょうか?
毎回別名で保存し、名前がかぶらないようにしたいです。

保存したいのは、phpのコードではなく、表示された結果のHTMLです。

お願いします。


0166nobodyさん2011/03/25(金) 19:17:00.53ID:???
>>165
スパムブログを作るんですね、わかります
0167nobodyさん2011/03/25(金) 20:18:15.45ID:???
うるせーてめーには関係ねーよ
はい次
0168nobodyさん2011/03/25(金) 20:28:06.32ID:???
一番簡単なのはcronで一日一回回すようにする
$html = file_get_contents ( "http://www.yahoo.co.jp" );
で、htmlを取得して
date()あたり使って絶対かぶらない名前にして保存する
01691652011/03/25(金) 20:41:00.78ID:???
自己解決した。
0170>>1362011/03/26(土) 00:43:28.34ID:???
>>136です。
XAMPPごと入れなおして再度試してみたらできました…
ありがとうござました!
0171nobodyさん2011/03/26(土) 00:47:14.12ID:???
初心者はxampp使うな
0172nobodyさん2011/03/26(土) 01:03:27.53ID:???
初心者も安心xampp大先生
0173nobodyさん2011/03/26(土) 01:21:21.62ID:???
なんかまずいの?
0174nobodyさん2011/03/26(土) 06:49:04.84ID:???
システム開発業者だってXAMPPですよ。
便利だもん。
0175nobodyさん2011/03/26(土) 10:24:05.95ID:???
それは初心者なのか?
0176nobodyさん2011/03/26(土) 11:29:29.22ID:???
海外サーバーを経由してネットする方法を詳細にしるした書籍もしくはサイトを教えてください
悪いことをするつもりはありませんがw wikileaksのハッカーに興味をもっております
彼らは、どうやってするのでしょうか?非常に興味があります。よろしくお願いします。すいません。マルチします。
0177nobodyさん2011/03/26(土) 11:42:57.23ID:???
華麗にスルー
0178nobodyさん2011/03/26(土) 17:07:13.58ID:???
>>176
私の書いた本とサイトで詳しく紹介しています。
よかったら見に来てください。
0179nobodyさん2011/03/26(土) 19:03:07.04ID:???
>>176
ふつー○○○○。○○○
0180nobodyさん2011/03/26(土) 20:45:52.79ID:???
いやいや、○○○○○、○○○。○○○○だろw
0181 【東電 93.6 %】 2011/03/26(土) 21:01:18.86ID:???
PHPは時代遅れ
わははっははっは
01822011/03/26(土) 22:01:36.41ID:1s9TWIqI
>>176
それすら見つけられない奴には教えても無駄
そういうのを見つけられる、見つけるのが楽しい奴じゃないとな
お前には素質がない
0183nobodyさん2011/03/27(日) 01:39:37.48ID:???
ここで聞くのは「見つける」ことに含まれると思うんだが
0184nobodyさん2011/03/27(日) 03:00:31.86ID:???
含まれない
0185nobodyさん2011/03/27(日) 06:57:06.97ID:???
>>183
うまいこと聞き出せればね
0186nobodyさん2011/03/27(日) 12:27:50.82ID:???
見つけるってのは自力でやることをいうんだろ
他力本願なのは見つけるとは言わない
0187nobodyさん2011/03/27(日) 12:46:30.86ID:eVWvVwuN
WindowsでPHP5.3.6にうpグレードできずPHP5.3.5で止まってる素人さんってこのスレに多いですか?
0188nobodyさん2011/03/27(日) 13:15:29.99ID:???
俺はWindowsには入れてない素人さんです。
0189nobodyさん2011/03/27(日) 13:19:18.72ID:???
回答してる側はソースからビルドぐらい出来るはず
質問する側は知らんけど
0190nobodyさん2011/03/27(日) 15:49:44.78ID:g9B42EJL
PDOを使うとMySQLとPostgreSQLを意識せず同じコードで同じ事が出来るという認識でよいでしょうか?
0191nobodyさん2011/03/27(日) 15:55:44.44ID:???
>>190
細かいところで違和感は残るかもしれませんが基本的には同じだと考えて良いです。
0192nobodyさん2011/03/27(日) 15:56:20.54ID:???
>>190
基本的にはね
もちろん最初のデータベース接続の設定方法が異なるけど
あとはデータベース固有の定数なんかが用意されてたりするけど
そういう固有のものを使わなければ問題ない
0193nobodyさん2011/03/27(日) 16:22:03.59ID:qy9/iTdT
http://q.hatena.ne.jp/1301134507
> Facebookの友だち検索で、スカイプSkypeネームとSkypeのパスワードを入力して
> コンタクトリストを取得している機能があります。
> これはどのように実装しているか教えてください。
> (使用言語やapi,ライブラリなど)
> もちろん予想になると思いますが
誰かこの質問わかります?
回答があまりつかない。。。
0194nobodyさん2011/03/27(日) 16:41:15.05ID:???
>>193
APIならGetFriendlist で取得
http://forum.skype.com/index.php?showtopic=41342
大概のどの言語でも可能です。
0195nobodyさん2011/03/27(日) 17:20:50.78ID:???
>>191-192
ありがとうございます
同じコードになってしまったのでこれで大丈夫なのか不安になっていました
0196nobodyさん2011/03/27(日) 18:48:22.38ID:???
いいってことよ
0197nobodyさん2011/03/27(日) 19:04:41.19ID:qy9/iTdT
>>194
Windowsはdllインストールしたらいけるらしいけど、
Linux+PHPでも実装可能なの?
0198 忍法帖【Lv=1,xxxP】 2011/03/27(日) 19:10:27.69ID:???
>>197
http://talpa-tech.com/titles/4-903408-01-9/browsebook
どうなんだろね。
こっちには書いてないけど、さくらインターネットが何とかかんとかなんでしょ?
0199nobodyさん2011/03/27(日) 19:24:29.97ID:qy9/iTdT
>>198
ありがとうございます。
そうです。さくらインターネットでやる予定です。

これによると、LinuxはCかPythonでAPI叩けるということかな?
だとすると、CかPythonで作ったプログラムを、PHPから起動したらいけそうですね。
ちょっと詳しく読んでみます。
0200nobodyさん2011/03/27(日) 22:11:46.25ID:9+a3qRqA
$_ENVをhtaccessとかで設定できない?
SetEnvしたら$_SERVERに入ってきた
0201nobodyさん2011/03/27(日) 22:24:19.03ID:???
は?
0202nobodyさん2011/03/27(日) 22:27:25.04ID:???
ひ!
0203nobodyさん2011/03/27(日) 22:31:15.05ID:???
$_SERVERに入ってちゃまずいのか?
そういうもんとして受け入れるしかないだろ

>$_SERVER
>$HTTP_SERVER_VARS [非推奨]
>$_SERVER -- $HTTP_SERVER_VARS [非推奨] ? サーバ情報および実行時の環境情報
0204nobodyさん2011/03/27(日) 22:34:33.22ID:???
古いサンプルファイルがEUC-JPで書かれているのですが、UTF-8で統一したいと思ったのですが、いまひとつ理解できなかったので質問させてください。
//データをSQL用に変換
function cnv_sqlstr($string) {
// 文字コードを変換する
$det_enc = mb_detect_encoding($string, "EUC-JP, SJIS");
if ($det_enc and $det_enc != ENCDB) {
$string = mb_convert_encoding($string, ENCDB, $det_enc);
}
// バックスラッシュを付加する
$string = addslashes($string);
return $string;
}
//表示する文字コードに変換
function cnv_dispstr($string) {
// 文字コードを変換する
$det_enc = mb_detect_encoding($string, "EUC-JP, SJIS");
if ($det_enc and $det_enc != ENCDISP) {
return mb_convert_encoding($string, ENCDISP, $det_enc);
}
else {
return $string;
}
}

ENCDBとENCDISPにUTF-8を代入すれば自動的にエンコードされるかな…と思って書き換えてみたのですが文字化けを起こしただけでした。
ちなみにENCDB、ENCDISPには最初どちらにも'EUC-JP'が定義されていました。
MySQL側はutf8_general_ciで照合しています。
どうかよろしくお願い致します。
0205nobodyさん2011/03/27(日) 22:45:53.44ID:???
理解できないのは人の話を聞かないからです
スレタイから読みなおしてください
0206nobodyさん2011/03/27(日) 22:47:27.54ID:???
$_ENVと$_SERVERは使うな!!!!!!!!!!!!!!!!!!!!!!!
getenvを使え!!!!!!!!!!!!!!!!!!!!
0207nobodyさん2011/03/27(日) 22:50:21.02ID:???
$_ENV+$_SERVERでおk
02082011/03/27(日) 23:12:44.21ID:???
>>204
そのサンプルは古すぎて文字コード以外の問題が山盛りのように見えます。
使うのやめたほうがいいような
そもそも、UTF-8で統一するなら、変換する必要ないでしょう。
0209nobodyさん2011/03/27(日) 23:13:04.48ID:???
$_ENVと$_SERVERは使うなっ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0210nobodyさん2011/03/27(日) 23:20:06.83ID:???
使うな使うな言うなら理由をつけろ無能が
0211nobodyさん2011/03/27(日) 23:25:28.34ID:???
理由を知らないほうが無能だろw
0212nobodyさん2011/03/27(日) 23:30:25.95ID:???
無能は理由なんか知らなくていいから使うな
0213nobodyさん2011/03/27(日) 23:52:27.43ID:???
またこのパターンか
馬鹿は答えなくていいよ
0214nobodyさん2011/03/28(月) 01:59:01.60ID:???
馬鹿は質問しなくていいよ
0215nobodyさん2011/03/28(月) 11:09:24.18ID:???
こんなの常識だけどXAMPPとか使ってる人にはわからないのかもね
ggれば答えが見つかるのにその程度の行動もしないで理由を付けろとはおめでたいなw
0216◆oDupeixhZv52 2011/03/28(月) 11:23:48.07ID:???
環境依存だから、わからん奴は逃げとけって話だな。
0217nobodyさん2011/03/28(月) 11:34:42.00ID:???
つまりXAMPP最強ということか
0218nobodyさん2011/03/28(月) 15:23:09.79ID:???
補足もしないであとはググレとか言うなら最初から答えるなよ。
0219nobodyさん2011/03/28(月) 15:33:29.47ID:???
知らないならググレよ。
0220nobodyさん2011/03/28(月) 15:53:56.94ID:???
たまにはヤフれよ
0221nobodyさん2011/03/28(月) 22:03:58.52ID:???
ヤフーはなんか左側にスペースが出来たからいらない
0222nobodyさん2011/03/29(火) 05:34:05.92ID:???
日本人ならgooを使え
0223nobodyさん2011/03/29(火) 16:26:26.63ID:v6z2krre
【OS名】Linax
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】
チャーハン1
チャーハン2
チャーハン定食1
チャーハン定食1デラックス

こんな感じのデータを
SELECT * FROM AAA WHERE menu LIKE 'チャーハン%'
とすると、全部マッチしますよね。
それをチャーハン1とチャーハン2だけ引っ掛けたいんですけど
どうすればいいですか?

おねがいします。
0224nobodyさん2011/03/29(火) 16:31:18.67ID:???
データを変更

チャーハン1
チャーハン2スペシャル
チャーハン定食1
チャーハン定食1デラックス

チャーハン1とチャーハン2スペシャルを引っ掛けたい
0225nobodyさん2011/03/29(火) 16:34:59.05ID:???
スレチ

http://hibari.2ch.net/test/read.cgi/db/1295436346/
0226nobodyさん2011/03/29(火) 16:35:25.72ID:???
>>225
了解
0227nobodyさん2011/03/29(火) 21:46:51.55ID:R+6dPG5f
どんだけチャーハンが好きなんだよ。
0228nobodyさん2011/03/30(水) 00:17:21.36ID:???
チャーハンは嫌いです。でも焼き飯はもっと嫌いです。
0229nobodyさん2011/03/30(水) 23:34:14.94ID:wo0sOChz
MySQLのレコードを30万件ぐらい配列に代入して集計しようとしたところ
メモリ不足でエラーになりました。

memory_limitの数値を増やすと解決しましたが、
今後レコードがどんどん増えていくと思い、どうすればいいか悩みます。
良き設計のアドバイスを教えてください。
0230nobodyさん2011/03/30(水) 23:40:03.11ID:OED8b/fD
$time = "2000年3月09日 14時02分01秒";

これの1時間36分35秒後の日時に直す方法を教えてください
0231nobodyさん2011/03/30(水) 23:52:21.69ID:???
>>229
集計をSQLでやる
0232nobodyさん2011/03/30(水) 23:54:59.17ID:???
>>230
$time = "2000年3月09日 14時02分01秒";
list($y, $m, $d, $h, $i, $s) = sscanf($time, "%d年%d月%d日 %d時%d分%d秒");
echo date("Y-m-d H:i:s", mktime($h + 1, $i + 36, $s + 35, $m, $d, $y));
0233nobodyさん2011/03/31(木) 00:33:30.18ID:???
>>232
このコードをforで回してみたら無限ループするのだがなんで?
0234nobodyさん2011/03/31(木) 00:47:38.94ID:???
$time = "2000年3月09日 14時02分01秒";
$date =DateTime::createFromFormat("Y年n月d日 H時i分s秒",$time);
$date->add(new DateInterval("PT1H36M35S"));
echo $date->format("Y-m-d H:i:s");


>>233
$i とか使ってるからじゃね?
0235nobodyさん2011/03/31(木) 00:48:50.50ID:???
>>234
>$i とか使ってるからじゃね?
正解!
0236nobodyさん2011/03/31(木) 02:26:24.93ID:???
Pear::DateとかZend_Dateとか使おうぜ…

$date = new Date('2000/03/09 14:02:01');
$date->addSpan(Date_Span::setFromArray(1,36,35));

$date = new Zend_Date('2000/03/09 14:02:01', 'yyyy/MM/dd HH:mm:ss');
$date->add('1:36:35',Zend_Date::TIMES);
0237nobodyさん2011/03/31(木) 04:13:06.89ID:???
PECLは許容できるが外部APIとかイラネ
0238nobodyさん2011/03/31(木) 04:23:14.34ID:???
外部API・・・?Google Libraries APIでも使って計算するのか?
0239nobodyさん2011/03/31(木) 04:32:33.18ID:???
PEARは外部APIだろ
梱包されてたっけ?
0240nobodyさん2011/03/31(木) 05:28:12.39ID:???
それはただのライブラリだ
0241nobodyさん2011/03/31(木) 09:13:51.32ID:???
個々の関数群をAPIと言うんだが
0242nobodyさん2011/03/31(木) 09:35:09.28ID:???
ここはpreg_matchの出番だろ
0243nobodyさん2011/03/31(木) 10:15:19.24ID:Zox++tkq
標準機能とzend_dateを使う違いが何ですか?
0244nobodyさん2011/03/31(木) 11:15:39.35ID:h2409w8r
mysql_escape_stringって$sql対してやればいいのですか?

$sql = ちょめちょめ

mysql_query($sql);
0245nobodyさん2011/03/31(木) 15:44:39.82ID:???
>>244
そうです。これでOK。

$sql = "<a href='http://'>;こんばんは</a>";
mysql_query($sql);
0246nobodyさん2011/03/31(木) 19:51:40.19ID:bNgmJBKg
>>245
使って無いじゃん
0247nobodyさん2011/03/31(木) 23:27:56.48ID:DidIPsUA
返すHTML・XMLはPHPで動的に出力したリソース.
それはRESTと言っていいのでしょうか。
0248nobodyさん2011/03/31(木) 23:28:32.22ID:DidIPsUA
サーバーからURLにアクセスするとHTMLまたはXMLを返す
ものがRESTのようなのですが、
返すHTML・XMLはPHPで動的に出力したリソース.
それはRESTと言っていいのでしょうか。
0249nobodyさん2011/04/01(金) 01:23:07.17ID:???
OK
0250nobodyさん2011/04/01(金) 02:20:19.91ID:???
墨汁
0251nobodyさん2011/04/01(金) 02:22:35.96ID:???
>>246
失礼しました。

$sql = "<a href='http://'>;こんばんは</a>";
mysql_query($sql);
mysql_escape_string($sql);
0252nobodyさん2011/04/01(金) 05:12:59.91ID:???
queryの手前でないと意味ないだろw
0253nobodyさん2011/04/01(金) 11:21:51.77ID:???
こう?

$sql = "<a href='http://'>;こんばんは</a>";
mysql_escape_string($sql);
mysql_query($sql);
0254nobodyさん2011/04/01(金) 11:42:21.20ID:lsqQ9UYG
そう
0255nobodyさん2011/04/01(金) 11:58:37.40ID:MzNzUG4D
データベースからデータを取得して表示するときはmysql_escape_stringとhtmlspecialcharsどっちを使うのでしょうか?
0256 忍法帖【Lv=5,xxxP】 【東電 85.6 %】 2011/04/01(金) 12:13:17.86ID:???
htmlspecialcharsは使うけれど、mysql_escape_stringは使わない
0257nobodyさん2011/04/01(金) 12:43:04.41ID:???
>>255

>>253をよく読め!
0258nobodyさん2011/04/01(金) 12:44:15.72ID:???
>>257

それsqlの話な
0259nobodyさん2011/04/01(金) 14:02:53.22ID:???
駄目でしょ。 >>253

$sql = mysql_escape_string($sql);
0260nobodyさん2011/04/01(金) 15:59:54.40ID:afTaUKmE
先生方教えてください

$n = str_pad(chr(0), 1);
$m = chr(0) . " ";

1行目と2行目の結果は同じかと思いきや異なりました。
理由を教えてください。
0261nobodyさん2011/04/01(金) 16:48:08.33ID:???
なぜ同じになると思ったの?
02622602011/04/01(金) 17:08:30.71ID:afTaUKmE
$n = str_pad("a", 1);
$m = "a" . " ";

が同じになるからです・・・!

str_pad(chr(0), 〜);
バイナリ操作を行う所で上記処理が出てきたのですが
この動作がどうなっているのか理解したくとも
検索しても情報が見つからない状況です。
0263◆oDupeixhZv52 2011/04/01(金) 17:21:02.92ID:???
同じにならねー
02642602011/04/01(金) 17:42:46.66ID:afTaUKmE
あるぇ〜?
さーせん出直してきます
0265nobodyさん2011/04/01(金) 17:43:50.56ID:mfU7bDo9
今日気づいたのですが、PHPでMySQLのSQLでUPDATEするとき、
$point = null;
$sql = "UPDATE users SET point=point+" . $point;

と言うように、$pointがNULLだとpointの数値が0になるんですね・・。
htmlspecialcharsとかmysql_escape_stringはやっていたのですが、
上記のようにNULLが入る場合、元のデータが0になるとは思いませんでした。

現状、$pointの箇所はfloor($point)としているのですが、
これで正しいのでしょうか?一応、元のデータが0になることはありませんが
0266nobodyさん2011/04/01(金) 18:45:28.14ID:???
>>265
$pointにnullを代入し、文字列に変換すると空文字列になる。
つまり
$sql = "UPDATE users SET point=point+" . $point;

$sql = "UPDATE users SET point=point+";
と同等。
MysqlがそのSQL文をどう解釈してpointを0にしたのかはわからんが。

floor($point)とすると、floorの引数は数値なのでPHPは$pointを数値に変換しようとする。
$pointはnullなので数値に変換すると0になるから、floor(0)を実行したのと一緒。

わざわざfloorなど関数をつかわなくても、(int)$point として整数にキャストするか、
($point + 0) として整数に自動変換させればいい。
0267◆oDupeixhZv52 2011/04/01(金) 19:04:16.87ID:???
null との 結合は  null になるよ
で、 not null設定ならデフォルトの値になる。 数値型なら 0。
0268◆oDupeixhZv52 2011/04/01(金) 19:05:12.01ID:???
関係なかった。ごめんな。
0269nobodyさん2011/04/01(金) 19:39:42.27ID:BDvvPYeQ
function put(str) {
file_put_contentsでstrを書き込む
}

function get() {
echo file_get_contents(読み込むファイル);
}

ファイルは1行1データ。
ファイルに書きこむときhtmlspecialcharsをやってから改行を<br>に置換します。
htmlspecialcharsはget()のところでも必要ですか?無駄ですよね?
0270nobodyさん2011/04/01(金) 19:50:09.47ID:???
何がしたいのかわからないけど
そもそもfile_put_contentsで書き込むならhtmlspecialcharsは必要ないし
getのとこで使うならhtmlspecialchars_decodeだろ
0271nobodyさん2011/04/01(金) 19:56:39.02ID:nS5vkIwg
Ruby 初心者スレッド Part 41
http://hibari.2ch.net/test/read.cgi/tech/1297313271/650

650 名前:デフォルトの名無しさん[sage] 投稿日:2011/04/01(金) 17:20:58.00
というかwindows用apacheって都市伝説かと思ってた。
実際に動かしている人がいるとは驚きだ。

0272nobodyさん2011/04/01(金) 20:24:11.06ID:???
このスレで誰が一番有名人であるかランキング付けようぜ
1〜10位までよろしく
0273nobodyさん2011/04/01(金) 20:46:17.88ID:???
nobodyさんじゃない?
0274nobodyさん2011/04/02(土) 06:56:41.09ID:???
nobadyさんじゃない?
0275nobodyさん2011/04/02(土) 09:41:07.11ID:???
nobadyさんだと思う。
0276nobodyさん2011/04/02(土) 10:16:27.08ID:???
今日はうそつきの日。
0277nobodyさん2011/04/02(土) 19:06:14.59ID:WGztucO0
1000ページ以上のページを管理する場合はどのフレームワークを利用したらよいでしょうか?
コードサンプルを貯めておくだけのサイトなので日増しにページ数は増え続けます
0278nobodyさん2011/04/02(土) 19:28:38.01ID:???
フレームワーク関係あるんかいな
CMSの勘違いなら板チだからWeb制作板にでも行ってくれ
0279nobodyさん2011/04/02(土) 21:13:52.10ID:???
落ち着け誰もCMSの話はしてないようだ
0280nobodyさん2011/04/02(土) 22:41:21.30ID:???
既存ページの管理にフレームワーク使うっておかしな話
アプリケーションを組み直すってわけじゃないだろうし
0281nobodyさん2011/04/03(日) 00:20:09.13ID:CqpmkeeN
コードサンプルの意味がわからんな。
単にHTMLが生成されるって意味じゃないだろうし。
0282nobodyさん2011/04/03(日) 00:21:12.69ID:???
フレームワークじゃなくてファイヤーワークスの間違いだろう
flameもfireもどちらも火や炎という意味だから間違いやすいからな
0283nobodyさん2011/04/03(日) 01:13:26.49ID:???
ファイヤーフォックスかもしれんぞ
0284nobodyさん2011/04/03(日) 01:54:50.34ID:???
なんのこっちゃ
0285nobodyさん2011/04/03(日) 07:02:35.72ID:???
>>283←フレームワークとファイヤーフォックスを混同してるバカ発見w
0286nobodyさん2011/04/03(日) 07:35:52.23ID:???
>>285 釣られたバカ発見w
0287nobodyさん2011/04/03(日) 07:53:52.23ID:???
>>286 >>285に釣られたバカ発見w
0288nobodyさん2011/04/03(日) 07:54:56.61ID:???
>>286 2chのスレごときで…自覚せよ。
0289nobodyさん2011/04/03(日) 09:06:16.86ID:???
糞つまらないのは本人の所為であって2chの所為ではありません
0290nobodyさん2011/04/03(日) 12:03:14.15ID:CEjM5iXG
ライブドアの天気RSSを読み込んでtitleの部分を出力したいのですが何も表示されません
どなたかご教示お願いします

$url = 'http://weather.livedoor.com/forecast/rss/earthquake.xml';
$xml = new XMLReader();
$xml->open($url);
while ($xml->read()) {
if (XMLReader::ELEMENT == $xml->nodeType) {
if ('title' == $xml->localName) {
echo $xml->value. "\n";
}
}
}
0291nobodyさん2011/04/03(日) 13:00:32.05ID:???
>>4,>>6
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。

なんでだぶってるの?
0292nobodyさん2011/04/03(日) 13:01:05.14ID:???
と思ったら荒らしか
0293nobodyさん2011/04/03(日) 13:01:36.77ID:???
ここのカス共にXMLReaderなんて使いこなせませんw
0294nobodyさん2011/04/03(日) 13:54:25.13ID:???
if ('title' == $xml->localName) {
$xml->read();
echo $xml->value. "\n";
}
0295nobodyさん2011/04/03(日) 14:43:34.49ID:???
>>294
ありがとうございます
0296nobodyさん2011/04/03(日) 15:24:06.21ID:VZI/JFbc
RSSが更新されてたら取得するというのはどのように実装したらよいでしょうか?
技術的に無理でしょうか?
0297nobodyさん2011/04/03(日) 15:57:36.50ID:???
>>296
定期的にチェックしに行く
0298nobodyさん2011/04/03(日) 15:58:35.64ID:???
cronやアクセス来たごとに、チェックプログラムを起動。
0299nobodyさん2011/04/03(日) 16:30:37.51ID:???
RSS配信サーバ側がそういう風(プッシュ型)にしてなければリアルタイムでは無理だろう
迷惑にならない頻度でたまに更新があるか見に行く必要がある(1秒に1回とかは岡崎図書館になりかねないので1時間に1回とか)
0300nobodyさん2011/04/03(日) 19:22:33.26ID:???
岡崎図書館は1秒に1回だから逮捕されたわけじゃないぞ
1時間に1回でもサーバーがダウンしたら逮捕されるぞ!!
0301nobodyさん2011/04/03(日) 19:38:21.01ID:???
Last-Modifiedでいいじゃん
0302nobodyさん2011/04/03(日) 19:41:16.19ID:???
Last-Modifiedでも逮捕されるぞ!!
0303nobodyさん2011/04/03(日) 21:56:15.78ID:???
リクエストがheadなだけでやってることは同じです
0304nobodyさん2011/04/03(日) 22:13:21.62ID:???
全然違うだろw転送量とか意識したことないんだなw
0305nobodyさん2011/04/03(日) 22:25:16.61ID:???
岡崎図書館って転送量が問題になったの?
0306nobodyさん2011/04/03(日) 23:17:59.35ID:???
逮捕されるとかマジで?
0307nobodyさん2011/04/03(日) 23:29:36.16ID:K4LtsUMu
$ary = array("aaa", "bbb", "ccc");

echo "<ul>";

foreach ($ary as $v) {
echo "<li>".$v."</li>";
}
echo "</ul>";

もしforeachの中で$aryが空だと分かればulタグを出力しないで<p>空です</p>と出力するにはどうしたらよいでしょうか?
$aryが空かどうかはforeachの中でしかチェックできない仕様のためどなたかご教示お願いいたします
0308nobodyさん2011/04/03(日) 23:41:58.04ID:ZIlKnwAq
if文で
if($ary=null)
{
echo <p>空です</p>;
}
else{
foreach ($ary as $v)
echo "<li>".$v."</li>";
}
0309nobodyさん2011/04/03(日) 23:43:06.44ID:K4LtsUMu
そのような事も考えたのですがforeachの中でしかチェックできない仕様なので。。。
0310nobodyさん2011/04/03(日) 23:46:18.13ID:???
空だとそもそもforeachの中に入らないと思うが
0311nobodyさん2011/04/03(日) 23:50:05.18ID:???
んなことない
0312nobodyさん2011/04/03(日) 23:50:37.03ID:???
>>309
空だとエラー出るからそもそもコードが間違ってるな
あとforeachの外いじれないのに外の<ul>制御しようってのが矛盾してるぞ
どうしてもやるならクライアントサイドで書き換えるって手になる
0313nobodyさん2011/04/03(日) 23:50:44.04ID:K4LtsUMu
解決しました
0314nobodyさん2011/04/03(日) 23:51:23.36ID:K4LtsUMu
すみません空というのは$ary = array()の事を伝えたかったのです
0315nobodyさん2011/04/03(日) 23:52:45.18ID:???
どんなふうに解決したのか教えてください
正直、信じられません
0316nobodyさん2011/04/03(日) 23:55:00.75ID:???
こんなの難しいレベルでもねえだろwwwwwwwwwwwwwwwwwwwwwww
0317nobodyさん2011/04/03(日) 23:55:42.66ID:K4LtsUMu
>>315
ob_startで解決しました
0318nobodyさん2011/04/04(月) 02:07:01.89ID:???
>>304
無知乙
短間隔のポーリングで問題になるのは
サーバのソケット数が足りなくなることだろ
この記事読んどけ
http://nosa.cocolog-nifty.com/sanonosa/2006/04/windowstime_wai_00d2.html
0319nobodyさん2011/04/04(月) 06:54:18.17ID:???
>>306
被害者が訴えさえすれば逮捕されることも有り得るということだな。
岡崎図書館の場合は結局不起訴(事実上の無罪)になったが、20日間も警察に拘束された事実は消えない。
第3者機関はシステムに問題があると指摘したが、結局システム会社も図書館長もシステムの不備は認めず仕舞い。
一旦振り上げた手はそう簡単に降ろせないわけだ。大人とはそういうもの。
0320nobodyさん2011/04/04(月) 15:08:49.89ID:eDunUa2Z
今ってデータベースはPDOだけ使えばいいですか?
0321nobodyさん2011/04/04(月) 15:11:15.14ID:???
PDOなんかいらない!
MySQL関数で十分だ!!
0322nobodyさん2011/04/04(月) 15:16:28.83ID:uKnLpE6z
ありがとうございます
PDOのがいいんですね
これからPDOを使うことにします
0323nobodyさん2011/04/04(月) 16:40:57.86ID:1s3/8KTt
urlencode(日本語).jpg
見たいな感じでキャッシュつくって読んでみたら、
ブラウザによっては勝手にデコードされるんですけど。。。

何か良い手はありませんか?
0324nobodyさん2011/04/04(月) 17:22:14.80ID:???
何に対してよい手を探しているのか。
ファイル名変えたら?
0325nobodyさん2011/04/04(月) 17:37:56.31ID:???
>>324
デコードされないように追加変換する事にした。
ファイル名の変更は現実問題として無理なのでNGです。
ありがとう。
0326nobodyさん2011/04/04(月) 19:24:16.22ID:???
お前らわかってて質問してるだろwww
0327nobodyさん2011/04/04(月) 19:26:00.86ID:???
てことはファイル名を変更したんじゃないのか
解決したならいいが
0328nobodyさん2011/04/04(月) 21:26:32.22ID:9VudboYI
$im = imagegrabscreen();
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);

これをWindows Vista+apache+PHP5.3.6で実行すると真っ黒な画像が表示されてしまいます
サービスの設定で「デスクトップとの対話をサービスに許可も済んで、apacheの再起動もやりました
何が原因でしょうか?
0329nobodyさん2011/04/04(月) 21:28:06.65ID:???
下記の内容で困っています・・・。


サイトA
IE→ログイン可能
Firefox→ログイン可能
Chrome→ログイン可能

サイトB
IE→ログインできない
Firefox→ログイン可能
Chrome→ログイン可能

という謎の現象が発生しております。
サイトAとサイトBのスクリプトは全く同じで、
Cookie周りが怪しいなと思っているのですが、
その場合、どこを見ればわかりやすいでしょうか
0330nobodyさん2011/04/04(月) 21:35:40.21ID:???
>>328
ホウ!こんな面白そうな関数があったのか!
0331nobodyさん2011/04/04(月) 21:43:23.07ID:8EkRwCFf
opensocialのmixiアプリ開発をしています。
phpの知識もフレームワークの知識もゼロで、手持ちの本を見ながらやってるのですが
完璧に行き詰ってしまって困っています。

javascriptを利用してサーバサイド側のcakePHPフレームワークを介してデータをやりとりするというところなのですが、
通信を開始してもまったく返答がないので何かしらのエラーがあるのは確実なんですが、cakePHPのデバッグ方法がわからず、
一体どこでエラーが起きているのかまったくわからない状態です。
何かエラーの原因を探る方法があればご教授ください。
0332nobodyさん2011/04/04(月) 21:46:04.32ID:9VudboYI
解決しました
0333nobodyさん2011/04/04(月) 21:48:06.02ID:???
>>331
cakePHPよりCodeIgniterがお勧め
cakePHPの教本よりもCodeIgniterの日本語マニュアルのほうが親切で分かり易い
cakePHPはもう今の時代にはコードが古いので乗換えをお勧めする
0334nobodyさん2011/04/04(月) 21:53:00.10ID:vvCt2F5b
<?php
$cookie = setcookie("TestCookie", 1);
var_dump($_COOKIE);
var_dump($cookie);
?>

上記の実験をしてみると

Firefoxでは
int (1)
bool (true)
が返るのですが

IEでは
array (0)
bool (true)
と返ってきます。

IE自体のCookieは有効なのですが、
なんでCookie登録されないのでしょうか・・・。
0335nobodyさん2011/04/04(月) 21:55:19.92ID:???
フレームワークの変更は現実問題として無理なのでNGです。
0336nobodyさん2011/04/04(月) 21:56:51.48ID:???
>>334
$_COOKIE が空だからだよ!
0337nobodyさん2011/04/04(月) 22:00:36.54ID:vvCt2F5b
>>336
setcookieって$_COOKIEに入るものではないんですか?
0338nobodyさん2011/04/04(月) 22:02:48.28ID:???
setcookieはクライアントにHTTPヘッダーでクッキーを送信するもの
$_COOKIEはクライアントがHTTPリクエストするときに送信してくるもの
0339nobodyさん2011/04/04(月) 22:06:43.19ID:???
だからそのページをリロードすればIEでも同じ結果になるんじゃない?
0340nobodyさん2011/04/04(月) 22:09:22.69ID:vvCt2F5b
>>339
何度もリロードしていますが、
一向にIEには値は入らないです・・・。
0341nobodyさん2011/04/04(月) 22:09:47.57ID:???
つーか、var_dump($_COOKIE); の結果が int (1) ってどうなのよ??
0342nobodyさん2011/04/04(月) 22:10:37.83ID:vvCt2F5b
>>341
すみません省略してしまいました。

実際には
array("TestCookie" => int(1))
です
0343nobodyさん2011/04/04(月) 22:12:49.71ID:???
じゃぁIEのセキュリティポリシーの問題じゃないの?
0344nobodyさん2011/04/04(月) 22:15:34.84ID:vvCt2F5b
>>343
ごめん、>>329でID出し忘れてたのか

サイトA
IE→ログイン可能
Firefox→ログイン可能
Chrome→ログイン可能

サイトB
IE→ログインできない
Firefox→ログイン可能
Chrome→ログイン可能

こんな感じで、別の同じスクリプトでは有効になっているので、
IEの設定ではなく、サーバ側の設定と見ています

サーバのCookieの設定でIEだけ無効になるようなものってありましたっけ
0345nobodyさん2011/04/04(月) 22:21:45.07ID:???
さくらのVPSに php 5.3.6+APC 3.16を入れて
input type=fileで送信されたファイルをphpで受け取る際に、
APCとAjaxを利用して、プログレスバー的なものをしようとしています。
その際、ファイルが正常に入力された場合、想定通りの動きをすんですが、

ファイルを入力せず送信した場合
[firefox]
index.php(POST先)と名前のついた 0kbのファイルをダウンロードしそうになる
[IE7.0]
ページが表示されない
という挙動を示します。
action先を変えたり、action先のプログラムを差し替えたりすると再現せず、
またAPC_UPLOAD_PROGRESSをhiddenで埋め込むのをやめると、通常通りの挙動(ファイルが入力されていないこと表示)
を示します。

Ajaxで表示に使用しているjsファイル、script類をすべて読み込まないよう
設定しても再現します。

エラーも何も出ず、このようなケースは初めてなので困っています。
何か原因として考えられることはあるでしょうか?
03463452011/04/04(月) 22:23:52.98ID:rHhHUBKG
すいませんsageてました。。
03473452011/04/04(月) 22:26:59.30ID:rHhHUBKG
追記:
送信側のフォームを表示するプログラムと、action先(受け側)のプログラムは同じプログラムで
GETのmodeという値によって、動作が変化するようになっています。
挙動を確認したところ、空のindex.phpをダウンロードしようとする場合には
print "test";
と頭に書いてみても、空のままです。
0348nobodyさん2011/04/04(月) 22:29:36.68ID:???
>>344
phpinfo見比べてみたら?
あとはパケットモニターしてサーバーから送られてくるメッセージを比較してみるとか
03492011/04/04(月) 22:32:16.62ID:???
>>328
XPだが、その設定だけでこっちでは動いた。
0350nobodyさん2011/04/04(月) 22:46:02.63ID:???
春休みだからレベル低い回答者ばっかw
いや回答者でもねえかw
0351nobodyさん2011/04/04(月) 22:53:23.46ID:???
お前が一番低レベルなんだよ
wつけてるの全部お前だろ?
>>304とか
0352nobodyさん2011/04/04(月) 22:57:25.16ID:???
確かにレベル低いと思ったら春だったのか
0353nobodyさん2011/04/04(月) 23:17:05.38ID:???
で、>>350はレベルの高い回答者なの?
じゃぁ皆の質問を解決してあげたら?
0354nobodyさん2011/04/04(月) 23:20:27.24ID:???
>>333
ど素人なので教本通りに進める以外に方法がないです・・・(´・ω・`)

jQueryを利用して以下のようなコードを実行してcakePHPから返答が返ってこないです
$.post(アドレス, { データ:データ }, function(data, status){
・・・省略・・・
}, 'json');

アドレスは、http://mobomoga.sakura.ne.jp/source/cakephp/app/accounts/save/です
実行されるfunctionは↓です
function save() {
$this->set("response", false);
}
とりあえず全ての要求に対して"response", falseを返すようにしてみたのですが
そもそもデータが戻ってきません。でも直接上記のアドレスにアクセスするとちゃんと"response",falseを返しているように見えます。
もう何が何やら、、、藁にも縋るような思いです。
どなたかデータが戻ってこない原因に心当たりがあれば教えていただけませんか。
0355nobodyさん2011/04/04(月) 23:23:30.28ID:vvCt2F5b
>>348
確認したところ、
サイトAではGETリクエスト時に
「Cookie: TestCookie・・・」を送信しているのに対し
サイトBではそのような表記はありませんでした。

>>354
おそらく、ページ見たらわかると思うけど
{"response":false}
じゃなく、
<html>
〜〜〜〜〜
{"response":false}
〜〜〜〜〜
</html>
まで返ってるからじゃない?

CakePHPわからんけど

0356nobodyさん2011/04/04(月) 23:34:28.04ID:???
>>355
やっぱりIEの設定じゃない?
Cookieを常に許可にしてみたら?
0357nobodyさん2011/04/04(月) 23:34:38.53ID:???
非推奨関数使いすぎのCakePHPなんて今すぐ窓から投げ捨てろ
0358nobodyさん2011/04/04(月) 23:38:58.32ID:???
なんとなくだけど、Aero無効、もしくはオーバーレイを無効にしてみたらどうだろうか。
0359nobodyさん2011/04/04(月) 23:39:43.47ID:???
うそー、Cakeってもうだめなのー
なにならいいのー
0360nobodyさん2011/04/04(月) 23:44:36.79ID:vvCt2F5b
>>356
常に許可でも無理ぽいなー
ありがとう

ふと思ったんですが、これってドメイン関係あります?
DNSの設定で、本日ドメインに対してIP割り当てたので・・・。

なさそうかな・・・。
0361nobodyさん2011/04/04(月) 23:46:52.23ID:???
PHP5.2のサポートはもう終わったのにPHP5.3に正式対応してないフレームワークなんて古い制作会社ぐらい
0362nobodyさん2011/04/05(火) 00:19:19.98ID:???
>>354
それだとPHPがHTMLを返してるのが原因。
試しにJavaScriptのコールバック部分に、alert(data);って入れて試してみな。HTMLタグが表示されるはず。
それをJSONデータのみを返すようにする必要がある。

CakePHPわからないから解決策は答えられないけど、Ajax用の設定があったはず。
「CakePHP Ajax」とかでググったらそれっぽいのたくさん出てくると思うよ。
0363nobodyさん2011/04/05(火) 00:55:33.92ID:???
>>355,>>362
ありがとうございます。
cakePHPではjson形式で返すように記述する部分が別にありまして、
そちらのファイルに<?php echo json_encode(array("response"=>$response)); ?>と記述しています。
前述したjQueryのpostのfunction内にalertを記述しても表示されないので、コールバック関数が呼ばれず
おそらくデータを取りに行ったまま文字通り何も返答しない状態になっているのかと思われます。

自分なりに考えたのですが、お二人の話から察するに、javaから送られたリクエストを受け取って「"response":false」というものを
セットすることはできているが、上記にある、JSON形式でjavaScriptに返答するファイルにセットされたものが渡されてないという感じっぽいですよね、、、。
となると、cakePHPの内部的な設定を間違えているのかなぁ・・・・。
ここで質問するのはお門違いだったかもしれませんね(´・ω・`)
0364nobodyさん2011/04/05(火) 01:05:45.94ID:???
>>363
そう、JSON返す処理自体は正しいんだけど、JSONデータの表示がHTMLテンプレートの中に組み込まれてる状態だから
JSON返すページのみHTMLテンプレートを使用しないように設定すればいいんだと思う
0365nobodyさん2011/04/05(火) 01:20:59.01ID:O9iT5e/s
Cookieの件ですが解決しました
まさかサブドメインにアンダーバー(_)が入っているとIEで使えないとか・・・。
いい勉強になりました
0366nobodyさん2011/04/05(火) 01:51:18.82ID:???
ドメイン名にアンダーバーは使用禁止だから、セキュアな方向に進んだんだな。よいことだ。
0367nobodyさん2011/04/05(火) 02:37:35.04ID:???

質問するときにID出さない奴には要注意

0368nobodyさん2011/04/05(火) 05:11:36.20ID:/Jg2TDSU
PC用のページにアクセスしてきた携帯を携帯用のページに飛ばしたいと思っています。

momo.php?mode=age2   > momokeitai.php?mode=age2
momo.php?mode=age255 > momokeitai.php?mode=age255
のようにしたいです。
この辺の処理はどうしたらいいでしょうか?

$UA = $_SERVER['HTTP_USER_AGENT'];

if(preg_match("/DoCoMo/",$UA)||
preg_match("/KDDI/",$UA)||
preg_match("/SoftBank/",$UA)||
preg_match("/Vodafone/",$UA)||
preg_match("/J-PHONE/",$UA)
){

}

よろしくお願いします<m(__)m>
0369nobodyさん2011/04/05(火) 05:32:57.12ID:???
>>368
header("Location: momokeitai.php?mode=".$_GET['mode']);
0370nobodyさん2011/04/05(火) 05:40:44.30ID:???
.htaccessでしたほうがいい
0371nobodyさん2011/04/05(火) 06:36:47.85ID:/Jg2TDSU
$UA = $_SERVER['HTTP_USER_AGENT'];

if(preg_match("/DoCoMo/",$UA)||
preg_match("/KDDI/",$UA)||
preg_match("/SoftBank/",$UA)||
preg_match("/Vodafone/",$UA)||
preg_match("/J-PHONE/",$UA)
){
header("Location: momokeitai.php?mode=".$_GET['mode']);
}
これでやってみましたが
momokeitai.php?mode=
でIDの部分が空のまま転送されます。・゚・(ノД`)・゚・。
なんででしょう
>>370
.htaccessは負担が重いので使えません(´;ω;`)
0372nobodyさん2011/04/05(火) 06:42:35.99ID:/Jg2TDSU
$UA = $_SERVER['HTTP_USER_AGENT'];

if(preg_match("/DoCoMo/",$UA)||
preg_match("/KDDI/",$UA)||
preg_match("/SoftBank/",$UA)||
preg_match("/Vodafone/",$UA)||
preg_match("/J-PHONE/",$UA)
){
if(isset($_GET['id'])) {
$id = $_GET['id'];
}
header("Location: momokeitai.php?mode=".$id);
}

これでできましたありがとうございます!
0373nobodyさん2011/04/05(火) 06:57:00.71ID:???
>>371
modeに何も入ってないとしか・・・
コードは間違ってないと思うよ
0374nobodyさん2011/04/05(火) 10:13:47.60ID:???
$_SERVERはやめましょう
getenv('HTTP_USER_AGENT')と書きましょう
0375nobodyさん2011/04/05(火) 10:18:51.89ID:vfRDyz1b
public_html/ … 公開ディレクトリ
application/ … 非公開ディレクトリ

のようにディレクトリ階層が別れており、
上記のポジションを崩さず、下記のように設定は可能でしょうか。

http://hoge.example.com/hoge1/
http://hoge.example.com/hoge2/
0376nobodyさん2011/04/05(火) 10:23:47.55ID:???
>>375
http://hibari.2ch.net/test/read.cgi/php/1297364669/10
0377◆oDupeixhZv52 2011/04/05(火) 10:26:05.38ID:???
>>375
public_htmlにhoge1 hoge2作れ
0378nobodyさん2011/04/05(火) 10:26:45.43ID:O9iT5e/s
>>376
ごめんなさい、ZF使ってないです

http://hoge.example.com/hoge1/ → /home/www/hoge/hoge1/public_html
http://hoge.example.com/hoge2/ → /home/www/hoge/hoge2/public_html

のように、ドキュメントルートの設定は可能でしょうか
0379nobodyさん2011/04/05(火) 10:27:48.92ID:???
>>378
読んだの?htaccessの話なんだけど
0380nobodyさん2011/04/05(火) 10:29:21.42ID:O9iT5e/s
>>379
ドキュメントルートにapplicationを設置した場合、
public_htmlとapplicationの階層崩れますよね
0381nobodyさん2011/04/05(火) 10:34:08.53ID:???
質問の意味がわかんない
>>375では
http://hoge.example.com/hoge1/
http://hoge.example.com/hoge2/
のように設定したいと言いながら>>377に回答貰った後に
>>378
http://hoge.example.com/hoge1/ → /home/www/hoge/hoge1/public_html
http://hoge.example.com/hoge2/ → /home/www/hoge/hoge2/public_html
にしたいって・・・
どこにpublic_htmlとapplicationが入ってんの?
0382nobodyさん2011/04/05(火) 10:39:10.40ID:???
>>378
だからそうしたいならpublic_htmlにhtaccessでアクセス拒否して
/home/www/hoge/hoge1/public_htmlやらにhtaccessでアクセス許可すりゃいいだろ?
0383nobodyさん2011/04/05(火) 11:06:27.51ID:???
>>382
質問の意味が理解できていないようですね
0384nobodyさん2011/04/05(火) 11:09:02.49ID:O9iT5e/s
>>381

ディレクトリ階層
hoge1/public_html/index.php etc
hoge1/application/config.php etc

hoge2/public_html/index.php etc
hoge2/application/config.php etc

URL

http://hoge.example.com/hoge1/ → /home/www/hoge/hoge1/public_html
http://hoge.example.com/hoge2/ → /home/www/hoge/hoge2/public_html
0385◆oDupeixhZv52 2011/04/05(火) 11:18:42.07ID:???
http://httpd.apache.org/docs/2.0/ja/urlmapping.html
みたいな設定の話?
0386nobodyさん2011/04/05(火) 12:02:28.35ID:???
>>384

>>382 + rewrite
0387nobodyさん2011/04/05(火) 12:06:53.84ID:uZc7Aq85
変数がセットされている+その値が正しいかを調べる為に

if (isset($var) && $var == 1)

みたいな書き方をしているのですが、これって正しいですよね?
一応、エラーは出ませんが・・。
0388nobodyさん2011/04/05(火) 12:08:52.13ID:???
正しくないです
0389nobodyさん2011/04/05(火) 12:15:43.61ID:???
変数がセットされている+その値が正しいかを調べる為に

if (unset($var) & $var = 1)

みたいな書き方をしているのですが、これって正しいですよね?
一応、エラーは出ませんが・・。
0390nobodyさん2011/04/05(火) 12:16:23.67ID:???
正しいです
0391nobodyさん2011/04/05(火) 14:20:25.76ID:0O+W0/s0
質問です。よろしくお願いします。

$main はCSVより読み込んだテキスト(HTMLタグ付き)が配列で収納されています。
同様に $link にもcsvより読み込んだファイル名を収納しており、このファイル名でファイルを生成します。

・やりたいこと。
ファイルを複数生成し、テンプレートを読み込み、そのメイン記事となる部分にcsvで記載したテキストを表示させたい。
テンプレートファイル内の#include# にmein[] の中身を順に書き出したい

・やったこと
下記プログラム。
csv を配列に収納→ for で配列の数だけ回しながらファイル生成と記事の作成をしようとした。


・問題点
for の中にある $n が有効になっていない?
生成されるファイル名は 配列$linkの[0]から[7]の名前で生成されますが
記事の内容は全て $main[1] が書き出されています。
$main["$n"] の$n が変化していない印象がある。

ファイル一式をUPしました
http://www1.axfc.net/uploader/Sc/so/221739

03923912011/04/05(火) 14:21:03.81ID:0O+W0/s0

for($n = 0; $n < 8; $n++) {
$filename = $link[$n].".html";//ファイル名の指定
$main_txt = $main["$n"];
if ( !file_exists ( $filename ) ) {//もしファイル名がなかったら
touch($filename); // 新しくファイルを作成
chmod($filename,0666);
//テンプレートファイルにある文字列を置換する
$keys['#include#'] = $main_txt;
$buff = strtr($buff, $keys);
$fp = fopen( $filename,"r+"); // 読み書きモードでオープン
flock($fp, LOCK_EX); // 書き込みロック
fseek($fp, 0); // ポインタを先頭に戻す
fputs($fp, $buff); // 書き込み
fclose($fp); // ファイルを閉じる
}//ファイルがある場合は処理しない
}


改行制限のため分割
プログラム一部抜粋しました。
0393◆oDupeixhZv52 2011/04/05(火) 14:50:58.68ID:???
置換後にいくら置換しても変わらないから。
0394nobodyさん2011/04/05(火) 15:04:26.86ID:???
>>393
テンプレートファイルの中身は最初の中身のままです。
置換したものを別ファイル名で保存しているので問題ないと思うのですが。

別の指摘でしたらすいません、詳しく教えてください
0395nobodyさん2011/04/05(火) 15:06:41.63ID:???
いや、$buffの中身が
0396nobodyさん2011/04/05(火) 15:14:25.71ID:???
- $buff = strtr($buff, $keys);
+ $buff2 = strtr($buff, $keys);

- fputs($fp, $buff);
+ fputs($fp, $buff2);

        ∧∧
       ヽ(・ω・)/
      \(.\ ノ
    、ハ,,、  ̄
03973912011/04/05(火) 15:54:56.13ID:???
ありがとうございます。試してみます
0398nobodyさん2011/04/05(火) 16:23:39.15ID:9JKVBGzM
外部サイト(ローカルエリア)の画像ファイルの有無を調べたいのですが、
file_existsでは絶対パスが使用できないので困っています。
何かいい方法ありませんか?
0399nobodyさん2011/04/05(火) 16:48:14.83ID:RXGsg7Xb
$array = array("test" => "テスト");
$key = "test";
// A
echo $array["$teset"];
// B
echo $array[$test];

Bなんですけど変数に"や'で囲まなくてもいいのでしょうか?
echo $array["'". $test. "'"];な感じに囲むものでしょうか?
0400nobodyさん2011/04/05(火) 16:51:29.60ID:???
>>398
file_get_contents
0401nobodyさん2011/04/05(火) 16:56:00.18ID:9JKVBGzM
>>400
うおぉぉ、なぜ思いつかなかったんだ…
ありがとうございます
0402nobodyさん2011/04/05(火) 16:56:07.86ID:???
>>399
$key = "test" なんだから、
$array["test"] = $array[$key] でしょ

> echo $array[$test];
$test は定義されていない

"$key" は文字列の中で$keyが展開されて "test" と同じ
'$key' は展開されないのでそのまま「$key」という文字列になる
"'".$key."'" は "'"."test"."'" = "'test'"
0403◆oDupeixhZv52 2011/04/05(火) 17:01:41.36ID:???
>>398
http://www.php.net/manual/ja/function.file-exists.phpの下にある
url_exists みたいなのもある。

>>399
ふつうは囲まない。
"$key" みたいなのは  NULLのとき "" になるのを使うこともある。

0404nobodyさん2011/04/05(火) 17:02:19.98ID:???
複数のサーバー間で、1Gbytes程度のファイルの転送をしたいです。
file_get_contentsでファイル転送リストを取得、foreachでそれぞれ
file_get_contentsでファイルを取得していますが、一定サイズ以上になるとうまくいきません。
ファイルすべてをメモリ上にプールすることなく、取得する方法はないでしょうか。
04054042011/04/05(火) 17:02:46.43ID:WgbWuRE+
404です。
0406nobodyさん2011/04/05(火) 17:07:32.98ID:???
404 File Not Found.
0407nobodyさん2011/04/05(火) 17:09:01.81ID:???
>>404
fopen
04084042011/04/05(火) 17:14:06.76ID:WgbWuRE+
>>407
WANでしか接続できないサーバーなので、
allow_url_fopenオプションを入れて、fopenで取得しローカルのファイルにfputする、っていう
ことでしょうか。メモリ上にプールされる気がします
memory_limit < file_sizeにすれば正常に取得されます
0409nobodyさん2011/04/05(火) 17:17:22.74ID:???
>>408
fread ですこしずつ読み込んでファイルに保存していけばいい

$handle = fopen("http://www.example.com/", "rb");
$contents = '';
while (!feof($handle)) {
 $contents .= fread($handle, 8192);
 $contents をファイルに書き出し
}
fclose($handle);
0410nobodyさん2011/04/05(火) 17:18:00.67ID:???
× $contents .= fread($handle, 8192);
○ $contents = fread($handle, 8192);
0411nobodyさん2011/04/05(火) 17:19:32.00ID:???
それでもメモリにキャッシュされちゃうか?
04124042011/04/05(火) 17:33:17.39ID:WgbWuRE+
>>409
ありがとうございます。
保存先をファイルポインタ終わりにおいて開き、whileの中でfputしていくようにすると
保存先ファイルのファイルサイズが順調に増え、memory_limit=256Mとしたときでも
980MBytesのファイルを保存できたことを確認しました。

リモートでも逐次読み込み、保存できたとは...ありがとうございました。
0413nobodyさん2011/04/05(火) 17:53:14.48ID:RXGsg7Xb
file_put_contentsでファイルに追記してるとき
ファイルサイズが500MB超えると急激に書き込み速度が落ちるのは何故なんですか?
500MB - 1byteまではベンチ取ったけど速度は一定です
PHPで規制されてるのですか?何故ですか?
0414nobodyさん2011/04/05(火) 18:09:39.27ID:???
>>413
memory_limitはどうなってる?
場合によってはOSレベルでメモリスワップが発生しているのかも知れない。
0415nobodyさん2011/04/06(水) 01:21:13.22ID:tGjaXihe
PEARのライブラリって何ですか?どうやったら使えますか?
サイトに使いたいCGIを見つけたのですがライブラリが必要だと書いてあったので…
htmlとcssの知識なら少しはあるのですが、PHPは殆どわかりません。
0416nobodyさん2011/04/06(水) 02:47:29.90ID:???
>>415
手頃な教科書から始めてみなよ
案外すぐ覚えられるし覚えて損はないよ
0417nobodyさん2011/04/06(水) 03:03:27.99ID:???
>>416
調べてわからなかったから質問しているのですが…
答える気が無いなら黙っててくれませんか?
正直そういう出し惜しみってかなりウザいんで。
0418nobodyさん2011/04/06(水) 03:24:23.49ID:???
調べてわからなかったら、教えて貰ってもわからないのは自明だ。
本人の能力の問題であって、知る術の問題ではない。
単に能力がないだけ。
素質がない。

いいか、みんな
 (゜д゜ )
 (| y |)

才能がある奴が努力すると
才能 ( ゜д゜) 努力
 \/| y |\/

 二つ合わさって天才となる
 ( ゜д゜) 天才
 (\/\/

そして、いいか、みんな
 (゜д゜ )
 (| y |)

無能な奴が努力すると
無能 ( ゜д゜) 努力
 \/| y |\/

 二つ合わさって無力となる
 ( ゜д゜) 無力
 (\/\/
0419nobodyさん2011/04/06(水) 03:29:13.38ID:???
いやならないだろ
0420nobodyさん2011/04/06(水) 03:32:54.85ID:???
質問スレなのにggrksは無いわ
0421nobodyさん2011/04/06(水) 03:40:35.14ID:Zyk6jd4E
PHP 5.2とpearのOAuth Packageを使用しています
twitter APIを利用した投稿後のレスポンスxmlに関してです
$response = $consumer->sendRequest('http://api.twitter.com/1/statuses/update.xml', array('status' => $tweet), 'POST');
($consumerはHTTP_OAuth_Consumerのインスタンス)
@ echo mb_convert_encoding($response->getBody(), 'EUC-JP', 'UTF-8');
$xml = new SimpleXMLElement($response->getBody());
A echo mb_convert_encoding($xml, 'EUC-JP', 'UTF-8');
B echo mb_convert_encoding($xml->status->text, 'EUC-JP', 'UTF-8');

@は表示されるのですが、AやBが表示されなくて困っています
04224212011/04/06(水) 03:46:57.73ID:Zyk6jd4E
追記ですが、投稿はできてます
0423nobodyさん2011/04/06(水) 03:47:41.71ID:???
>>421
手頃な教科書から始めてみなよ
案外すぐ覚えられるし覚えて損はないよ
0424nobodyさん2011/04/06(水) 03:55:17.15ID:???
> 、AやBが表示されなくて困っています

「表示されない」の意味が不明

04254212011/04/06(水) 04:06:01.54ID:Zyk6jd4E
投稿後帰ってくるxmlから投稿したテキストや、id等を抽出して出力しようと考えているのですが出力されません
0426nobodyさん2011/04/06(水) 04:21:10.08ID:???
試してないけど見た感じ、$xmlがXMLオブジェクトか配列になってるからだと思う
print_rで確認してみな。
0427nobodyさん2011/04/06(水) 04:41:31.23ID:???
あらためて読んでみたけど
@がechoで表示されるってことは$response->getBody()の戻り値は文字列ってことで
それを次の行でSimpleXMLElementオブジェクトにしているので、
AとBはSimpleXMLElementオブジェクトになっているため、パースしないと文字列として出力することはできない

ところで、$response->getBody()の結果は何が表示されてるの?文字列?XML?
それがXMLならば、Aの前の行に以下を入れれば、Bが表示できる可能性がある。
$xml = simplexml_load_string($xml);
0428nobodyさん2011/04/06(水) 04:42:55.70ID:???
抽出が目的ならば、出力できないとか表示されないは関係ないね。
抽出はできているのかな? どうやって抽出できているかを確認しているのかな?
0429426, 4272011/04/06(水) 04:48:35.53ID:???
あらためて読んでみたけど、>>425でXMLが返ってくるって言ってたのか。
それならそのXMLをパースすればいいんだよ。パースっていうのは解析って意味ね。

たぶん、new SimpleXMLElement()を使うのはまだ難しいと思うから、
simplexml_load_string();とかsimplexml_load_file();を使ったほうがいいと思う。
ググって使い方を覚えとくといいよ。これは万能で覚えとけば何でもできるようになるから。
04304212011/04/06(水) 04:49:16.84ID:Zyk6jd4E
>>426-428 ありがとうございます。
>>426の方のprint_rの出力結果を参考に、
echo mb_convert_encoding($xml->text, 'EUC-JP', 'UTF-8');
に変えたらとりあえず表示されるようにはなりました。出力結果を見たらなぜか親要素のstatusがなくなってました
0431nobodyさん2011/04/06(水) 05:09:36.20ID:???
>>417
PHP殆どわかりませんpearってなんですかとかアホ丸出し過ぎ

0432nobodyさん2011/04/06(水) 05:11:10.78ID:???
設置系は作者に聞けとしかいいようがないよな
作る人向けのスレだし門前払い食らうのは当たり前よ
04334212011/04/06(水) 05:25:03.63ID:Zyk6jd4E
>AとBはSimpleXMLElementオブジェクトになっているため、パースしないと文字列として出力することはできない
まさにそのとおりです。ありがとうございます。自分では
echo mb_convert_encoding($xml->status->text, 'EUC-JP', 'UTF-8');
でパースしているつもりだったのですが、違ったようでした
このページ ttp://phpspot.net/php/man/php/function.simplexml-load-string.html の例1を例とすると
整形式XML文字列をオブジェクト化しても親要素documentは存在し、$xml->document->titleとなると勘違いしていました
精進します
0434nobodyさん2011/04/06(水) 09:28:13.87ID:???
>>432
おまいら質問者に冷たすぎだろ
別に既存のスクリプトについて質問してるわけじゃなくPEARとは何かっていう一般的な質問に過ぎないんだから

せめてこれくらいは
>>3読め
■PEARマニュアル  http://pear.php.net/manual/ja/
0435nobodyさん2011/04/06(水) 09:36:06.40ID:jXnilcjz
>>415
PEARのライブラリって何ですか?→ http://tinyurl.com/3rbty5m
どうやったら使えますか?→ http://tinyurl.com/3d2nnld
0436nobodyさん2011/04/06(水) 11:40:02.77ID:???
なんで質問スレの奴らってちょっと教えてやれば済む事でも
ググれとか言うんだろうな。ググってわかったら質問してないわ
0437nobodyさん2011/04/06(水) 11:51:22.59ID:???
ググり方すらわからん奴に教えても無駄だから
普通の人ならググればわかることだから
0438nobodyさん2011/04/06(水) 12:02:00.05ID:???
ググってないから分からない
0439nobodyさん2011/04/06(水) 12:02:07.29ID:???
ググれ以前の問題じゃね?
最低限質問する前にテンプレくらいは普通見るだろ
>>1>>3を読め
0440nobodyさん2011/04/06(水) 12:26:43.68ID:???
たまに荒れるけど、基本的に淡々と答えてくれる人の多いスレだと思うよ
ちょろっと覗いただけで「なんで質問スレの奴らって云々」とか言ってまとめられるとか心外すぎ
0441nobodyさん2011/04/06(水) 12:42:35.31ID:???
ggりもしないで聞くのはマナー違反
0442nobodyさん2011/04/06(水) 12:55:52.13ID:???
ググってから質問しろというルールは無い
>>1>>3を読んでから質問しろというルールも無い
てか>>1とか読まないからルールなんて知らない
0443nobodyさん2011/04/06(水) 12:56:49.43ID:???
このスレのルールじゃなくてネットのルールだろzk
0444nobodyさん2011/04/06(水) 13:43:59.50ID:???
何?>>1を読むのってネットのルールなの?始めて聞いた。
0445nobodyさん2011/04/06(水) 13:52:30.20ID:???
>>444
http://www.redout.net/data/osietekun.html
0446nobodyさん2011/04/06(水) 13:57:34.44ID:???
はいはい。そこがネットのルールなのね
0447nobodyさん2011/04/06(水) 14:17:57.46ID:???
釣りだろ?それともリアル中学生か?
ここまでひどいバカ滅多にいないぞ
0448nobodyさん2011/04/06(水) 14:35:32.90ID:???
春だしなぁ
ついさっき家の前でムホォォォ ウホォォォとか叫びながら歩いてる基地外いたし、ほんとコワイわ
0449nobodyさん2011/04/06(水) 14:40:13.03ID:???
どうせググれって言われて顔真っ赤になった質問者が荒らしてるんだろ
0450nobodyさん2011/04/06(水) 16:12:08.20ID:???
質問です
echoってどうやって使うか教えてください
回答者を>>442に指名します
使い方がさっぱり分からないのでサンプル付きでよろしくおねがいします
04514502011/04/06(水) 18:09:56.74ID:???
自己解決しました
0452nobodyさん2011/04/06(水) 19:20:05.62ID:CfTvqrTN
http://jp.php.net/manual/ja/function.ob-gzhandler.php
こちらの関数を使ってページを圧縮してみたところ、
IE8では圧縮されずFxでは圧縮されました。
前者では右クリ→プロパティ、後者では右クリ→ページの情報を表示で確認しました。
ChromeやOpera等他のブラウザも調べたかったのですが、
確認方法がわかりませんでしたが、IE以外は対応してると考えていいでしょうか?
2chのページも同じ感じでブラウザから表示して確認したところ、同様の結果になったので、
IEでは対応してないから無理ということなのかもしれませんが、
IEでもページ圧縮を有効にする方法がありませんでしょうか?
04534512011/04/06(水) 19:21:08.45ID:???
解決はしてません
>>451は偽者です
>>451>>442さん分からないので回答おねがいします
0454nobodyさん2011/04/06(水) 19:25:44.11ID:???
>>442です
初心者なのでecohとか言われてもわかりません
ほかのひとに聞いてください
04554502011/04/06(水) 19:28:07.46ID:???
>>453
>>1
0456nobodyさん2011/04/06(水) 19:39:37.54ID:???
>>452
マニュアルのそのページ全部読んで試したかい?

Someone previously mentioned that MSIE doesn't cache gzipped content. This is false. He misread the source of information. In fact, IE will cache gzipped content no matter what. Here is the quote from the mailing list:

The reason the COMPRESSED responses are, in fact,
always getting cached no matter what "Vary:" field name
is present is just as I suspected... it is because MSIE
decides it MUST cache responses that arrive with
"Content-Encoding: gzip" because it MUST have a
disk ( cache ) file to work with in order to do the
decompression.

だそうだ。俺は試してないから知らんが。
04574522011/04/06(水) 19:47:54.84ID:CfTvqrTN
>>456
ごめんなさい。
翻訳通しましたが何を言ってるのかわからないです。
具体的なコードがあれば理解できるのですが。
ユーザエージェントには、
HTTP_ACCEPT_ENCODING gzip, deflate
とあるので、何らかの方法でなら可能だとは思うんですけど。
0458nobodyさん2011/04/06(水) 20:19:22.16ID:???
翻訳を通して分からないところは手動で翻訳していくといいよ。
英語とプログラムの勉強が同時にできる。
0459nobodyさん2011/04/06(水) 20:27:34.85ID:???
分からないことは
適当にそれらしき英文貼ってごまかすことはよくある
しかしそれは全く的外れである
0460nobodyさん2011/04/06(水) 20:57:24.75ID:???
>>457
だからそのページの下の方ずっと読んだの?
サンプルコードも色々出てるじゃん。
Content-Encoding: gzip あたりがヒントになりそうだろ。
何度も言うけど試したわけじゃないから知らんよ。
0461nobodyさん2011/04/06(水) 21:16:05.72ID:???
知らんなら答えるなよw
0462nobodyさん2011/04/06(水) 21:16:49.29ID:???
知らないなら無理して答えなくて良いと思うぞ
0463nobodyさん2011/04/06(水) 21:55:54.14ID:???
教えてください。

LDAPでログイン認証等を行っているのですが、不具合があり困っています。
LDAP_BINDを何回かやっていると、接続できなくなります。
エラーの内容は49のLDAP_INVALID_CREDENTIALSです。

アパッチを終了させ、ネットワークアダプタを再起動させないと接続できなくなっていしまいます。
接続は以下のようになっています。
ブラウザhttp → 80 → ローカルPC(xampp1.7.3 apach) → 389 → AD(win2003)

バインドできない間ですが、以下は動作しますのでネットワークの不具合ではないと思っています。
エクスプローラー → ネットワーク → Activedirectory検索

AD連携が不要になった時点、毎回リクエスト後にunbindも必ず行っています。
どなたか、考えうる情報をお願いします。
0464nobodyさん2011/04/06(水) 21:58:17.63ID:???
スレタイを声に出して読んでください
0465nobodyさん2011/04/06(水) 21:59:19.02ID:9SLSQWTQ
ID忘れていました!
0466nobodyさん2011/04/06(水) 21:59:27.58ID:???
>>444
ネットのルールがどうとかはどうでもよくて、このスレのルールではあるな
0467nobodyさん2011/04/06(水) 22:01:36.82ID:???
>>463
ソケットが全部TIME_WAITになってるってことはない?
04684632011/04/06(水) 22:03:12.31ID:9SLSQWTQ
age

たまにドメインでパスワードなしの人がいますが、
LDAPの際にパスワードなしでもbindが成功していまいます。
環境が匿名bindでsearchできない(取得できない)仕様なので、
入力されたID・パスワードでbind後、自身をsearchして取得できたら認証OK
としていますが、どう思いますか?
0469nobodyさん2011/04/06(水) 22:03:58.26ID:???
>>467
netstat してみましたが、問題ありませんでした><
0470nobodyさん2011/04/06(水) 22:44:29.77ID:???
>>468
どう思うかという質問ですが、それでいいと思う。
試したわけじゃないから知らんけど。
0471nobodyさん2011/04/06(水) 22:46:04.88ID:???
>>466
でも>>1を読まないのでこのスレのルールは知らないのです。
0472nobodyさん2011/04/06(水) 23:17:29.22ID:GwYx6Y2W
>>471
じゃあ消えろ(^^)
0473nobodyさん2011/04/06(水) 23:54:05.95ID:???
>>464
>>465

ID出し忘れた時点でアウト
出直しておいで

0474nobodyさん2011/04/07(木) 01:19:22.15ID:T+wF9gWR
http://sameha.net/tool/post/set.cgi
このツールってどういう仕組みですか?

AU携帯でURLにアクセスするだけでPOST送信されます。
他のDoCoMo,Softbank,PCなどでは使えないみたいです。

POST送信するサイトがPC禁、Proxy禁にしてあるところでも
このツールで普通にPOST送信できてしまうので、
ソケットではないと思うのですが・・・
てか、ソケットだったらキャリア指定する必要ないですし。。。
というか自分の掲示板にも投稿できました。

リンクのファイル拡張子はcgiで使用されている言語はperlですけど
どうなってるか想像付く人居ますか?

私はPerlではなくPHPで作成したいです。
それとこれをされると普通に連投とかされてしまうので
対策方法も考え付く方居たらお願いします。
0475nobodyさん2011/04/07(木) 01:25:07.30ID:???
宣伝乙
0476nobodyさん2011/04/07(木) 03:06:24.29ID:???
>>471
せめて屁理屈ぐらいちゃんと言えるようになろうよ
0477nobodyさん2011/04/07(木) 03:11:35.71ID:???
>>474
CSRF
0478nobodyさん2011/04/07(木) 08:35:09.01ID:???
>>472,>>476
消えろと命令されても従う義務はありませんので消えません。
屁理屈ですか。では、そもそも>>1を読む義務が存在しないので、
>>1に書かれているローカルルールは無効です。
2ch全体のルール(規則)であれば、2chの関係者が作成したものなので責任の所在が明確ですが、
このスレのルールを誰かが作ったとして、どこの誰かもわからんような奴が作ったルールなどに
従う義務はない。
0479nobodyさん2011/04/07(木) 09:10:36.19ID:???
自分でスレ建てて好きにルール作ってやればいいじゃん
このスレでやる以上従うのは義務です
0480nobodyさん2011/04/07(木) 09:22:06.06ID:???
さすがに釣りだと思うけど、>>478みたいな池沼ってリアルでもたまにいるから怖い

ある意味、法律とかマニュアルとかが整備されすぎなんじゃないかって思う
ルールにのってないからやっても大丈夫とか、○○のルールには従う必要ないとか、常識で考えることもせず
まわりに合わせることができないだけなのに自分かこいいとか思ってる哀れな子増えすぎだよね
俺たち大人がこういう子をぶん殴ってこなかったのも悪いかも知れんね
0481nobodyさん2011/04/07(木) 09:37:04.52ID:UvKKIzH2
アクセスログを取りたいのですが、下記の02行目のように同一サーバー内からは
問題なくリファラを収集できているのですが、「http://○○.com/referer.dat」など
外部ドメインへ書き込みをしようとするとエラーになってしまいます。

どのように記述すれば外部サーバー内のdatファイルに書き込みできるでしょうか?



//リファラを書き込むファイルを指定
$refererfile="referer.dat";        ←ここで困っています
//接続者のPC環境を取得
$agent = $_SERVER["HTTP_USER_AGENT"];
//接続者のリファラを取得
$referer = $_SERVER["HTTP_REFERER"];
//時間の取得
$wday=time();
$days=date("YmdHi",$wday);
//追記用でファイルを開く
$fp = @fopen($refererfile,"a+");
//ファイルを一時ロック
flock($fp,LOCK_EX);
//書き込み
fputs($fp, $days."|".$referer."|".$agent."\n");
//ロック終了
flock($fp,LOCK_UN);
fclose($fp);
0482nobodyさん2011/04/07(木) 09:37:55.66ID:???
スルー推奨
0483nobodyさん2011/04/07(木) 09:50:52.02ID:???
>>474
これどこかのスレでみたな
マルチ乙
0484nobodyさん2011/04/07(木) 10:41:36.61ID:???
>>481
一、外部サーバ側で書き込み可能なプロトコルを開通する。
  http://www.php.net/manual/ja/wrappers.php
一、とりあえずシステムのロガーへ投げてそっちで設定する。
一、外部サーバ側にブログっぽいアプリを設置してそこへPOSTする。
0485nobodyさん2011/04/07(木) 12:23:27.65ID:???
>>480
釣りではありません。真剣です。
そういう人もいることを考慮しなければならないということです。
ぶん殴ってもいいですが、傷害罪で訴えますよ。
0486nobodyさん2011/04/07(木) 12:31:59.43ID:???
うわぁ・・・
0487nobodyさん2011/04/07(木) 12:46:20.23ID:???
いてどうするんだろ。更新されてるから着たのに質問じゃないとか徒労なんだが
0488nobodyさん2011/04/07(木) 12:51:19.28ID:???
ルールでなければ何やってもいいと考えてるからリアルでも社会になじめてない奴なんだろう
0489nobodyさん2011/04/07(木) 13:18:33.48ID:kE4uZ6E8
A,B,Cの三つの変数の値の組み合わせをチェックするプログラムを作っています。
ループの中で
$var[$A][$B][$C]の値の有無を確認して
値があればそれに沿った処理を行い
値がなければそれに沿った処理を行い、
$var[$A][$B][$C]に値を設定しています。

ループはテキストファイルを読み込んで
1行1行の値に対して上記の処理を行います。

テキストファイルの中には
A,B,Cの値の組み合わせが入っているので、
上記のように3次元の配列にしたわけですが、
A,B,Cの文字列の値を結合して
1次元配列でしたほうが階層は深くならないなと
思ったのですが、どちらのほうが実装する上ではスマートなのでしょうか?

1次元配列のほうがパフォーマンスも良いように思えるのですが・・・
0490nobodyさん2011/04/07(木) 13:44:13.84ID:???
最近のサーバーならパフォーマンスは誤差だと思うけど、
俺ならABCを結合したキーにして1次元配列にする
0491nobodyさん2011/04/07(木) 13:49:11.55ID:???
長文読むの面倒くさいからコード出して
パフォーマンスが悪いところあれば直してあげるから
0492nobodyさん2011/04/07(木) 14:06:34.30ID:???
>>489
値があれば、がどのレベルなのかによるんじゃないかな。
3次元すべてに対してissetしてるならもしかすると遅いかも。
パフォーマンスについて気にするのは、そこが遅いとわかった時だけでいいよ。

>>490
デリミタは何にするの?
0493nobodyさん2011/04/07(木) 14:27:27.72ID:???
>>492
桁数が決まってたらデリミタなんかいらないし、桁数決まってない数値だってなら数字以外ならなんでもいいべさ
04944892011/04/07(木) 14:32:07.67ID:kE4uZ6E8
>>490 >> 492

その後1次元配列で試してみたんですが、半分近く処理時間が短縮できました。
元々の3次元配列を使った場合のロジックにも問題があったので、
それも影響しているとは思うのですが。

ですので、1次元の配列でやってみたいと思います。
デリミタは私は「_」で行こうと思います。
これはA,B,Cに含まれない値になるので。

どうもありがとうございました。
0495nobodyさん2011/04/07(木) 15:44:21.26ID:???
MySqlに登録した画像を表示する為にはどうすればいいですか?
条件として、登録しているテキスト内に「//img1」の文字があれば画像に変換するんです。

1.$wk_text = htmlspecialchars($row['Text']);
2.$pat = '(//img1)';
3.$rep = '<IMG SRC=./image/1-1.jpg WIDTH="120" HEIGHT="80"/>';
4.$wk_text = ereg_replace($pat, $rep, $wk_text);
これで表示は出来るんですが、3.の部分を固定したくないです。
画像だけ変数ってできます?
0496nobodyさん2011/04/07(木) 16:04:04.46ID:???
急いでるから至急回答お願いします。
0497nobodyさん2011/04/07(木) 17:20:52.62ID:???
じゃぁ急いで>>1を読んで来い
0498nobodyさん2011/04/07(木) 18:24:49.43ID:???
>>176
私怨かなんか知らんがすいとんされてたぞ
http://hato.2ch.net/test/read.cgi/sato/1300975748/279
0499nobodyさん2011/04/07(木) 18:26:09.72ID:HyNj3QLj
>>497sageてたorz
因みに、>>496おれじゃないよーww

MySqlに登録した画像を表示する為にはどうすればいいですか?
条件として、登録しているテキスト内に「//img1」の文字があれば画像に変換するんです。

1.$wk_text = htmlspecialchars($row['Text']);
2.$pat = '(//img1)';
3.$rep = '<IMG SRC=./image/1-1.jpg WIDTH="120" HEIGHT="80"/>';
4.$wk_text = ereg_replace($pat, $rep, $wk_text);
これで表示は出来るんですが、3.の部分を固定したくないです。
画像だけ変数ってできます?
0500nobodyさん2011/04/07(木) 18:59:22.14ID:???
> これで表示は出来るんですが、3.の部分を固定したくないです。
> 画像だけ変数ってできます?

の意味がいまいちわからん。もう少し詳しく
0501nobodyさん2011/04/07(木) 19:01:17.33ID:???
1-1.jpgを$row['Text']にしたいって意味なのかねえ。いや、まさかな。
0502nobodyさん2011/04/07(木) 19:27:40.90ID:???
「//img1」を「./image/1-1.jpg」に対応させたいみたいだな。
だけど変換ルールが分からんな。
どこまでが固定なのかもわからんし、数字で対応させるのかも
分からない。

あと、eregは非推奨になったから、特に問題がなければpregで。
05034992011/04/07(木) 19:38:40.70ID:HyNj3QLj
>>500 >>501 >>502
返信ありがとうございます。

$row['Text']内に、//img1-->画像1と言う文字列が入っています。

db側に 1-1.jpg を登録済み。

3.$rep = '<IMG SRC=./image/xxxx WIDTH="120" HEIGHT="80"/>';
ここのxxxx部分にdb側から1-1.jpgを持ってきたい。
xxxxの部分は可変で出来ないでしょうか?と言う内容です。
0504◆oDupeixhZv52 2011/04/07(木) 19:39:01.70ID:???
3.5. $rep = str_replace("1-1.jpg",$row["img"],$rep);

実際に使ってる変数にするとか、htmlspecialchars とか ENT_QUOTES とか ""で囲むとかは適宜やってほしい。
0505◆oDupeixhZv52 2011/04/07(木) 19:41:08.99ID:???
ん、予想が外れた。
0506nobodyさん2011/04/07(木) 19:43:31.96ID:???
どうも粘着質なすいとん使いがこのスレにいるみたいだ
0507nobodyさん2011/04/07(木) 20:07:12.52ID:???
>>503
まだよくわからないんだけどなぁ。
$row['Text']って変数名からするとDBから引っ張ってきたデータなんでしょ?
なら「1-1.jpg」という文字列も引っ張ってこれるわけだよね。
それをそのまま$repの中に埋め込めばいいんじゃないの?

$row['Text']に「//img1-->画像1」という文字列が入ってるの?
何で$patの中身をカッコで括ってるの?
関係ないけどhtmlspecialcharsは一番最後、出力の直前に行ったほうがいい。
05084992011/04/07(木) 20:23:06.27ID:HyNj3QLj
>>504 やってみたんですがちょっとわからないです。。
>>507
お二方、ありがとうです。

dbの中身が$row[xxx]に配列で入ってます。
 KijiID:1
 Text://img1 --> 画像ファイル1で添付
 ImagePath1:1-1.jpg

因みに、//img1が文字列中にあった場合、(画像1)の変換は出来たですが、
この部分を1-1.jpgで画像を表示させる方法がわからないのです。

いま正規表現とか調べながらやってるんですが、画像で躓いてます。。
0509nobodyさん2011/04/07(木) 21:17:10.50ID:Iy8VBj9y
php5でlist使うとエラーになるんですけど
mmcache関係?なんでしょうか?


list($min, $max) = explode('-', $s, 2);

0510 ◆QkRJTXcpFI 2011/04/07(木) 21:56:05.70ID:gsgwRBSD
年月日を記録してあるxmlを、phpから書き換えたいのですが、動作しなくて困っています。。

現在の年月日は 2011.4.7 で
書き換え後の年月日は 2100.9.9 にしたいです。

「index.html」と「memory.xml」が同じフォルダ内にあります。


●memory.xmlの内容は以下のとおりです--------------------

<?xml version="1.0"?>
<memory>
  <year>2011</year>
  <month>4</month>
  <day>7</day>
</memory>
0511 ◆QkRJTXcpFI 2011/04/07(木) 21:56:23.35ID:gsgwRBSD
●htmlに以下のphpコードを書きました--------------------

<?php
  $memoryFile = 'memory.xml';

  if ( $xml = simplexml_load_file ( $memoryFile ) ) {

    function changeMemory ( $year, $month, $day ) {
      $xml -> year = $year; //年の書き換え
      $xml -> month = $month; //月の書き換え
      $xml -> day = $day; //日の書き換え

      $xml -> asXML ( $memoryFile ); //ファイルに書き出す
    }

    changeMemory ( 2100 , 9 , 9 );
  }
?>


どうも、以下の1文が作動してくれない気がします。。
$xml -> asXML($memoryFile); //ファイルに書き出す

どなたか原因がわかる方いらっしゃいましたら、
なにとぞご教授よろしくお願いいたします。。
0512nobodyさん2011/04/07(木) 22:03:54.24ID:???
<?php
$file = 'memory.xml';

if ($xml = simplexml_load_file($file)) {
changeMemory(2100, 9, 9, $file, $xml);
}

function changeMemory ($year, $month, $day, $file, $xml) {
$xml->year = $year; //年の書き換え
$xml->month = $month; //月の書き換え
$xml->day = $day; //日の書き換え

$xml->asXML($file); //ファイルに書き出す
}
05135122011/04/07(木) 22:07:06.07ID:???
こう書いたほうがスマートかな
<?php
$file = 'memory.xml';
changeMemory(2100, 9, 9, $file);

function changeMemory ($year, $month, $day, $file) {
if ($xml = simplexml_load_file($file)) return false;

$xml->year = $year; //年の書き換え
$xml->month = $month; //月の書き換え
$xml->day = $day; //日の書き換え

$xml->asXML($file); //ファイルに書き出す
return true;
}
0514nobodyさん2011/04/07(木) 22:33:02.11ID:???
>>508
これで一応いける。画像が複数とかになったら知らん。
いろんな人が訊いているのに、条件の詳細が書いてないもんな。

$row['Text'] = '//img1 --> 画像ファイル1で添付';
$row['ImagePath1'] = '1-1.jpg';

$wk_text = htmlspecialchars($row['Text']);
$rep = "<IMG SRC='./image/{$row['ImagePath1']}' WIDTH='120' HEIGHT='80'/>";
$wk_text = str_replace('//img1', $rep, $wk_text);
0515nobodyさん2011/04/08(金) 00:24:25.10ID:tO6Xjg0e
初歩的な質問で申し訳ないのですが、
$female3=${$CurrentArray}[3]."female";
$female3Count = $_GET[$female3];

GETで取得する変数名 => ここの部分 =>$_GET[ここ]
を動的に指定しようとして上記の指定をしましたが、うまくいきません。
上記の場合で、female3に入っている名前のGETを取得するには、
female3Countはどのように指定すれば良いのでしょうか。。
0516nobodyさん2011/04/08(金) 01:05:38.64ID:???
>>515
通りすがりですが、

もっと全体像見せた方がいいんじゃない?

これだと回答されにくいと思う。
0517nobodyさん2011/04/08(金) 01:08:58.07ID:???
何をしたいのかまったく伝わってこないけど、俺の読解力が低いのか・・・?
元となるフォームのほうで、<input type="text" name="female[]">とでもしてんのかな
0518nobodyさん2011/04/08(金) 01:46:40.28ID:???
>>515
やりたいことはそれでできるはず
もしかしてすごく根本的なミスでは?

>$female3=${$CurrentArray}[3]."female";

$female3=$CurrentArray[3]."female";
0519nobodyさん2011/04/08(金) 02:03:21.36ID:???
>>517
フォームから送信されるなんてどこにも書いてないなのに
フォームとか言い出してるおまえはエスパー力が高すぎる
05204992011/04/08(金) 09:40:26.44ID:/87TPhf8
>>514
ありがとうございます。

自分でもどうやって質問するかがまとまってなくてごめんなさい。
でも、あれだけの内容でいろいろ教えてくれてありがとう。

このソースで問題無く表示おkでした。

これからは、いろいろ勉強して教える立場になりたいとおもいます。
0521nobodyさん2011/04/08(金) 12:10:11.88ID:MJksbvOe
静的ページを出すメジャーなCMSってPHPには無いのでしょうか?
0522nobodyさん2011/04/08(金) 12:40:23.54ID:???
MTでも使っておけよ
0523nobodyさん2011/04/08(金) 14:18:12.10ID:???
>>520
そこまでできればもう教える立場になってますよ
05244992011/04/08(金) 15:25:27.62ID:/87TPhf8
>>523
 いえいえ、まだPHP始めて1週間たってないです。
 加えて言うと、プログラムはコレが初めてです。
 
 今は、わからない事あればググッて調べ、それでもわからなければ
 ココで聞くみたいな感じですね。
0525nobodyさん2011/04/08(金) 15:44:10.82ID:???
>>524
いえいえもう十分ベテランです。
ここの質問もググって答えてあげればいいんです。
実はみんなそうやってるんですよ。
05264992011/04/08(金) 16:12:06.13ID:???
>>525
 了解です!
 自分でわかる範囲のものがあれば答えてみますね。
0527nobodyさん2011/04/08(金) 16:16:10.23ID:z4213poJ
cakePHPつかってます
find()を使ってテーブルから指定したレコードの要素を取り出したいんですが

find('all', array("test"=>"test"); 

で、ひとつもヒットしないはずなのに
なぜか全てのレコードの要素がヒットしてしまいます
なぜヒットしてしまうのか検討がつきません
どなたか詳しい方いましたら教えていただけませんか。よろしくおねがいします
0528nobodyさん2011/04/08(金) 16:32:11.83ID:???
>>527
) 足りなくね?
0529nobodyさん2011/04/08(金) 16:52:27.96ID:???
>>528
あ、すいません!書き忘れました。
実際にはfind('all', array("test"=>"test"));となっております。
一体なにが悪いのか。。。
0530nobodyさん2011/04/08(金) 17:39:34.00ID:???
>>529
array("test"=>"test") って引数は有効なの?
無効だから無視されて find('all') と同等になっちゃってんじゃないの?
cakePHP使ったことないから知らんけど
0531nobodyさん2011/04/08(金) 17:46:41.59ID:6kx7EUS0
これだと Notice Error undefined index
function t1($s) {
return isset($s);
}


function t2(&$s) {
return isset($s);
}

こっちは動作します
この書き方はあってますか?
0532nobodyさん2011/04/08(金) 17:56:37.59ID:???
>>530
引数をもう一度調べたところ、どうやら間違っていたようです。
find('all'...の使い方を碌に調べずにやっていたせいですね。
どうもありがとうございました!
0533nobodyさん2011/04/08(金) 18:26:27.14ID:???
>>531
配列の要素を参照渡しすると勝手に定義されてしまう謎の副作用のせい
http://ideone.com/w9p4u
0534nobodyさん2011/04/08(金) 18:56:46.86ID:gZ3pjAdf
ArrowOverrideの値をphpから参照するにはどうすればいいdふぇすか。
PHPから.htaccessを書いて、アクセスしてみるしかない?
0535nobodyさん2011/04/08(金) 19:01:27.20ID:???
http://jp2.php.net/manual/ja/book.apache.php
これのどれかでできなきゃ無理なんじゃね
0536nobodyさん2011/04/08(金) 21:33:10.16ID:6kx7EUS0
>>533
ありがとうございます。直しておきました。。

undefined indexは気にしなくていいんですね


0537nobodyさん2011/04/08(金) 22:42:44.15ID:TULfamPX
秀丸でPHPを書いてるんですが、これって恥ずかしい事なんでしょうか?
CakePHPもダウンロードしてみましたが、掲示板を
カスタマイズしている程度の私には不要な気がしました。


皆さんは、どんなソフトを使ってPHPを書いていますか?
0538nobodyさん2011/04/08(金) 22:46:07.85ID:???
>>537
PeggyPro
0539nobodyさん2011/04/08(金) 22:48:22.30ID:???
>>537
DreamWeaver
0540nobodyさん2011/04/08(金) 22:49:53.20ID:???
秀丸でECCUBEコミュニティ版の開発に貢献してますが何か?
0541nobodyさん2011/04/08(金) 23:00:01.73ID:???
自分で貢献してるとか言っちゃう人ほど迷惑がられてる法則
0542nobodyさん2011/04/08(金) 23:16:05.81ID:???
>>537 SPACE Editor
0543nobodyさん2011/04/08(金) 23:21:52.24ID:???
>>541
貢献してるのは秀丸なんでしょ
0544nobodyさん2011/04/08(金) 23:36:50.31ID:???
>>537
eclipse
0545nobodyさん2011/04/08(金) 23:54:47.66ID:zTYaWkKE
多重ログイン(同じアカウントで別ブラウザからもう一度ログインする)
を防ぎたいと思っています。
ログイン時間をDBなどに保存してチェックをする方法以外に
何か良い方法はないでしょうか?
0546nobodyさん2011/04/08(金) 23:57:20.79ID:???
>>537
恥ずかしいとかwwww
馬鹿じゃないのかなぁ?
恥ずかしいって何?
能率が悪いコーディングしてるなって思われる事?ww

そんな事を言う事が恥ずかしいわww
0547nobodyさん2011/04/09(土) 00:01:41.19ID:???
>>545
UA、IP、クッキー
0548nobodyさん2011/04/09(土) 00:04:18.80ID:???
>>547
UAとは?UserAccount?
>>DBなどに保存してチェックする方法以外に
日本語読めますか?意味わかります?

クッキーwwwwwwwwwwwwwww
0549nobodyさん2011/04/09(土) 00:07:49.62ID:???
>>545=>>548
0550nobodyさん2011/04/09(土) 00:32:07.21ID:???
>>545
「同じアカウント」での多重ログインを防ぐってことは、ログインIDやパスワードが存在するわけで、
つまりアカウントをDB等で管理してるわけだよね。

他のブラウザからの同一アカウントでのログインを防ぐためには、
現在ログイン中のブラウザにログイン中のフラグを持たせるためにクッキーを食わせておけばいい。
他のブラウザでアクセスしようとしたら、ログイン中フラグを持つクッキーが存在しないので
一度強制ログアウトさせてログイン画面へ誘導する。
その際に最初にログインしたブラウザに保存させたクッキーはシステム側で無効にしておく。

ってのが普通の多重ログイン防止処理なんだけど、やっぱりDB等での管理は要るでしょ。
>>547じゃないけど、>>547がクッキーって書いてるのは別におかしくはない。
0551nobodyさん2011/04/09(土) 00:36:09.40ID:???
放射能でおかしくなっちゃったのか、かわいそうに…
05525452011/04/09(土) 00:39:16.34ID:lDu5zS4y
>>550
詳しくありがとうございます。
クッキーを食わせるのは想像が付くのですが、
例えば、ログアウトせずにブラウザを閉じた
ユーザーの場合はどうなるのでしょうか?

ログインの時はセッションで管理してるので
セッション+クッキー(まぁ、同じですが・・・)が正しい場合は続行で、
クッキーしかない場合は強制ログアウトとかでしょうか?
少し設計のイメージが沸きません・・・
0553nobodyさん2011/04/09(土) 00:50:02.87ID:???
俺の頭が悪いのか>>550は実現不可能なことを垂れ流してるようにしか読めん

>>552
あくまで一例だけど、DB使っていいなら、ユーザーマスターに日時項目を持たせて、
ログイン中はIFRAMEのREFRESHでもJavaScriptの非同期通信でもいいから
3分毎にその日時を現在日時に更新
ログイン時に、その日時+3分以上経過していなかったらはじく
05545452011/04/09(土) 00:56:51.13ID:lDu5zS4y
>>553
なるほど。そう言う手もあるんですね。

今はログイン時にログイン時間をDBに記録し、
別ブラウザからログインしようとした場合、
ログイン時間から30分経過してない場合はログインできないようにしてるんです。

ただ、この場合「うっかりブラウザを閉じてしまった」場合でも
30分待たなくてはいけないわけで、ユーザーからクレームが来ないかと心配です。

ログイン時の時間を記録するのではなく、ログインしている間の時間を
定期的に記録するという仕様は良いですね。ぜひ参考にさせていただきます。
0555nobodyさん2011/04/09(土) 01:09:43.98ID:9CNXe0e9
>>550
>>545=>>552ではないが。

>>他のブラウザでアクセスしようとしたら、ログイン中フラグを持つクッキーが存在しないので
>>一度強制ログアウトさせてログイン画面へ誘導する。

@ あるユーザーがいます
A あるサイトがあり、あるサイトの管理画面を利用するにはログインが必要です。
B InternetExplorer でログインして管理画面で糞入力項目が多いところを”必死に入力”します。
C 誤ってFirefoxを立ち上げたら初期画面がそのサイトの管理画面でした。
D InternetExplorer側が強制ログアウトww
E ログアウトを知らないユーザーはFirefoxを「間違えた、邪魔」といって閉じます。
F InternetExplorerでサブミットクリック!!え!!必死になって入力したのに!!

>>552
時間しかないじゃん。
0556nobodyさん2011/04/09(土) 01:10:52.08ID:???
>>554
すでにその仕様でのクレームを心配すべきでしょ。
多重ログイン禁止ってのは、お前よりあとにログインしたブラウザがあるからお前強制ログアウトなって
処理するのもある。  目的はなに?
0557548 5552011/04/09(土) 01:12:49.48ID:9CNXe0e9
開発、辞めたほうがいいよそんな事ここで質問する脳みそなら。
進めど茨の道しかない。
0558nobodyさん2011/04/09(土) 01:15:18.42ID:???
お前もな
0559nobodyさん2011/04/09(土) 01:17:34.81ID:???
>>552
結局DBを使ってよいならググればいくらでも解説は見つかると思うが。
多重ログイン セッション あたりの単語でどうぞ。

基本的には後半に書いてあるとおりでよい。
別のブラウザから同じアカウントでアクセスがあった場合は最初のブラウザのセッションを削除して
新たなセッションを開始すればいい。

注意するのは、最初のブラウザがログイン中は他のブラウザからのログインを不可にすることも可能ではあるが、
そうすると最初のブラウザが強制終了した場合など、ログインタイムアウトが過ぎるまで再起動したブラウザや他のブラウザから
一切ログインできなくなってしまうので不便なシステムとなってしまう。
05605452011/04/09(土) 04:54:23.39ID:lDu5zS4y
>>559さんの投稿を見てからかれこれ3時間以上試しているのですが、
全く上手く行きません・・。他のブラウザで多重ログインできます。

ログイン用のプログラムは↓です。

// セッションを削除
if (isset($_COOKIE['PHPSESSID'])) {
setcookie('PHPSESSID', '', time() - 86400, '/');
}
//セッションを再構築
session_start();
setcookie('PHPSESSID', session_id(), time() + 86400, '/');
// 会員情報をセッションに入れると仮定
$_SESSION['MEMBER'] = $member;
// マイページへ
header('Location:mypage.php');

こんな感じで「最初のブラウザのセッションを削除」して
新たなセッションを開始すると思ったのですが、多重ログイン出来てしまいます。

なにか考え方が悪いんですかね?「PHP 多重ログイン セッション」などで
ググってもこれと言った説明ページが見つかりませんし・・・
0561nobodyさん2011/04/09(土) 07:31:00.98ID:???
> setcookie('PHPSESSID', session_id(), time() + 86400, '/');

session_id() で意図する値が得られていますか?
0562nobodyさん2011/04/09(土) 07:41:13.29ID:???
>>560
君、>>554でDB使うことにしたんじゃないの?

>>559の本意は知らないけど、「最初(のユーザー)のセッションを削除する」ってのは、
後からログインしたユーザーを優先するって意味になるかと思うけど、まずその仕様でいいの?

んで、セッション情報ってサーバー上にファイルとして保存されてるのはわかってるかな?
本気でDB使わずセッションだけでやるなら、サーバー上のセッション情報を検索して
削除とかトリッキーなことになるけど、本気の本気?
0563nobodyさん2011/04/09(土) 08:56:47.01ID:???
おまいら一時的な記憶場所に使う変数名何にしてる?
変数交換とか付け足して最後に返すやつとか

$tmp = $a[0];
$a[0] = $a[1];
$a[1] = $tmp;

$buf = "";
foreach ($a as $value) {
$buf.=$value;
}
$buf.="hoge";
return $buf;

みたいな感じで$tmpとか$bufとか使ってるけど
もっと一般的なもんない?
0564nobodyさん2011/04/09(土) 10:04:06.45ID:???
それが一般的だと思うが$bufはそこでは使わないか
交換なら$swap?
付け足しなら$cat?
0565nobodyさん2011/04/09(土) 11:48:01.59ID:???
$hensuu
$ichiji
$tenporari
$tesuto
あたりかな
0566nobodyさん2011/04/09(土) 11:51:30.52ID:???
>>563 おまいら一時的な記憶場所に使う変数名何にしてる?

質問ならば >>1 を読み返して出直すと良いと思う。
0567nobodyさん2011/04/09(土) 11:56:41.02ID:???
>>566
水を差さずにお前も答えろよ
0568nobodyさん2011/04/09(土) 12:15:42.07ID:???
>>567 お断り
0569nobodyさん2011/04/09(土) 12:17:06.41ID:???
>>568 お断られ
0570nobodyさん2011/04/09(土) 12:57:28.84ID:???
>>565
マジかよw
0571nobodyさん2011/04/09(土) 13:36:48.46ID:???
>>570
何で?
予約語か何か使われてたかな?
0572nobodyさん2011/04/09(土) 18:06:43.41ID:LAXo4B+J
すみません、例外処理について聞きたいのですが

今、例外発生したらエラーコントローラに投げて例外情報に従った処理をするプログラムを書いています
そこで、throw new Exception();で指定できるexceptionの引数って、配列は無理なんでしょうか?

エラー発生時の状況を知らせたいので以下のようにやりたかったのですがエラーになりました
$errMsg = array(
'errType'=>'token_error',
'uId'=>$uId,
'uType'=>$uType,
'file'=>__FILE__,
'line'=>__LINE__
);
throw new Exception($errMsg);

マニュアルやエラーメッセージを見るとException([string $exception [, long $code ]])て書いてあるので
無理なのはわかるんですが、上記のようなエラーの詳細情報を投げたい時はセッションに情報を入れて
エラー処理(エラーコントローラのスクリプト)でセッションを拾って解析&実行するしかないですか?
皆さんどうやっていますか?

ご意見お願いします
0573nobodyさん2011/04/09(土) 18:09:12.18ID:???
継承して自分で作ればいいだろ
0574nobodyさん2011/04/09(土) 19:00:33.83ID:???
>>573
そっか、継承すればいいのか
ありがとうございました
0575nobodyさん2011/04/09(土) 20:02:53.04ID:???
>>573
すみません。>>574は偽者です
継承して自分で作るって、どうやれないいんでしょうか?
0576nobodyさん2011/04/09(土) 20:03:16.76ID:???
×どうやれないいんでしょうか?
○どうやればいいんでしょうか?
0577nobodyさん2011/04/09(土) 20:22:47.86ID:???
継承するだけ
0578nobodyさん2011/04/09(土) 20:32:48.96ID:???
誰が何を敬称すればいいんでしょうか?
0579nobodyさん2011/04/09(土) 20:33:07.06ID:???
×敬称
○継承
0580nobodyさん2011/04/09(土) 20:34:56.50ID:???
あなたがクラスを
05815722011/04/09(土) 20:38:30.66ID:LAXo4B+J
質問した572ですが、>>575は相手しないようお願いします
0582nobodyさん2011/04/09(土) 20:55:00.29ID:???
×>>575
>>574
0583nobodyさん2011/04/10(日) 01:08:44.90ID:???
質問した575ですが、>>581は相手しないようお願いします
0584nobodyさん2011/04/10(日) 03:42:37.21ID:???
>>581
公式読んでおけばアホの相手をしなくて済むんだ
http://www.php.net/manual/ja/language.exceptions.extending.php
0585nobodyさん2011/04/10(日) 10:06:16.88ID:vY8CJ6sh
SQL検索結果のwhile繰り返しの中で、
空の配列変数に値を入れたいのです

$ary = array(1 => "a" , 2 => "", 8 => "" , 9 => "b" , 10 => "")

があるとして、
繰り返し一回目で$ary[2]に代入、二回目で$ary[8]に代入…
という感じにしたいのです

毎回頭から空かどうか検索するのも効率悪そうですし、
なにかシンプルな方法があればご教授お願いします。
0586nobodyさん2011/04/10(日) 10:37:17.11ID:???
while (true) {

}
0587nobodyさん2011/04/10(日) 10:37:56.27ID:???
誤爆
0588nobodyさん2011/04/10(日) 10:50:55.33ID:He2iWruv
simplexmlで、まとめて生データを書き出す方法ありますか?

$xml->name

↑これだとnameタグの部分しか出ませんが、
$xmlに入ってる生データをそのままごっそり出したいんです。

file_get_contentsとかでそのままとってきて吐き出すのはだめです。
xmlオブジェクトを何回か読んであるところまでスキップしてから吐き出したいもので。

お願いします。
0589nobodyさん2011/04/10(日) 11:00:24.23ID:???
>>588
print_rかxpath
0590nobodyさん2011/04/10(日) 11:10:57.39ID:???
>>585
毎回頭から検索じゃなくて前回見つかったインデックス番号を変数に保存しておいて、
そのインデックス+1から空を検索するようにすればいい

てか、そもそもforeachで$aryを検索するなら、勝手にポインタ保存されてるっしょ
0591nobodyさん2011/04/10(日) 11:12:43.46ID:He2iWruv
>>589
ありがとうございます。やってみます
0592nobodyさん2011/04/10(日) 11:35:41.27ID:???
PHP自動アップデートツールがあったらお前ら使いたいですか?
0593nobodyさん2011/04/10(日) 11:40:26.75ID:???
なんのために?
0594nobodyさん2011/04/10(日) 11:49:39.04ID:???
なんのためにって聞く奴はaptとかyumなんて使ったこと無いか手動でソース入れる奴だな
Win環境で自動アップデートできるなら欲しい
0595nobodyさん2011/04/10(日) 11:59:44.13ID:???
なに自演?
そういう意味での自動アップデートなら、既にyumがあるじゃん
windowsならインストーラがあるだろ
定期的にチェックして勝手にアップデートしてくれる機能だったら、馬に食わせるくらいしか役に立たない
0596nobodyさん2011/04/10(日) 12:00:02.32ID:???
関数仕様が変わるのは不便
0597nobodyさん2011/04/10(日) 12:01:25.39ID:???
windowsだとインストーラ使うか?
0598nobodyさん2011/04/10(日) 12:05:16.10ID:???
>>595
欲しいって書いただけで自演認定するカス乙
0599nobodyさん2011/04/10(日) 12:19:06.89ID:???
でも自演は本当なんだろ?
0600nobodyさん2011/04/10(日) 12:26:17.01ID:???
>>592 あったらお前ら使いたいですか?

質問なら >>1 を読み直して出直しですね。
0601nobodyさん2011/04/10(日) 12:28:58.06ID:???
自演認定する奴ってXAMPPはやめろ!とか$_SERVERはやめろ!とか言ってた荒らしと同一人物くさいですね。

荒れるから次の質問どうぞ。
0602nobodyさん2011/04/10(日) 12:38:21.30ID:???
敗北宣言乙
0603nobodyさん2011/04/10(日) 14:35:30.26ID:???
>>601 荒れるから次の質問どうぞ?

質問なら >>1 を読み直して出直しですね。
0604nobodyさん2011/04/10(日) 14:45:18.92ID:???
粘着杉
0605nobodyさん2011/04/10(日) 15:31:36.36ID:???
粘着性杉花粉
0606nobodyさん2011/04/10(日) 16:14:16.40ID:???
粘着宣言乙
0607nobodyさん2011/04/10(日) 16:14:38.89ID:???
自演宣言乙
0608nobodyさん2011/04/10(日) 16:42:41.88ID:???
あれ?
0609nobodyさん2011/04/10(日) 20:31:24.18ID:7H7FFmtv
GDのimagestringを使って画像にコピーライトを載せてるんですが、
20KBくらいの画像が100KB越えになってしまい、古い携帯だと容量越えになってしまいます
容量小さくする方法ありますでしょうか?
それか、他に軽く文字を上に乗せる方法などありましたらご教授ください。
宜しくお願いします。
0610nobodyさん2011/04/10(日) 20:59:41.47ID:???
imagejpgだったら品質を下げるとか。
0611nobodyさん2011/04/10(日) 21:01:43.61ID:???
>>610
回答有難う御座います。
画像のサイズを20KBから10KBに落としたら90KBくらいになりました
処理だけで+80KBくらい上乗せされちゃうのは仕方ないのでしょうか?
0612nobodyさん2011/04/10(日) 21:10:35.93ID:???
>>610が言ってるのはimagejpegでの圧縮レベルを上げろってことだと思うが
http://php.net/manual/ja/function.imagejpeg.php
第三引数にqualityってのあるでしょ
それを見直しな
0613nobodyさん2011/04/10(日) 21:19:04.00ID:???
>>610>>612
ありがとうございます。意味を穿き違えてました。

そのqualityを下げる処理をするために、
header('Content-Type: image/png');
imagepng($im);

header('Content-Type: image/jpeg');
imagejpeg($im);
として吐き出すようにしたら
それだけで90KBから14KBまで縮んでしまいました
png自体がそもそもの原因だったんでしょうか
0614nobodyさん2011/04/10(日) 21:27:50.92ID:???
http://www.htmq.com/gazo/index.shtml
0615nobodyさん2011/04/10(日) 21:32:59.66ID:???
>>613
imagepngの圧縮レベルのデフォルトがあまり高くないんじゃね?

マニュアルには
> 圧縮レベル。0 (圧縮しない) から 9 までの値です。
としか書いてないけど

imagejpegのほうは
> quality はオプションであり、0(品質は最低 ですが、ファイルはより小さい)から100(品質は最高ですが、
> ファイルは 最大)の範囲で指定します。デフォルトは IJG 品質値(75)です。
と書いてるからデフォルトである程度圧縮されてる

header('Content-Type: image/png');
imagepng($im, null, 9);

とかにしたらだいぶ小さくなるんじゃね?
0616nobodyさん2011/04/10(日) 22:11:01.27ID:2E3V6CAL
初心者ですみません。
コンソール画面でPHPを実行(またはcron)し、エラーが返って来た時のみ、特定のメールアドレスにメッセージを送るにはどのような処理を書けばよいのでしょうか?

例えば、次のコマンドをコンソール画面で叩いた場合
# /usr/local/bin/php /path/hogehoge.php
XML_Parser: Invalid character at XML input line 15
と返って来た場合、そのエラー内容をhogehoge@example.comにメールを送ります。
0617nobodyさん2011/04/10(日) 22:22:25.53ID:???
直前のエラーを取得する関数を使ってメール関数を使う
全部標準関数です
0618nobodyさん2011/04/10(日) 23:45:40.01ID:???
学校の宿題ワラタw
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1159440211
0619nobodyさん2011/04/11(月) 02:39:55.53ID:???
>>617
>>616はPHPスクリプトの外でエラーを取得してメールを送りたいんじゃないの?
もっとも、そのPHPスクリプトの中でエラーハンドラを設定すれば済むだろうけど
0620nobodyさん2011/04/11(月) 04:41:29.57ID:???
>>615
なるほどそういう原理なんですね
わかりやすく解説いただき感謝です
0621nobodyさん2011/04/11(月) 09:02:36.85ID:???
>>616はスクリプトの外でエラー取得したいなんて一言も書いてないよ
>>617で正解
0622nobodyさん2011/04/11(月) 11:18:00.40ID:???
>>621
エラーレベルにもよるがエラーによっては直前のエラーを取得することはできない。
0623nobodyさん2011/04/11(月) 11:35:26.41ID:???
エラー内容書いてあんじゃん
>XML_Parser: Invalid character at XML input line 15
0624nobodyさん2011/04/11(月) 12:46:19.04ID:???
「例えば」という文字が読めないようですね
0625nobodyさん2011/04/11(月) 12:52:57.75ID:???
次の質問受付中
0626nobodyさん2011/04/11(月) 13:12:31.34ID:???
いいよもう質問しなくて
0627nobodyさん2011/04/11(月) 13:17:55.00ID:???
>amachang 今粛々と民事刑事の方面で進めています。一応、すべて証拠として保存しなければいけないので、冗談でも今はこのスレに変なこと書き込まないでください。
>2011/01/28


http://hibari.2ch.net/test/read.cgi/prog/1291518728/

>1 :amachang撲滅振興協議会:2010/12/05(日) 12:12:08
> amachangが憎い・・・・amachangが許せない・・・・

> ククク・・・・クククククク・・・・・
> クックックックックックックッ・・・・・
> クー、クー、クー、クー、クー、クー・・・・・
>
> もう許せない。
> もはや沸き上がる滅意を抑えることが出来ない!!!
0628nobodyさん2011/04/11(月) 14:00:48.95ID:???
cronで実行されたものの標準出力および標準えらー出力の内容は、そのcronのownerに対してメールで送信されるよ
0629nobodyさん2011/04/11(月) 14:16:22.95ID:???
mailtoだっけ
0630nobodyさん2011/04/11(月) 15:12:50.57ID:???
>>616 の質問に答えようと思ったら、
>>628 で答えが出ていた…orz
0631nobodyさん2011/04/11(月) 16:58:26.84ID:???
何でそんなことをわざわざ言うの?
俺答え知ってるぜーって自慢したいの?
0632nobodyさん2011/04/11(月) 17:23:34.54ID:???
自演に構うな
0633nobodyさん2011/04/11(月) 17:29:22.88ID:???
自演には見えんが
0634nobodyさん2011/04/11(月) 17:44:14.67ID:???
しつこいよ
06356282011/04/11(月) 18:11:57.93ID:???
>>629
補足ありがとう。MAILTO変数のこと忘れてた。
0636nobodyさん2011/04/12(火) 02:11:31.31ID:???
突然すみません。
PHPの教科書という本を終えて、さらにwebプログラミングについて学びたいと考えているのですが、フレームワークやCGI等、具体的にどんなことを勉強すればいいのか見えてこず困っています…。
皆さんは駆け出しプログラマのとき、どのように知識を増やしていきましたか?聞かせていただけると嬉しいです。
0637nobodyさん2011/04/12(火) 02:48:56.55ID:???
PHPはwebプログラミングじゃないと思うぞ。
ネットワークに手軽にアクセス出来るスクリプト言語だろ。
0638nobodyさん2011/04/12(火) 05:32:28.73ID:???
>>636 質問なら >>1 を読み返してから出直しなさい。
0639nobodyさん2011/04/12(火) 06:59:12.81ID:???
>>636
ひたすら書きまくる
0640nobodyさん2011/04/12(火) 08:52:43.77ID:???
>>638
質問ではありませんので>>1は読み返しませんし出直しません。
0641nobodyさん2011/04/12(火) 08:55:53.01ID:???
>>636
書けばいいと思うよ
0642nobodyさん2011/04/12(火) 09:23:19.37ID:???
>>640

そんなあなたには、こちらがお似合い!
【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/l50
0643nobodyさん2011/04/12(火) 22:51:34.82ID:???
簡単なことからやっていく
0644nobodyさん2011/04/13(水) 00:47:25.03ID:appmuAfb
php+mysqlで質問です。
|id|name|age|
|1 |Aさん|10|
|2 |Bさん|15|
|3 |Cさん|13|
(以下略)

上のようなテーブルで、idが1,4,7,11,21,35・・・のいずれかのレコードを抽出したいのですが、クエリは
WHERE id = 1 OR id = 4 OR id = 11 OR ・・・
みたいにひたすらつなげて書くんでしょうか・・・何か短い書き方ありますか?
あと、ORが大量にあると負荷が極端に増えたりしますか?
0645 【東電 71.9 %】 2011/04/13(水) 01:03:10.02ID:???
んん?
変数使えばいいのでは?
0646nobodyさん2011/04/13(水) 06:02:07.82ID:aY/2E/pl
php高速化するAPCをこのようにインストールしました。
$ tar zxf APC-3.0.17p2.tgz
$ cd APC-3.0.17p2
$ phpize
$ ./configure --enable-apc
$ make
$ su -
# make install

思ったほどの性能ではなかったのでアンインストールをしたいと思って
pecl uninstall APC
rpm -ihv --test APC-3.1.7
yum remove php-pecl-apc
yum remove apc
といろいろ試したのですができません。
どうしたらでしょうか?OSはFEDORA14です。


0647nobodyさん2011/04/13(水) 08:08:26.73ID:???
IN >>644

idが、インデックス対象のカラムであっても、OR使ったらインデックスが使われない。

って、PHPの質問じゃねぇじゃん。
0648nobodyさん2011/04/13(水) 10:31:24.37ID:???
>>644
SQL文のほうはIN句を使えば多少短く書ける
PHPのほうは配列にidを格納してimplodeで繋げればいい
0649nobodyさん2011/04/13(水) 10:36:11.94ID:???
>>646
PHPの質問じゃねーし、makeコマンドはソースからのコンパイルビルドであって
パッケージのインストールじゃねえ

make uninstallでビルドしたファイルを削除してくれるソフトもあるから試してみれば?
0650◆oDupeixhZv52 2011/04/13(水) 10:36:32.74ID:???
同じカラム(一つのインデックス)なら使うんじゃなかったっけ?
0651nobodyさん2011/04/13(水) 11:29:49.14ID:???
んなもんDBによる。
どっちにしろPHP関係ないし。
0652nobodyさん2011/04/13(水) 13:44:12.94ID:???
PHPをしようしているのでPHPに関係あります。
0653nobodyさん2011/04/13(水) 13:48:52.85ID:???
MySQLを5.5にしてPHPも5.3にしたんですが、phpMyAdminを起動すると、ライブラリとバージョンが違うから問題起きるかもって出てます。
これって無視していいんですかね?
具体的にはどんな問題が起きるんでしょうか?
0654nobodyさん2011/04/13(水) 15:16:13.97ID:???
>>646
>>649もかいてるけど、make installでインストールされたものをすべて消せばいいよ。
--prefixでディレクトリ指定してれば楽だったんだけどね。

それと、rpm -ihv は、インストール用コマンドだよ。
0655nobodyさん2011/04/13(水) 15:18:54.75ID:???
>>644
そのidの一覧はどうやって取得してるの?DBから取得してるわけじゃないのかな
0656nobodyさん2011/04/13(水) 15:35:08.26ID:???
idは私の優秀な頭脳に記憶されております。
06576442011/04/13(水) 22:36:22.96ID:urwW+Tur
>>645>>648
ありがとうございます調べてみます

>>655
idは別のテーブルにカンマ区切りで格納しています

|1|グループA|1,2,5,7,…|
|2|グループB|1,3,4,5,…|
|3|グループC|2,3,4,6,…|
みたいな感じです
06586442011/04/13(水) 22:41:42.13ID:???
>>647
すみません…mysqlのスレが見つからず
こちらなら分かる人がいるかなと思いまして
0659nobodyさん2011/04/13(水) 22:42:28.18ID:???
>>658
MySQLのスレはDB板です
0660nobodyさん2011/04/13(水) 22:44:29.40ID:???
>>657
カンマ区切りで保持しているのが設計の誤り。
テーブルレイアウトを変更することができないなら、書かれていたように、長いSQLを発行する。
変更することができるなら、短いSQLを発行すれば、それよりもずいぶん速く結果を取得できるようになる。

続きはSQLスレあたりで。
06616602011/04/13(水) 22:46:13.47ID:???
>>658
SQL質疑応答スレ 11問目
http://hibari.2ch.net/test/read.cgi/db/1299305530/

>>659
MySQLスレはややスレ違い。
0662nobodyさん2011/04/13(水) 23:09:19.36ID:???
MySQLスレは厨房やクズのたまり場と化してて機能してない
06636442011/04/14(木) 00:24:00.71ID:???
>>660
なんとなく正解がわかりました。ありがとうございます。
まだテスト段階だったので構造を直してチャレンジしてみます。
0664nobodyさん2011/04/14(木) 00:36:14.23ID:???
短ければ速いという問題でもなかろ
0665nobodyさん2011/04/14(木) 02:31:23.67ID:???

$result = mysql_query("SELECT * FROM Persons
WHERE FirstName='Peter'");


Peterを変数に代入して入れたいんですけど、どうしたらいいですか?

0666nobodyさん2011/04/14(木) 02:33:15.59ID:jIcMQS2c
$omanko = 'peter';

$result = mysql_query("SELECT * FROM Persons
WHERE FirstName= $omanko ");
↑でやっても駄目なんですよね...
0667nobodyさん2011/04/14(木) 03:13:22.44ID:nz/ViMIK
"select * from item where FirstName like '%"$omanko"%'"
0668nobodyさん2011/04/14(木) 03:55:45.55ID:???
omankoっていい歳した空気よめないオッサンか
ひyな言葉ではしゃぐ中2のどちらかだろ
0669nobodyさん2011/04/14(木) 07:55:10.31ID:???
>>666
$omanko = 'peter';

$result = mysql_query("SELECT * FROM Persons
WHERE FirstName= '$omanko' ");
06706442011/04/14(木) 08:25:43.46ID:???
>>647
すみません…mysqlのスレが見つからず
こちらなら分かる人がいるかなと思いまして
0671nobodyさん2011/04/14(木) 10:39:32.64ID:???
sqlのクエリは勝手に最適化されるはず
0672nobodyさん2011/04/14(木) 12:25:02.48ID:???
>>666の書き方だと文字列がそのまま出ちゃうからダメなんじゃないの

>>669
$result = mysql_query("SELECT * FROM Persons WHERE FirstName= '".$omanko."' ");
っていう形にする必要があると思うんだけどどうだろ
0673nobodyさん2011/04/14(木) 12:42:29.02ID:???
今時sqlをphpに埋め込んで書くのはないない
0674nobodyさん2011/04/14(木) 14:11:34.35ID:???
>>673
じゃ、今SQLを埋め込むのは何が主流なの?Perl?
0675nobodyさん2011/04/14(木) 16:00:44.75ID:???
ひまわりかな
0676nobodyさん2011/04/14(木) 18:00:13.96ID:???
ひまわりって何?新しい新幹線の名前?
0677nobodyさん2011/04/14(木) 18:23:00.01ID:???
$result = mysql_query("SELECT * FROM Persons WHERE FirstName='".mysql_escape_string($omanko)."'");
0678nobodyさん2011/04/14(木) 19:38:26.53ID:???
>>664
短くもなるし、速くもなるよと
0679nobodyさん2011/04/15(金) 09:30:39.97ID:vqhPXrat
すみません
$res =& $mdb2 -> exec($sql);
の"=&"の意味が分かりません
マニュアルの演算子を調べたのですが見付かりませんでした
これはどういう意味でどういう使われ方をするのでしょうか?
また、オライリーのPHP本には"&="が載っていますが、コレとは別の意味なのでしょうか?
0680nobodyさん2011/04/15(金) 09:47:44.00ID:???
>>679
右を左に代入
0681nobodyさん2011/04/15(金) 09:57:51.25ID:vqhPXrat
>>680
代入と言うことは、普通の"="演算子と何も変わらないということでしょうか?
代入演算子という名前ということは参照でもないのかと思ってしまったのですが
また、逆に"&="は左を右に代入という事でよろしいですか?
0682nobodyさん2011/04/15(金) 10:08:11.95ID:???
$a = &$b
これは参照渡し

$a &= $b
これはビット演算子で
$a = $a & $b
と等価。
0683nobodyさん2011/04/15(金) 10:10:04.79ID:???
>>679,681
=はコピーによる代入
=&は参照による代入
http://jp.php.net/manual/ja/language.operators.assignment.php
&=は複合演算子で'&'はビット演算子
$a &= 0xff -> $a = $a & 0xff
0684nobodyさん2011/04/15(金) 10:15:11.42ID:vqhPXrat
ありがとうございました
0685nobodyさん2011/04/15(金) 12:09:22.46ID:???
=& が演算子みたいな書き方するなよ。誤解されるぞ
0686nobodyさん2011/04/15(金) 16:50:58.33ID:weEN1v7D
ob.log
1<>挨拶<><>2/9<>1
2<>挨拶<><>2/9<>0
3<>謝罪<><>2/22<>1
4<>挨拶<><>3/21<>0
5<>お礼<><>4/1<>1

こういう文字列から
1
2
3
4
5
これだけを抜き出して取得してファイルに書き出したいのですが
何かいい方法はないでしょうか
0687nobodyさん2011/04/15(金) 17:04:24.01ID:???
explodeか、正規表現かってとこ
0688nobodyさん2011/04/15(金) 17:12:26.54ID:???
>>687
explodeでどうやるんですか?
コードもしよろしければお願いします
0689nobodyさん2011/04/15(金) 17:55:16.54ID:???
<?php
$str = <<<EOL
1<>挨拶<><>2/9<>1
2<>挨拶<><>2/9<>0
3<>謝罪<><>2/22<>1
4<>挨拶<><>3/21<>0
5<>お礼<><>4/1<>1
EOL;

$lines = explode("\n", $str);

foreach ($lines as $line) {
     $items[] = explode("<>", $line);
}

foreach ($items as $item) {
     $result .= $item[0] . "\n";
}

file_put_contents('log.txt', $result);
0690nobodyさん2011/04/15(金) 18:13:59.68ID:???
<?php
foreach(file("test.txt")as$l)$v[]=explode("<>",$l, 2);print_r($v);
0691nobodyさん2011/04/15(金) 18:59:50.34ID:???
ごめんこっちがいいや
<?php
foreach(file("test.txt")as$l)$v[]=current(explode("<>",$l, 2));print_r($v);
0692nobodyさん2011/04/15(金) 19:01:56.32ID:???
foreach(file("test.txt")as$l)$v[]=current(explode("<>",$l, 2));
file_put_contents("ob.log",implode("\n", $v));
0693◆oDupeixhZv52 2011/04/15(金) 19:12:05.59ID:???
$nums =array();
if (($lines = file("ob.log")) !== FALSE)
foreach ($lines as $line)
$nums[] = reset(explode("<>",$line));
print_r($nums);
0694nobodyさん2011/04/15(金) 19:14:27.17ID:???
>>686
cut -d\< -f1 ob.log > ob2.log
0695nobodyさん2011/04/15(金) 19:35:21.58ID:???
>>686
そういう用途にPHPは不向きです。Ajaxを使いましょう。
0696nobodyさん2011/04/15(金) 20:12:11.01ID:???
Ajax…?
0697nobodyさん2011/04/15(金) 20:29:44.96ID:???
>>695
Ajaxアンチ乙
0698nobodyさん2011/04/15(金) 20:54:18.48ID:???
>>692
すげえwwww
0699nobodyさん2011/04/15(金) 21:02:15.42ID:???
>>689-694
久々にいい流れだった
0700nobodyさん2011/04/15(金) 22:23:02.88ID:???
>>695-697
久々にいい流れだった
0701nobodyさん2011/04/15(金) 23:38:57.08ID:???
>>692
$v[]=current(explode("<>",$l, 2));

$work = explode("<>",$l, 2);
$v[] = $work[0];

下のほうが速かった。
上の方がスマートなんだけどなぁ
0702nobodyさん2011/04/15(金) 23:50:42.17ID:???
おまえらすごいな
07036862011/04/16(土) 00:21:27.07ID:MW7RyDow
>>692,701さんの
foreach(file("ob.log")as$l)$v[]=current(explode("<>",$l, 2));
file_put_contents("test.txt",implode("\n", $v));
で成功しました。
>>689-693の皆さんもありがとうございました。

ちなみに>>688は私ではなく煽りの人みたいです
0704nobodyさん2011/04/16(土) 01:04:39.03ID:???
currentのどこがスマートだw
0705nobodyさん2011/04/16(土) 02:03:05.26ID:???
見た目の話やないの?
0706nobodyさん2011/04/16(土) 10:53:26.97ID:???
さすがに>>689のコードはねえよ
0707nobodyさん2011/04/16(土) 11:47:01.53ID:KaV2BHRg
画面A→画面B(正常に表示)

の状態で、もう一度画面Aから画面Bにタブを開いてアクセスしたとします。
すると「一度ウィンドウを開いているのでアクセスできません」
みたいなエラーメッセージを出したいのですが、これってPHPだけで可能ですか?

Cookieを使うことも考えたのですが、画面Aに戻った時、
Cookieを削除したらウィンドウを2つ以上開くことが出来るように思います。
画面AでCookieが切れるわけですから、更新ボタンを押した時とか。

ウィンドウ操作なのでjavascriptのような気もしますが、PHPで可能なら教えてください
0708nobodyさん2011/04/16(土) 11:55:33.38ID:???
そんな処理に労力を注ぐのは時間の無駄
0709nobodyさん2011/04/16(土) 12:04:44.58ID:KaV2BHRg
サーバに負担がかかるようなページがあって、
ウィンドウをいくつも開かれて攻撃されるのを防ぎたいのですが、
そういうのは無駄なんですかね?
0710nobodyさん2011/04/16(土) 13:21:19.97ID:???
>>707 > 一度ウィンドウを開いているのでアクセスできません

これは、画面Aから画面Bを開いたことを言われているのでしょうか?
画面を複数開くことを抑止したいのでしょうか?
画面Aから画面Bを開いた履歴に基づいて再度は開けないように抑止したいのでしょうか?
それとも画面Aから開ける画面Bは1画面に限定して同時に2画面のBを開けないように抑止したいのでしょうか?
0711nobodyさん2011/04/16(土) 13:23:22.04ID:???
できないことはない感じだけど、使い勝手が悪かったり
完全ではないとか。労が多いわりには実が少ない
ということじゃない?
0712nobodyさん2011/04/16(土) 13:44:01.00ID:???
認証制のサイトでたまに見かけるけど確かに使い勝手は悪い
0713nobodyさん2011/04/16(土) 14:41:29.33ID:???
サーバーに負担のかかるページを改善するほうが先じゃないか?
0714nobodyさん2011/04/16(土) 14:46:21.48ID:KaV2BHRg
>>710
>これは、画面Aから画面Bを開いたことを言われているのでしょうか?
そうです。

>>713
それはやっていますが、とりあえず複数ウィンドウを防止したいんです。
PHP側で出来るのか、はたまた他の方法なのかよくわからなくて、
ある程度目星が付いたらググって調べようとは思うのですが・・・
0715nobodyさん2011/04/16(土) 15:18:58.52ID:Bn3j3K6j
【OS名】MacOSX
【PHPのバージョン】5.3.6
【連携ソフトウェア】
【質問内容】
php.ini error_reportingについて
PEAR MDB2,Authを使用したところ
trict Standards: やStrict Standards: がいっぱい出てきた。
それでgoogle大先生に聞いたところ
php.iniのerror_reportingを
error_reporting = E_ALL | E_STRICT
から
error_reporting = E_ALL
に変更すれば問題ないとの教えがあり、変更した。
ところが変更したところ
fatal errorやsyntax errorまで表示されなくなってしまった。
それは困るので何とか表示できるようにしたい。
error_reportingをどのような設定にすれば良いのかご教示頂きたい。
よろしくお願い致します。
0716nobodyさん2011/04/16(土) 16:21:28.81ID:???
>>715
display_errors = offになってるんじゃないの?
0717nobodyさん2011/04/16(土) 16:39:22.59ID:???
>>714
複数ウィンドウを防止するという発想の方を変えたほうがいい。
最初に画面Aから画面Bにタブを開いてアクセスした場合はどうする?
メインのウィンドウで画面Bに遷移できなくなっちゃうね。

そこに労力を割くより、多重アクセスがあっても問題ないようなシステムに
することの方が重要。
0718nobodyさん2011/04/16(土) 16:41:41.43ID:???
>>715
元に戻す
0719nobodyさん2011/04/16(土) 18:29:02.93ID:mJdJuPdX
セッションの解除はどうするの?
0720nobodyさん2011/04/16(土) 19:52:07.39ID:???
unset($_SESSION['test']);
0721nobodyさん2011/04/16(土) 21:01:36.91ID:???
kaijo($sesshon);
0722nobodyさん2011/04/16(土) 23:31:50.34ID:???
unsetでセッションの解除はやりませんよ
0723nobodyさん2011/04/16(土) 23:39:14.45ID:???
session_unsetもunsetもあまりかわらん
0724nobodyさん2011/04/16(土) 23:59:14.71ID:???
>>719

自分で調べなさい。

はい、次の患者さぁ〜ん!
0725nobodyさん2011/04/17(日) 02:18:00.13ID:???
>>719
kaijo($sesshon);
0726nobodyさん2011/04/17(日) 03:52:06.74ID:???
>>724
患者はテメェだボケ〜!
0727nobodyさん2011/04/17(日) 09:09:49.80ID:???
しかしsession_destroyって結構荒い消し方するよな
0728nobodyさん2011/04/17(日) 09:17:54.25ID:???
消し方に荒いとかそんなのあるのか
0729nobodyさん2011/04/17(日) 12:07:08.72ID:???
ひとつずつ、消しますか?YES/NO と聞いてくれなくては紳士的とは言えますまい
0730nobodyさん2011/04/17(日) 12:10:05.87ID:???
session_destroyと書いてる以上、消す意思だろうし
セッションファイルは1つだろうしなにを言ってるのかよくわからんが
0731nobodyさん2011/04/17(日) 12:31:15.22ID:???
俺ぐらいの達人になるとPHPでGUI作ってバイナリ配布できる形式にまで出来るんだけど君たちは?
0732nobodyさん2011/04/17(日) 12:37:31.26ID:???
>>1
0733nobodyさん2011/04/17(日) 12:42:22.75ID:???
俺はPHPでWindowsアプリ作って納品してるよ。先日は画像レタッチソフトを作った。
これぐらい普通でしょ
0734nobodyさん2011/04/17(日) 12:57:48.07ID:???
>>704
逆に、どうすればスマートに記述できますかね。
explode("<>",$l, 2)[0]
という記述ができる言語ならよかったんだけど
0735nobodyさん2011/04/17(日) 14:28:47.08ID:???
>>734
スマートの定義は?
あと>>1
0736nobodyさん2011/04/17(日) 15:43:22.65ID:???
>>735
> スマートの定義は?
質問なら>>1を読んで出直しな
0737nobodyさん2011/04/17(日) 15:54:23.99ID:???
俺ぐらいになるとPHPで彼女作れますよ
もてもてです
0738nobodyさん2011/04/17(日) 15:57:07.53ID:???
俺ぐらいの達人になるとメジャーなオープンソースの開発に携われるようになるよ
んで、PHPがダメ言語だな厨にオープンソースでどんくらい稼げるか書類見せてやって黙らせてる
君らにはそんな実力ないから毎日頑張って勉強して欲しい
もちろん勉強だけじゃ稼げないよ
0739nobodyさん2011/04/17(日) 16:06:44.40ID:???
当たり前のことしか書けないのか
素人丸出しだな
0740nobodyさん2011/04/17(日) 16:10:15.29ID:???
わかったから、次の質問どうぞ

ほら、早く早く

ハァハァ
0741nobodyさん2011/04/17(日) 18:24:08.55ID:???
俺は先日PHPでC言語のコンパイラを書いたけどな
0742nobodyさん2011/04/17(日) 20:04:24.73ID:???
>>741
すごい!
なんでそんなことしたんですか!
0743nobodyさん2011/04/17(日) 21:51:29.07ID:???
俺なんかマクロアセンブラ作ったけどな
0744nobodyさん2011/04/18(月) 00:03:37.17ID:nGStzrzk
>>716さん
display_errors = Onでした
結局必要なerror_reportingのみを選択して解決しました。
具体的には
error_reporting = E_ERROR | E_PARSE
にしました。
お騒がせ致しました。ありがとうございました。
0745nobodyさん2011/04/18(月) 00:15:07.90ID:???
>>744
開発環境ならもっとエラーと警告を出すようにせい
それでも温い
0746nobodyさん2011/04/18(月) 00:37:38.67ID:???
>>744
大体
error_reporting = E_ALL
にしてsyntax errorが出なくなるわけないだろ?
だから元に戻せって言ってんのに
0747nobodyさん2011/04/19(火) 01:58:34.81ID:???
質問です。

Webからプロセスを再起動させようとし次のコードを記述したのですが失敗します。

exec("sudo /etc/init.d/プロセス名 restart" ,$s");

apacheには上記パスのsudo権限パス無しは設定済みです。
どこがおかしくて起動出来ないのでしょうか?
0748nobodyさん2011/04/19(火) 02:04:48.05ID:???
if (!has_read(>>747, >>1)) {
die(>>747);
}
0749nobodyさん2011/04/19(火) 02:28:50.50ID:???
if(DQN(>>748))Ajax(>>1);
0750nobodyさん2011/04/19(火) 04:31:30.29ID:???
>>747
須藤さんの調子が悪いので伊藤さんで試してください
0751nobodyさん2011/04/19(火) 07:17:39.70ID:???
exec("command" ,$s");

引用符の使い方と末尾の全角セミコロン
07527472011/04/19(火) 08:26:15.63ID:???
>>751
おはようございます。

すいません、上記のは記述ミスです。

exec("sudo /etc/init.d/プロセス名 restart" ,$s);

これですけど、起動しません。
よろしくお願いします。
0753nobodyさん2011/04/19(火) 08:35:32.21ID:W2zxScT8
これだけIDだせと言っているのに、いまだにIDを出さない
>>747....
>>747....
>>747....
馬鹿なの?
0754nobodyさん2011/04/19(火) 08:59:10.39ID:L9R4T5O7
web一般の質問?です
ログインを行うHPにて、
セッションタイマーが20分と
Ajaxにてヘルスチェック(ログインしていることの通知)が3分ごとに
設定されている場合に、
ブラウザを開いたまま放置した場合。
20分立てばセッションタイムアウトになるのでしょうか。
それとも3分ごとにブラウザから情報が来ているため、
何分たってもセッションタイムアウトにならないのでしょうか。
0755nobodyさん2011/04/19(火) 10:25:09.97ID:???
>>754
タイムアウトしないと思う
ヘルスチェックってのが何をしてるか、もう少し詳しく書くけば
もっと適切な答えが期待できると思うよ。
0756nobodyさん2011/04/19(火) 10:36:05.49ID:???
どー考えてもスレチ
他人のシステムなんて予想はついても
調べない限り適切な答えなんて出ない
0757nobodyさん2011/04/19(火) 12:36:41.94ID:iclRm0oP
【PHP】5.1.2

set_error_handlerを使ってエラーが発生したときの処理を実装しようとしています。

set_error_handler('fncHoge');
とし、
function fncHoge($errno, $errstr, $errfile, $errline){
//エラーの制御
}

と、記述しているのですが、
このfncHoge関数内で
$errfile, $errlineの内容をログに書きこもうとすると
変数が定義されていませんみたいなエラーがでます。

マニュアル通りに書いたのに何でエラーが出るかわかりません。

なにか気をつけるポイントがあるのでしょうか?
0758nobodyさん2011/04/19(火) 14:07:34.68ID:???
>>757
set_error_handlerはエラーだけじゃなく変数が定義されてない等のワーニングでも呼び出される
fncHoge関数内で、たとえば
if($errno == 1 || $errno == 2 || $errno == 4)
とか自分が処理したいエラーレベルでふりわければいい
07597472011/04/19(火) 14:34:31.31ID:???
自己解決しました。

>>751さん以外は役立たずのゴミどもでしたね。

ほんとご苦労様です。
0760nobodyさん2011/04/19(火) 14:38:31.33ID:???
>>759
スレのルールを守ってないお前が悪いらしいよ
よく知らんけど
07617472011/04/19(火) 14:59:18.79ID:ObrOm4D8
いやいや解決してないからw
偽物乙。お暇ですね。


本買ってきたから読んで勉強しなきゃ。
でもEXECについて詳しくのってないんだよなぁ。

シェルをキックさせた方が良いのかしら。
0762nobodyさん2011/04/19(火) 15:43:11.72ID:???
>>747,761

既に最初の質問の段階でIDを出していないことからスレ違い。

むしろこれだけレスを重ねていることから荒らし認定。

出直しておいで。
07637572011/04/19(火) 15:49:58.74ID:iclRm0oP
>>758
解決しました。
ありがとうございました。

0764nobodyさん2011/04/19(火) 15:55:17.04ID:???
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
0765nobodyさん2011/04/19(火) 17:31:23.47ID:???
教えて君の極意
一. 努力を放棄すること
  教えて君たるもの、努力をするなど以ての外である。
一. 情報を開示しないこと
  エラーなど必須の情報を知らせてはならない。
  「いろいろやってみたけど動きません」が理想のセリフである。
一. 答える人間の事を考えないこと
  教えて君は相手の事を考えるようでは失格というものだ。
  教えて君グループは世界中に拠点を持っている。
  日本の教えて君ブランドを汚してはならない。

日本の教えて君がなめられないように日々、自分で努力して調べないで人を使ってほしい。
07667622011/04/19(火) 18:03:12.51ID:fgmca1z+
>>765
解決しました。
ありがとうございました。
0767nobodyさん2011/04/20(水) 20:57:28.37ID:ftmBb0O8
preg_replace の第3引数で大きなデータを扱おうとすると、null が返るときがあります
error_reporting = E_ALL | E_STRICT にしていますが、エラーメッセージは出ずに処理が続行されます
どうして null が返るのでしょうか
0768nobodyさん2011/04/20(水) 21:02:48.30ID:???
>>767

> 第3引数で大きなデータ

どの程度に「大きくて」、どの程度に「大きくないか」を教えてください。
0769nobodyさん2011/04/20(水) 22:23:38.66ID:???
近頃のPHPは名前空間に対応しているのかい?
Javaのpackageに相当する機能を使いたいのだが
0770nobodyさん2011/04/20(水) 23:06:29.33ID:???
>>769
5.3以降なら可能
0771nobodyさん2011/04/21(木) 01:24:10.47ID:???
>>768
質問は>>1を読んでからにしろ
0772nobodyさん2011/04/21(木) 07:16:38.51ID:XEGIAaxg
日本語文字列をu3042u3042u3042u3042のようにエンコードせずにそのままで
json_encodeする方法はないでしょうか?
0773 【東電 63.4 %】 忍法帖【Lv=6,xxxP】 2011/04/21(木) 07:23:01.97ID:GH5Vi5/t
>>770
見てきた。たしかに対応しているっぽいね。
しかし、後付しただけに随分と煩雑だ
Javaのpackageよりパターンが豊富でいろんなことができるようだが、
Javaのpackageとimportとの組み合わせと比べると気持ち悪いコードを書く輩が増えそうだな…
ソースコードが読みにくくなったら本末転倒だ
コーディング規約をいちいち定めないと面倒なことになりそうだな


JavaのCheckStyleに相当するコーディング規約チェックツールは、PHPにはあるかな?

ついでに、Javaのバグの温床になるコードを自動検出してくれるFindBugsちうチェックツールはPHPにはあるかな?
0774nobodyさん2011/04/21(木) 07:30:09.90ID:???
(PHP 5 >= 5.2.0, PECL json >= 1.2.0)
json_encode ? 値を JSON 形式にして返す
説明
string json_encode ( mixed $value [, int $options ] )
value を JSON 形式にした文字列を返します。
パラメータ
value
エンコードする値。 resource 型以外の任意の型を指定できます。
この関数は、UTF-8 エンコードされたデータでのみ動作します。
0775nobodyさん2011/04/21(木) 07:39:44.75ID:???
>>773
あるかな?ではなく
ありますか?だろ
0776nobodyさん2011/04/21(木) 07:43:42.04ID:???
言葉尻を叩いても何も得られない。
言葉遣いが悪い奴は何も得られない。
0777nobodyさん2011/04/21(木) 09:04:24.29ID:???
変なのが粘着してきてるな
0778nobodyさん2011/04/21(木) 10:19:24.70ID:???
>>777
質問は>>1を読んでからにしろ
0779nobodyさん2011/04/21(木) 10:29:46.86ID:???
今PHP5.3への移行期だからガンガン使え
0780◆oDupeixhZv52 2011/04/21(木) 11:51:47.10ID:???
>>772
json_encodeのページの__json_encodeのエンコード部分を殺してつかうとか。
0781nobodyさん2011/04/21(木) 12:15:36.49ID:???
>>773
大抵ないとおもっていいよ。
ある場合も多いが、その質に過度な期待をされても困るので。
0782nobodyさん2011/04/21(木) 15:48:21.53ID:???
>>780
日本語(UTF8)だったら、自前でエンコードする必要ないんだろ?
0783nobodyさん2011/04/21(木) 16:01:17.06ID:XEGIAaxg
仕方がないので、日本語部分を"%TEXT%"などとしておいてjson_encodeして
その後にstr_replaceで日本語と置換するという方法を使いました。
今回は小さいデータだからこれでもいいけど、もっと良い方法はないものか
0784nobodyさん2011/04/21(木) 16:11:03.09ID:???
UTF8で渡せば良いだけだろ。
0785nobodyさん2011/04/21(木) 16:12:11.03ID:???
>>783
それだと、バイナリデータになり制御コードが混じる場合があるんだろ。
0786nobodyさん2011/04/21(木) 16:16:29.88ID:XEGIAaxg
>>784
文字列もソースコードもUTF8なんだけど、勝手にエンコードされる。
0787nobodyさん2011/04/21(木) 16:23:59.84ID:???
>>786
エンコードしないとデータがバイナリになるんだよ。
jsonデコードしたら、文字列も自動でデコードされる。
0788nobodyさん2011/04/21(木) 16:25:59.90ID:???
格納方式にこだわるならばjsonを使うなよ。
そういうフォーマット。
バイナリデータを直接格納するにはそういうフォーマットつかえ。
メールデータをBASE64にするのと一緒。
0789nobodyさん2011/04/21(木) 16:33:51.66ID:XEGIAaxg
POST先のAPIにjsonで、UTF8で日本語そのまま渡さないといけないから仕方がない
という事情なので質問しました。
多分そのAPIがおかしいんだと思う。デコードしてくれりゃいいのに。
どことは言わんけど日本で一番有名なSNS?
07907672011/04/21(木) 16:42:28.91ID:Ljywmxzd
>>768
失礼致しました

DOMDocument::loadHTML で正常に読み込めるようにするため
不完全な HTML から、重複する id のうち最後のものだけを残そうとしています

$example = preg_replace('/(id=".+?")(.+?)\\1/s', '\\2\\1', $example);
上のような記述をしていますが、対象データが大きいと null が返る場合があります

現在は検索で id をリストアップしてから削除処理していますが
preg_replace ではどうして失敗するのでしょうか

【成功】
<title id="foo"></title>
<p id="bar">テスト1</p>
<p id="bar">テスト2</p>
以降 60KB 程度の文章

【成功】
<title id="foo"></title>
<p id="foo">テスト1</p>
<p id="bar">テスト2</p>
以降 70KB 程度の文章

【エラー】
<title id="foo"></title>
<p id="bar">テスト1</p>
<p id="bar">テスト2</p>
以降 70KB 程度の文章
0791nobodyさん2011/04/21(木) 16:42:32.00ID:???
エンコードなしで任意の文字が渡せるとなると、jsonの区切り文字すらそのまま格納することになるが。
0792nobodyさん2011/04/21(木) 18:31:02.76ID:???
>>789
ユー自作しちゃいなよ
http://ideone.com/nevGC
RFCは流し読みしかしてないから間違いがあるかも知れんが
0793nobodyさん2011/04/21(木) 18:50:24.50ID:0idGxcNP
皆さんはPHPでエラーが発生してシステムが落っこったりしたときの
対処方法はどのようにされてますか?

もしくはエラーが発生したときの検知の方法は何か一工夫されてますか?

エラーが発生したときにログに書きこむようにして、
cronでログに何か書き込まれていないか確認するように
しておくとか考えているんですが・・・如何なもんでしょ?
0794nobodyさん2011/04/21(木) 19:07:09.39ID:???
どこでエラーで止まるか不明だし。
止まる予定の所すべてで、おかしくなりそうなら情報をファイルへ書き出す仕組みを挿入するしかなくないか。
面倒だが。
0795nobodyさん2011/04/21(木) 19:09:10.88ID:???
メール送信やツイッター送信でも良くないか。
PHPが動いている(ローカルな)サーバーだけに出力を残すこともない。
0796nobodyさん2011/04/21(木) 19:55:44.61ID:???
>>793
基本はログを残すこと。
エラー時だけ残すのか、正常時も含めたトレースログを残すのかはシステムによる。
次にログを監視すること。
cronで監視してエラー時だけ通知するのか、生存確認の意味も含めて定期的に通知し続けるのかはシステムによる。
必要であれば外部からも定期的にアクセスして監視。
0797nobodyさん2011/04/21(木) 20:16:32.48ID:???
朝起きたら6万通のエラーメールが届いていたことがあるから>>793のやり方が良いと思うよ
ちなみになんで6万かっつーと、夜中にMySQLのDBが壊れやがってWebサイトにアクセスあるたびにDB接続エラーがえんえんとry
0798nobodyさん2011/04/21(木) 20:52:11.99ID:???
ばかす
0799nobodyさん2011/04/21(木) 21:04:51.08ID:LlCZE+TN
質問です
date型で呼び出した数字 (date("Ymd",タイムスタンプ)が20111021とか) をそのままint型に変える事は出来るんでしょうか?
一度stringにしてintにしても、表示された数字ではなく、内部ポインタ変数っぽい別の数字が値になってしまいます

一度HTMLやデータベース等に文字として出力し、そこから受け取ればなんとかなりますが、出来ればPHPのみで型変換がしたいです
0800nobodyさん2011/04/21(木) 21:08:04.68ID:???
PHPにdate型なんてねーよ
0801nobodyさん2011/04/21(木) 21:31:42.53ID:???
>>799
var_dump( intval(date("Ymd")));
08027992011/04/21(木) 22:43:20.01ID:???
失礼しました
date("YmdHis") で出して、それがINT範囲の上限を超えていたのが原因のようです。
floatval で浮動小数点型に直したら問題なく利用できました。
0803nobodyさん2011/04/21(木) 23:05:21.28ID:???
ところで何をしたかったんでしょう・・・
文字列のままでいいじゃん
08047992011/04/21(木) 23:10:12.47ID:???
>>803
データベースにぶっこんだ後、比較演算子利用して指定データを取り出したりしたかったので
文字ではなく数字に変える必要がありました。
0805nobodyさん2011/04/21(木) 23:12:20.81ID:???
データベースにぶっこむって
文字列のままつっこめばいいのに。
データベースが文字列でも比較できるんだし、
データベースが数値型でも文字列で突っ込めばいい。
0806nobodyさん2011/04/21(木) 23:28:01.49ID:???
DBによるけど日付型でDBに登録して日付比較するのが基本だと思うが
0807nobodyさん2011/04/21(木) 23:48:45.32ID:???
仮にプレースホルダで型のチェックしてる時も
PHPの場合はINTを指定してもINTでないから受け付けないというよりINTにキャストして渡してくれるしな
0808nobodyさん2011/04/22(金) 00:02:45.79ID:???
>>807
データベースの型をINTにしたため、PHPもそれに合わせて自動でINTにキャストした結果

「DATE(”YmdHis”)=(STR)201104222359」

         ↓  PHPでの自動処理

「(INT)2147483647 」 ← INTでの上限値
         
         ↓
「」
0809nobodyさん2011/04/22(金) 00:05:24.23ID:???
誤送信 下から続き  

   ↓ PHPからデータベースに代入
「(INT)214748347」

となっていたようです。
次からは素直にデータベース側をDATETIMEに指定して利用します。
0810nobodyさん2011/04/22(金) 00:22:05.82ID:???
unixtime使えばいいのに日付を連結して数字として扱うとか意味がわからん
あと内部ポインタ変数ってなんだったの?
0811nobodyさん2011/04/22(金) 01:13:51.33ID:???
そもそもDBで日付をINT型で保持しようとするのがあほなんだろ
0812nobodyさん2011/04/22(金) 02:20:33.83ID:b2miHkLW
phpを自在に使える漢になったら、彼女できるのか?
0813nobodyさん2011/04/22(金) 03:14:30.60ID:???
逆。彼女が出来なければPHPを自在に使えるようにはならない。
0814nobodyさん2011/04/22(金) 04:28:37.95ID:b2miHkLW
>>813
何だと!?なんてリア充向けがプログラミング言語なんだ
0815◆oDupeixhZv52 2011/04/22(金) 11:55:32.83ID:???
荒らすならID付で。これ常識ね。
08167932011/04/22(金) 12:01:14.75ID:???
皆様たくさんのご意見ありがとうございました。

ひとまずエラー時にログファイルに出力するようにして
クーロンで定期的にファイルが更新されていないかを
確認し、更新されていたらメールで通知するようにします。

さすがに6万通もメールがきたら、
私の携帯だと、受信するだけで
バッテリーが無くなりそうなので。

そして、それとは別に生存監視もしていこうと思います。
0817nobodyさん2011/04/22(金) 14:09:45.37ID:S4ofJDv4
【OS名】Linax
【PHPのバージョン】5.3
【質問内容】
$string = '1111-111111';
$search = '/[^0-9]/';
$replace = '';
if (preg_match($search, $string)) {
$string = str_replace($search, $replace, $string);
}
こんな感じで'-'を置換したのですが、なぜか出来ません。
preg_match()では、マッチしているのに。。。
ちなみに'-'であったり'ー'する可能性があるので、
str_replace()を使ってます。

よろしくお願いします。
0818◆oDupeixhZv52 2011/04/22(金) 14:19:30.37ID:???
$string = '1111-111ー111';
$string = str_replace(array("-","ー"), $replace, $string);
08198172011/04/22(金) 14:27:34.96ID:???
>>818
なるほど。。。単純に可能性のある文字を
潰していった方がいいみたいですね。

了解しましたありがとう。
0820nobodyさん2011/04/22(金) 14:29:36.99ID:???
それ以前にstr_replaceは正規表現検索できないわけだが。
08218172011/04/22(金) 14:32:47.92ID:???
>>820
うわぁ
preg_replace()と勘違いしてた。。。

ありがとう。
0822nobodyさん2011/04/22(金) 15:28:05.12ID:???
フォームから送信された値の文字コードを検出する時に

$encoding = mb_detect_encoding($_POST["name"],"UTF-8,SJIS,EUC-JP");

と言うようにしますが、$_POSTだけで文字コードを検出する方法は無いでしょうか?
08238222011/04/22(金) 15:28:44.03ID:vE00gD2v
すみません。sageてました。。。
0824nobodyさん2011/04/22(金) 15:39:59.15ID:???
>>822-823
最初に質問するときに sage をしている時点で疑念がわくんですよ。
残念だったね。出直してきなさい。
0825nobodyさん2011/04/22(金) 18:09:47.75ID:BuQXBTbw
連想配列のキー文字列を以下のように書き換えたいんですが、
どのような方法で処理するのがスマートでしょうか?
>>689-694でいう、>>689のようなやり方しかわかりません

array(
  'key1' => 'val1',
  'key2' => 'val2',
  'key3' => 'val3'
);



array(
  'prefix_key1' => 'val1',
  'prefix_key2' => 'val2',
  'prefix_key3' => 'val3'
);
0826nobodyさん2011/04/22(金) 18:11:30.90ID:???
>>822
$encoding = mb_detect_encoding($_POST["name"]);
0827nobodyさん2011/04/22(金) 18:12:57.93ID:???
array_combine使えば
0828nobodyさん2011/04/22(金) 18:36:12.84ID:BuQXBTbw
関数を調べて、array_walkというのを見つけました
値の方になら接頭辞をつけることができましたが、
キーの方に適用させる方法がわかりません

function func(&$value, $key, $prefix) {
  $value = $prefix . $key;
}

array_walk($arr, 'func', 'prefix_');

print_r ($arr);
0829nobodyさん2011/04/22(金) 19:07:50.98ID:OjtKl6VG
simplehtmldom で<td>〜</td>内の文字列を取りたいのですが
$td->plaintextで取り出すと td内ある <br /> や <a>が削除されてしまうのですが
どのようにしたらいいでしょうか?
0830nobodyさん2011/04/22(金) 19:14:56.34ID:BuQXBTbw
>>829
$td->innertext
0831nobodyさん2011/04/22(金) 19:19:54.18ID:OjtKl6VG
>>830
助かりました!! ありがとうございます
nobodyさんが神様に見えてきました・・

0832◆oDupeixhZv52 2011/04/22(金) 19:21:51.76ID:???
キーがだめなら入れ替えれば…値側がキーにしても問題ないもので重複しないとか制限があるけど。
$array =array_flip($array);
array_walk($array, function(&$v,$k,$p){ $v=$p.$v; }, 'prefix_');
$array =array_flip($array);

普通にループで回して新しい配列作った方がいいのでは。
0833nobodyさん2011/04/22(金) 19:35:35.15ID:BuQXBTbw
>>832
素晴らしい回答どうもありがとうございました。
組み合わせ技はなかなか思いつかないので勉強になります。
0834nobodyさん2011/04/22(金) 19:52:02.53ID:???
ループのほうが良いよなぁ
foreach ($a as $key => $value) {
  $b['prefix_'.$key] = $value;
}
0835nobodyさん2011/04/22(金) 20:51:44.21ID:???
>>828
&$key
0836nobodyさん2011/04/23(土) 02:03:10.97ID:F1ksq7hw
<?php
print "a"+(3+3);
?>でaが表示されす6だけ表示されるのは何故?
a6って何で表示されないんですか?
0837nobodyさん2011/04/23(土) 02:29:12.30ID:???
数値型に変換されてるから
0838nobodyさん2011/04/23(土) 02:48:54.94ID:5IDERpwA
"a" . (3+3)
0839nobodyさん2011/04/23(土) 02:59:13.26ID:F1ksq7hw
今、AjaxをJavascript+PHPで勉強してるんですけど
CGIはほとんど勉強してません。
CGIでできることはすべてPHPでできると考えていいですか?
0840nobodyさん2011/04/23(土) 03:28:09.39ID:5IDERpwA
CGI = perl ならphpでもできる
というかウェブ系ならphpでおk
0841nobodyさん2011/04/23(土) 03:30:18.82ID:???
ageてました。。すみません
0842nobodyさん2011/04/23(土) 03:48:00.00ID:???
>>837-839
>>840
ありがとうございます。大学でCしかやらないので、専門学校で
習うような事柄を独学してます。
0843nobodyさん2011/04/23(土) 04:11:21.68ID:???
そんなことまで習ってたら一人前になるまで10年かかるぞ
公式マニュアルを読むかぐぐって5分で解決するレベル
0844nobodyさん2011/04/23(土) 15:35:27.93ID:???
外部サーバーにあるファイルのタイムスタンプを取得する関数ってありますか?
filemtime的な

PHP5.3
0845nobodyさん2011/04/23(土) 15:47:46.57ID:???
>>844
>>1
0846nobodyさん2011/04/23(土) 16:03:34.49ID:???
マルチ乙
0847nobodyさん2011/04/23(土) 16:32:25.42ID:???
ftp_mdtm
0848nobodyさん2011/04/23(土) 21:07:33.58ID:???
マルチ丙
0849nobodyさん2011/04/23(土) 22:04:18.26ID:???
file_get_contensでhttpsページにPOST送信した後のレスポンスからcookieを取得したいのですがどうしたらいいですか?
08508492011/04/23(土) 22:06:32.15ID:HKeSVDgr
ID忘れていました すみません
0851nobodyさん2011/04/24(日) 00:07:47.59ID:???
パス抜きですね
0852nobodyさん2011/04/24(日) 00:17:33.98ID:???
>>849
http://www.php.net/manual/ja/reserved.variables.httpresponseheader.php
08532011/04/24(日) 00:22:34.71ID:???
PHPからPOST と
file_get_contentsのCookie取得 ってそのままググレ
0854nobodyさん2011/04/24(日) 00:35:08.26ID:???
stream_context_create
0855nobodyさん2011/04/24(日) 02:24:20.43ID:???
>>851-854
すみません、よくわかりませんでした。
もう少し具体的にお願いできないでしょうか。
0856nobodyさん2011/04/24(日) 09:26:08.28ID:EQCQhmqq
simple_html_domでhtmlからRSSを抜き出す方法を教えてください

head linkをいろいろ弄ってるのですができないです・・・


<?php
include('simple_html_dom.php');

$html = file_get_html('http://blog.livedoor.jp/dqnplus/');

foreach($html->find('head link') as $e)
echo $e->outertext;

?>
0857nobodyさん2011/04/24(日) 09:39:30.79ID:EQCQhmqq
できました。
今後検索できた人用
p://www.syboos.jp/opensource/bookmark/detail/php-simplehtmldom.html

お騒がせしました
0858nobodyさん2011/04/25(月) 02:37:49.81ID:???
>>851-854
すみません、よくわかりませんでした。
もう少し具体的にお願いできないでしょうか。
0859nobodyさん2011/04/25(月) 11:55:06.60ID:Im0lc7sD
mysqlのデータをtableで並べたいと思っています
↓の「データベースの中身」の部分を4列4行ずつで並べたいとのですが、
データベースの中身をすべて並べる方法がわかりません
データベースに接続することはできるのですが、先頭の1つのデータで全部埋まったりしてしまいます
どうしたらよいでしょうか


echo "<table width=\"300\">";

$a = 4;
for ($b = 0; $b < $a; $b++) {

echo "<tr>";

$c = 4;
for ($d = 0; $d < $c; $d++) {

echo "データベースの中身";

}

echo "</tr>";

}

echo "</table>";
0860nobodyさん2011/04/25(月) 11:59:54.88ID:???
<td>がないからとかそんなオチはないよね
0861nobodyさん2011/04/25(月) 12:02:12.70ID:Im0lc7sD
>>860
すみません
今は「データベースの中身」になっていますが、実際はちゃんと<td>入れて書いてます
0862◆oDupeixhZv52 2011/04/25(月) 12:04:56.50ID:???
先頭の1つのデータで全部埋まったりしてるソース貼らなきゃ分かんないよ。
0863nobodyさん2011/04/25(月) 12:19:44.39ID:Im0lc7sD
echo <<< EOF
<td width="150">
<p><a href="items.php?=$items[0]">$items[1]</a></p>
</td>
EOF;


「データベースの中身」の部分はこんな感じです
データベースには接続できています
htmlは


<table width="300"><tr><td width="150">
<td width="150">
<p><a href="items.php?=1">AAA</a></p>
</td><td width="150">
<p><a href="items.php?=1">AAA</a></p>
</td><td width="150">
<p><a href="items.php?=1">AAA</a></p>
</td><td width="150">
<p><a href="items.php?=1">AAA</a></p>
</td><td width="150">
……
</td></tr></table>


すみません
これで大丈夫でしょうか?
0864nobodyさん2011/04/25(月) 12:28:11.72ID:???
クエリ発行したら、そんなかに全部配列として格納されてると思ってないよな?
0865◆oDupeixhZv52 2011/04/25(月) 12:30:55.93ID:???
言い方が悪かったですね。
$items = の ある行辺りを見せて。
0866nobodyさん2011/04/25(月) 12:41:57.00ID:Im0lc7sD
すみません、まちがって修正前の書き込んでしまいました


while (echo <<< EOF
<td width="150">
<p><a href="items.php?=$items[0]">$items[1]</a></p>
</td>
EOF;) {

echo <<< EOF
<td width="150">
<p><a href="items.php?=$items[0]">$items[1]</a></p>
</td>
EOF;

}


↑これだけだとデータベースの中身が表示されるのですが、
これを>>859のfor文で囲うと、先頭の1つのデータで全部埋まったりします

>>865
すみません、データベースに接続する文以外はこんな感じです

わかりずらくてすみません
0867nobodyさん2011/04/25(月) 12:44:22.10ID:Im0lc7sD
ごめんなさい、貼り付け間違えた…


while ($items = mysql_fetch_array($result))
echo <<< EOF
<td width="150">
<p><a href="items.php?=$items[0]">$items[1]</a></p>
</td>
EOF;
0868nobodyさん2011/04/25(月) 12:44:35.44ID:???
とりあえず落ち着いてちゃんとソース貼れよ
意味不明な感じになってるぞ
0869nobodyさん2011/04/25(月) 12:46:29.91ID:???
whileの場合はmysql_fetch_arrayが毎回先頭をシークさせて
結果を取得してるからそれで問題ない
forの場合は貼ってないからなんとも言えない
0870nobodyさん2011/04/25(月) 12:47:48.88ID:???
>>862の言うように、まったりしてるソースを貼るんだ!
0871nobodyさん2011/04/25(月) 12:51:50.06ID:Im0lc7sD
echo "<table width=\"300\">";

$a = 4;
for ($b = 0; $b < $a; $b++) {

echo "<tr>";

$c = 4;
for ($d = 0; $d < $c; $d++) {

while ($items = mysql_fetch_array($result)) {
cho <<< EOF
<td width="150">
<p><a href="items.php?=$items[0]">$items[1]</a></p>
</td>
EOF;

}

}

echo "</tr>";

}

echo "</table>";


すみません
今これで、データベースの中身は全部表示されていますが、
4列4行じゃなく1列に表示されます
…いろいろやってみながら書き込んでるので貼り付けまちがったりすみませんでした
0872nobodyさん2011/04/25(月) 12:56:14.82ID:???
そのソースだと1行になるのは当たり前
while ($items = mysql_fetch_array($result)) {
これは結果が取得できる限りループを続ける

とりあえずの対応でいいならwhileを外してfor内で
$items = mysql_fetch_array($result);
だけでいい
0873nobodyさん2011/04/25(月) 12:57:47.33ID:Im0lc7sD
>>872
うわああああああああああああああ
やっとできました
ありがとうございます!
いろいろすみませんでした
0874◆oDupeixhZv52 2011/04/25(月) 12:58:28.20ID:???
とりあえず、whileを if に変えてみよう
0875nobodyさん2011/04/25(月) 12:59:33.47ID:???
そしてまたデータが無い行まで表示されてしまいます
という質問が来るんだろうな・・・

関数の動作ぐらい理解しろ
0876nobodyさん2011/04/25(月) 13:00:45.66ID:Im0lc7sD
>>872
ifでもできますね!

>>875
がんばります
0877nobodyさん2011/04/25(月) 13:18:25.78ID:???
あるC言語で書かれたバイナリを実行して、その結果を取得しないといけなくて、
バイナリと、そのバイナリが実行時に読み込む定義ファイルをサーバー(cent 5.5)に設置しました。
しかし、なぜかそのバイナリが定義ファイルを読んでくれません。
phpからは間違いなくその定義ファイルは読めます。

$module ='/パス/bin';
$param ='param';

$command =$module.' param='.$$param;
$handle =popen( $command.' 2>&1', 'r' );
$input =fgets($handle);
die ( strval( $input ) );

まじで悩んでます。
どなたか教えていただけないでしょうか?

0878nobodyさん2011/04/25(月) 13:21:23.66ID:???
↑の877です。
ソースが間違えてました。

$module ='/パス/bin';
$param ='param';

$command =$module.' param='.$param;
$handle =popen( $command.' 2>&1', 'r' );
$input =fgets($handle);
die ( strval( $input ) );

"定義ファイルが読み込めませんでした"という趣旨の文字列が帰ってきます。
しかし、shellで直打ちするきちんと実行できます。
どんなヒントでも結構です。
よろしくおねがいします。

0879nobodyさん2011/04/25(月) 13:34:40.73ID:???
apacheと仮定してapacheユーザーで
そのコマンドは実行できるの?
0880nobodyさん2011/04/25(月) 13:55:34.71ID:???
>>875
ここら辺って最初の頃はみんな詰まるとこだし
くだ質としてはいい
0881nobodyさん2011/04/25(月) 13:57:09.66ID:???
>>878
まずはselinuxオフとかパーミッション見直しとか
0882nobodyさん2011/04/25(月) 14:06:43.88ID:e+Ev3uZ8
変数$bbbに格納されている文字列"aaa"を、変数として利用することはできませんか?

$aaa = "あ";
$bbb = "aaa";

echo $+$bbb // 文字列aaaを変数名として呼び出したい
0883◆oDupeixhZv52 2011/04/25(月) 14:14:08.21ID:???
>>878
カレントディレクトリは?

>>882
$$bbb
0884nobodyさん2011/04/25(月) 14:24:23.85ID:???
878です。
返信ありがとうございます。

sudo -u apache ./bin param=123

正しい値が返ってきます。

selinuxはoffにしています。
パーミッションも問題ないはずです。(755)
"定義ファイルが読み込めません"という値が返ってくる事で./binは実行されている事に間違いはないと思うのですが、
なぜ定義ファイルが読み込めないのか・・・。

>>883
絶対パスで指定しています。

0885nobodyさん2011/04/25(月) 14:25:37.63ID:e+Ev3uZ8
出来ました!ありがとうございます
差し支えなければこちらご教示お願いいたします
変数$nameの中の文字列"atest"を元に、オブジェクトを作成したいのですが、うまくいきません


$name = "atest";
require "Atest.php";
$atest = new $name();
print_r($atest);

class Atest
{
function check(){}
}
0886◆oDupeixhZv52 2011/04/25(月) 14:39:28.59ID:???
>>884
shellで直打ちのとき、違うディレクトリから実行しても問題ない?

>>885
$atest = new $name;
0887nobodyさん2011/04/25(月) 14:56:26.13ID:???
>>886

エラーになりました。

なるほど、定義ファイルは./を探すようになっている為、実行時のカレントパスから見えないわけですね・・・・。

助かりました!!!!

ありがとうございました。

0888nobodyさん2011/04/25(月) 14:59:48.76ID:e+Ev3uZ8
文字列がおかしかったみたいで885ので大丈夫でした
$name ="atewt"ってなってました
手打ちで書いてたのですが2ちゃんにレスしたほうが合ってました
0889nobodyさん2011/04/25(月) 16:43:28.30ID:Wf6pzALu
便乗して質問させて頂きます
オブジェクトを作成するするときに、文字列+変数で作成する方法をご教示お願いいたします

require "test.php";
$name = "bbb";
$obj = new "aaa".$name();

class aaabbb{}
0890nobodyさん2011/04/25(月) 17:05:19.54ID:???
$name = "bbb";
$name2 = "aaa".$name;
$obj = new $name2();
0891nobodyさん2011/04/25(月) 17:44:52.37ID:Wf6pzALu
求めている動作としては文字列+変数で作成したいのですが、文字列+変数=変数にする以外に方法はないということでしょうか?
0892nobodyさん2011/04/25(月) 17:57:00.99ID:EkAUsCib
【OS名】FreeBSD 6.2
【PHPのバージョン】5.1.4
【質問内容】
コマンドラインで実行しています。
実行鯖環境には2つのIPアドレスが存在。AとB(エイリアス)です。
file_get_contentsを使用してCへアクセスするとAからのアクセスとなります。
Bからのアクセスにすることは可能でしょうか?

サーバ設定でAとB(エイリアス)を入替えるというのはごめんなさい。
0893◆oDupeixhZv52 2011/04/25(月) 18:29:53.67ID:???
>>891
$name = "bbb";
$abbb = "aaabbb";
$obj = new ${"a".$name}();
0894nobodyさん2011/04/25(月) 19:48:15.47ID:???
>>892
何でも偽造可能じゃないかw
0895sage2011/04/25(月) 20:14:00.38ID:EkAUsCib
>>894
偽装したいわけでは。。。ないです。
接続先が特定のIP(1つ)しかアクセス許可していない。
接続元が複数のIPエイリアスを所持している。
という条件のため特定のこの特定のIPエイリアスからの接続指定がしたいです。
0896nobodyさん2011/04/25(月) 20:34:17.88ID:???
アクセス許可されていないIPでアクセスしようとするのが間違ってるのでは?
0897nobodyさん2011/04/25(月) 20:37:52.66ID:???
ルーターの設定をどうにかしてください
0898nobodyさん2011/04/25(月) 20:50:22.74ID:2fHI6GSc
fopenでログを開いてwhileで1行ずつ検査し、
一致すればbreakするプログラムを作っています。

100万行の処理を終えるのに、数秒かかるのですが、
while以上に速く検査処理をする方法って無いでしょうか?
0899nobodyさん2011/04/25(月) 20:52:37.64ID:???
DB使う
0900nobodyさん2011/04/25(月) 21:19:32.89ID:???
>>898
並列処理するハックがある
PHP マルチタクスでぐぐってみるとよろしい
09019002011/04/25(月) 21:20:15.53ID:???
ごめん酔っ払ってた

PHP マルチスレッドね
マルチタクスってなんだ・・・
0902nobodyさん2011/04/25(月) 21:28:47.35ID:K7Gq3Lks
【OS】CentOS5.5
【PHP】 5.2.10
【質問内容】
PHP Simple HTML DOM Parser(http://simplehtmldom.sourceforge.net/)を利用して情報の収集ツールを作成しています。

住所を取得したいのですが、2つめのboxは住所をすっ飛ばして電話番号を取得してしまいます。うまく住所を取得するにはどうすれば良いでしょうか?


つづきます
0903nobodyさん2011/04/25(月) 21:44:18.29ID:6yvRLmog
>>902 です。
【ソース】
include('simple_html_dom.php');
$url ="http://itp.ne.jp/dir_result/?ad=45201&gr=1019&num=50";
$html = file_get_html($url);
$main = $html->find('#main-inner',0);

申し訳ありません、さらにつづきます。
0904nobodyさん2011/04/25(月) 21:49:13.02ID:???
ID変えてるのは他の場所自演するためか?w
0905nobodyさん2011/04/25(月) 21:52:48.03ID:2fHI6GSc
>>900
ありがとうございます。勉強します。
0906nobodyさん2011/04/26(火) 07:50:46.62ID:???
質問者はまず>>1を良く読むこと(必須!)

◆質問する時の注意
・スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

0907nobodyさん2011/04/26(火) 10:15:58.79ID:???
>>892
$opts = array(
'socket' => array(
'bindto' => '192.168.0.100:0',
),
);
$context = stream_context_create($opts);
echo file_get_contents('http://www.example.com', false, $context);

http://jp.php.net/manual/ja/context.socket.php
0908nobodyさん2011/04/26(火) 10:35:50.09ID:???
892です。
>>907
ありがとうございます!!
proxy用意しないと駄目かと思っていたので助かりました!!
0909nobodyさん2011/04/26(火) 10:38:21.62ID:x6qrhHZE
>>907
これやると相手のサイトには192.168.0.100ってIPがのこるの?
0910nobodyさん2011/04/26(火) 10:46:36.88ID:???
>>909
当たり前に残る。但しWAN側なIP
0911nobodyさん2011/04/26(火) 10:48:15.25ID:???
>>909
質問を良く読め、自分が使うIPアドレスだ
0912nobodyさん2011/04/26(火) 10:52:50.86ID:x6qrhHZE
という事は荒らしたいサイトにそのコードでアクセスしたらばれないってことか
0913nobodyさん2011/04/26(火) 11:31:00.94ID:???
こうして無知な912はタイーホされるのであった
0914nobodyさん2011/04/26(火) 12:24:07.49ID:???
>>912
何が「という事は」だよw
ネットの仕組みを勉強してこい
0915nobodyさん2011/04/26(火) 16:38:47.09ID:???
かわいいなw
0916nobodyさん2011/04/27(水) 10:22:11.73ID:cN0DYx7u
PHP_SELFは危険と聞きました。これは何故ですか?
0917nobodyさん2011/04/27(水) 10:50:55.77ID:???
危険と聞いたならググればいいのではないですか?
0918nobodyさん2011/04/27(水) 11:50:09.72ID:???
ググるのは危険だと思うのでここで聞いています
0919nobodyさん2011/04/27(水) 12:04:20.83ID:???
>>916
外部からの入力で値が変わる事、
それを想定していない糞なコードがある事、
この2点が揃って初めて危険と言える
0920nobodyさん2011/04/27(水) 12:14:05.44ID:???
聞いたことの解を求めるために再び聞くって連鎖を繰り返すオヴァカさんはプログラム向いてないからさっさと諦めてよ
0921◆oDupeixhZv52 2011/04/27(水) 12:23:36.47ID:???
入力値を表示させるのは危険だけど、こいつもそうなのを忘れがちってこと。
0922nobodyさん2011/04/27(水) 16:14:19.06ID:???
>>920-921
二人とも何を言ってるのかよくわかりません。
日本語が不自由な方々でしょうか。
0923nobodyさん2011/04/27(水) 17:27:46.13ID:1DO68SdU
PHP5.1を使っています。

ブラウザからアクセスがあったときに
PHPで書かれたバッチファイルをexecで実行しようとすると
Unable to forkとエラーが出てしまいます。

バッチファイルは、別のテキストファイルを読み込もうとしているのですが、
このテキストファイルの権限は777にして/home/hoge/下に
置いてあります。
このテキストファイルのオーナーがhogeだと上記エラーは出ないのですが、
他のユーザがオーナー(例えばfuga)だとエラーが出てしまいます。

また、同じコマンドをcronからapacheユーザで実行すると
上記エラーはでません。

権限が777でもファイルのオーナーが異なることによって
上記エラーが出る場合は、どこに原因があるのでしょうか?

また、同じコマンドをcronから実行しても
エラーがでない理由がわかりませんでした。

ご教授をお願いいたします。
0924nobodyさん2011/04/27(水) 18:06:48.38ID:???
ご教示
0925nobodyさん2011/04/27(水) 18:15:32.78ID:???
ご享受
0926nobodyさん2011/04/27(水) 18:18:34.43ID:???
>PHPで書かれたバッチファイル
バッチファイルをPHPを使って書き出すというわけだな
0927nobodyさん2011/04/27(水) 18:45:45.98ID:???
>>923
/home/hoge/ ディレクトリのパーミッションを確認。
テキストファイルのオーナーをfugaにするというのは、/home/hoge/ 配下のままオーナーをfugaにするのか、
それとも/home/fuga/ 以下に設置した場合なのか。

Unable to fork は子プロセス起動エラーなのでブラウザからアクセスした場合にexecできなかったことを示す。
cronでそのPHPのバッチファイル?を直接実行したのならforkエラーは出ない。
09289232011/04/27(水) 19:50:18.85ID:1DO68SdU
>>924 >>925
すみません。
お恥ずかしい。。。

>>926
バッチファイルをPHPで記述しています。
で、そのバッチファイルが/home/hoge/下にある
テキストファイルを読み込んでいます。

>>927
> /home/hoge/ 配下のままオーナーをfugaにするのか、
こちらになります。

不思議なことに同じ状況で何度かブラウザからアクセスしてバッチの起動を試すと
Unable to forkが出ずにexecもしっかり実行されていることもあります。
0929nobodyさん2011/04/27(水) 19:52:09.91ID:???
レン鯖とか?プロセス数制限されてたりとか?
0930nobodyさん2011/04/27(水) 20:07:28.44ID:???
すまん>>929は忘れてくれ・・・
09319232011/04/27(水) 20:08:44.45ID:1DO68SdU
レンタルサーバではないので、プロセス数に関しては
制限を設定した覚えはないので、初期値のまんまだと思います。

プロセス数の制限はどの辺を確認すればよろしいのか教えて頂けますか?
すみません。。。
0932nobodyさん2011/04/27(水) 21:50:07.27ID:???
ちゃんと実行できる場合があるということは、権限の問題じゃないわけだな。
0933nobodyさん2011/04/28(木) 08:34:11.77ID:???
>>932
ファイルのオーナがhogeだとエラーは1度もでないのですが、
fugaだと必ずエラーが出て、何度か同じ状況で試すと
エラーがでないことがあるという状況なんです。

ですので権限が関係あるのか無いのか
いまいちピンとこない状況です。。。

ちなみにブラウザでアクセスしたときに
呼ばれるPHPと、そのPHPから呼ばれる
バッチファイルのPHPのオーナーは
fugaで、/home/fuga/配下にファイルがあります。


09349232011/04/28(木) 08:35:07.94ID:zJffplQy
すみません。IDをだし忘れました。
0935nobodyさん2011/04/28(木) 08:48:40.57ID:???
hogeとかhugaとか分からん
要点を極限まで絞って質問してくれ
0936nobodyさん2011/04/28(木) 10:11:40.00ID:???
とりあえずパーミッション777にしてみろ
0937nobodyさん2011/04/28(木) 10:12:08.22ID:???
>>933

問題となっている事項を再整理してから質問してください。
再度の質問をする際には、>>1 を読み返してください。

09389232011/04/28(木) 10:28:28.42ID:zJffplQy
改めてまとめてみました。

【OS名】CentOS
【PHPのバージョン】5.1
【連携ソフトウェア】MySQL

ブラウザからアクセスがあったら
/home/fuga/aa.phpがapache上で実行され
このプログラムから
/home/fuga/batch.php
をexecで実行します。

/home/fuga/batch.php

/home/hoge/aa.txt
を読み込むのですが、

/home/hoge/aa.txtのオーナーが
fugaだとexec実行時に「Unable to fork」とエラーが表示されます。
ただ、同じ状況で何度か試してみると、
稀にエラーが出ずに実行されることがあります。
apcheユーザのクーロンから/home/fuga/batch.php
を実行すると上記エラーは1度も出ませんでした。

/home/hoge/aa.txtのオーナーが
hogeの場合でもそういったエラーは1度もでませんでした。

/home/hoge/aa.txtはパーミッションを常に777にした状態でも
上記のような現象が出てしまいます。

原因が掴めず途方にくれております。よろしくお願いします。
0939nobodyさん2011/04/28(木) 10:51:42.73ID:???
>>938
exec の部分を可能な限り晒してくれ
0940◆oDupeixhZv52 2011/04/28(木) 11:12:17.72ID:???
includeで動くようにして逃げれば? 重くなるだけだし。
09419232011/04/28(木) 11:40:12.72ID:zJffplQy
>>939
execは以下のような感じで記述しています。
よろしくお願いします。
exec('/usr/bin/php /home/fuga/batch.php arg1 arg2 >> /tmp/fuga.log 2>&1 &');


>>940
バッチを外部起動にしているのは、
バッチ処理が動いている間にクライアントを待ち状態にしないためになります。
includeにしちゃうと、バッチが終了するまで、
クライアントを待たせちゃうような気もするのですが、
そのことを「重くなる」と表現されているのでしょうか?
0942nobodyさん2011/04/28(木) 11:40:14.61ID:???
>>938
exec() を popen() で置き換えて何のエラーが返ってくるか調べてみたら?
どっちも同じコードを使ってプロセスを起動しているから
0943nobodyさん2011/04/28(木) 12:22:05.15ID:5jyOsFLH
whileでファイルを1行ずつ回した時に、
長い行があり、
allowed memory size of〜と出ますが、
このエラー出ても後続の行を処理する方法はないですか?

0944nobodyさん2011/04/28(木) 12:35:40.26ID:3JBHsj5i
memory_limitを増やす
0945nobodyさん2011/04/28(木) 12:36:58.15ID:zoh8QsmK
しかないですよね・・・orz
結構お客さんに無茶ブリされてますわ
0946nobodyさん2011/04/28(木) 12:47:53.59ID:???
それはコードが貧弱なだけで無茶ブリとは言わない
freadやfseekで改行位置探ればいいだけ
0947nobodyさん2011/04/28(木) 13:51:44.39ID:???
一行の長さが不明なのに一行ごとに読み込むとかアフォですか
一行が1TBとかあったら大抵のシステムでエラーでるわw
0948nobodyさん2011/04/28(木) 13:52:55.86ID:zoh8QsmK
>>947
その1TBを読み込んでくれと言われてる状態
0949nobodyさん2011/04/28(木) 13:59:59.91ID:???
>>948
具体的に質問にしたら誰かいいアイディア出してくれるかもよ
0950nobodyさん2011/04/28(木) 14:03:09.70ID:???
メモリの上限まで読み込めんで、処理した後破棄すれば?
0951nobodyさん2011/04/28(木) 14:07:56.13ID:???
処理内容によるけどバイト単位でできないのか
0952nobodyさん2011/04/28(木) 14:22:34.75ID:???
>>948
だから少しずつ読めばいいだろうが
while内でどんな処理をしたいのか知らんけど、
ファイル読み込みルーチンのアルゴリズムくらい自分で工夫しろよ
0953nobodyさん2011/04/28(木) 15:25:16.41ID:???
>>948
メモリに入りきらない長い行があるファイルって何さ?
whileで行ごとに処理とか言ったら、テキストっぽいけど……
テキストなら、一行で1TBもあるとか、
改行コード指定を間違ってるとしか
09549232011/04/28(木) 15:39:04.83ID:zJffplQy
>>942
poepnを使ってエラーを再現してみたところ、
Cannot allocate memory
と表示されていました。

PHPのmemory_limitは512Mになっていたので
いったん無制限にしたところ、エラーがでなくなりました。

ただ、topコマンドで見る限り、
そもそも/usr/bin/php /home/fuga/batch.phpは
せいぜい数十MBしかメモリを消費しないので、
なんでメモリのエラーがでたのかが不明なのと、
オーナーがfugaに変わると、エラーが出ていたのかが
わかりません。

その上再度PHPのmemory_limitを512MBにしても
エラーを再現できなくなってしまいました。

Cannot allocate memoryっていうのも初めて見たので
memory_limitをいじることが正しかったのかといったところも
不安ではあります。
0955nobodyさん2011/04/28(木) 15:47:57.12ID:???
考えてるのと別の理由でエラーが出てるんじゃないの?
偶然memory_limitを変更したらエラーが出なくなったため、それが原因と思い込んでるとか。
オーナー変更云々もそう。
0956nobodyさん2011/04/28(木) 16:15:01.84ID:???
面白いぞw
ttp://hibari.2ch.net/test/read.cgi/hp/1296016577/580-
09579232011/04/28(木) 16:23:23.51ID:zJffplQy
>>955
そうですよね。

自分でも別のところに原因があるんじゃないかと
思いつつも、全く原因に思い当たる節が無いので
困っているところです。。。

今日はphp.iniの設定を変えたことで
apacheの再起動をしているんですが、
そのあたりも関係しているのかとか
考えているところです。
09581/22011/04/28(木) 16:27:36.11ID:6tXmcG0P
<?php
$category = $_REQUEST["category"];
$no = $_REQUEST["no"];
?>
<html>
<head>
<title>sample02</title>
</head>
<body>
<?php
if($category == 1){
print "あなたはカテゴリー${category}にいます。<br>";
if($no == 1){
print "あなたはNO.${no}番のいいちこを選びました";
}
}
if($category == 2){
print "あなたはカテゴリー${category}にいます。<br>";
if($no == 2){
print "あなたはNO.${no}番の大五郎を選びました";
}
}
?>
<p><a href="parameter2.html">戻る</a></p>
</body>
</html>

(こちらを借りさせていただいてます)
ttp://plog.pya.jp/program/php/lesson09/sample02.html
09592/22011/04/28(木) 16:31:40.00ID:6tXmcG0P
>>958のプログラムではカテゴリが2つありますが、
カテゴリを増やしたいときに

if($category == 3){
print "あなたはカテゴリー${category}にいます。<br>";
……

とまた繰り返して書かずにすむ方法はありますか
うまく言えませんがお願いします
0960nobodyさん2011/04/28(木) 16:38:18.85ID:6tXmcG0P
>>959です
++と繰り返し文でできる気がしました
今やってきますのでできなかったらまた来ます
すみませんでした
0961nobodyさん2011/04/28(木) 17:19:54.77ID:6tXmcG0P
つまずいたので戻ってきました

$rs = mysql_query("select * from main where category_id = [あああ] order by count desc",$con);

「main」テーブルの中の「category_id」フィールドが1(,2,3…)のものだけ表示したいと思ってます
[あああ]の部分は++とか使えないと思うんですけど、どうしたらいいでしょうか
説明が下手ですみません
0962nobodyさん2011/04/28(木) 17:21:09.14ID:???
between 1 and 3

PHP関係ないけどね
0963nobodyさん2011/04/28(木) 17:29:07.52ID:6tXmcG0P
>>962
ありがとうございます!
またがんばってきます
0964nobodyさん2011/04/28(木) 17:52:42.13ID:???
1の時に1、2の時に2出したいのかな
それならただ単に$categoryを文字列につなげればいいだけだが
09659232011/04/28(木) 18:56:59.50ID:zJffplQy
php.iniの設定を変えたり元に戻したりで
apacheの再起動を行ってから
エラーが再現できなくなりました。

それ以外の設定ファイルは何も触っていないので
apacheの再起動が関係しているのかな・・・と
勝手に思っているのですが、
そろそろお手上げになりそうです。。

ダメもとでも構いませんので
確認しておいたほうがいい所があれば
教えて頂けないでしょうか。
0966nobodyさん2011/04/28(木) 21:52:27.46ID:???
/var/logの中身
0967nobodyさん2011/04/28(木) 22:03:15.85ID:cPVEaxyS
Webプログラムでなくサーバの設定の問題なのかもしれませんが、お願いします。
SNSサイトでログイン認証を行う場合に、ログイン画面だけはhttps、ログイン後はhttpというサイトがあったのですが、
これはどのような仕掛けで行っているのでしょうか。

認証画面に飛ばすサンプルはぐぐれば見つかりますが、その時に特に「httpsに飛ばせ!」のような記述は見当たりません。
どのようにして(誰が?)、このページはhttp、こっちのページはhttps、という選別(?)をしているのでしょうか。
0968nobodyさん2011/04/28(木) 23:39:43.25ID:???
>>967
ログインフォームのaction部分にhttps指定するだけ
その後httpsじゃない通信したければheader("Location: http://sample.com/");とかで移動させるだけ
0969nobodyさん2011/04/28(木) 23:56:01.73ID:???
その動きって今警告でないっけ。
httpsからhttpに移動しようとしてるけどいいのか?みたいな。
0970nobodyさん2011/04/29(金) 00:12:47.61ID:84jXJbM/
カウンターを作るときファイルに書き込むときはファイルロックをする
アクセスログを記録するときはファイルロックはしない

前者はロックしないと壊れる
後者は追記していくので壊れることは無い

こういう認識でいいでしょうか?
0971nobodyさん2011/04/29(金) 00:17:40.07ID:???
>>970
×壊れる
○正確なカウントができない
0972nobodyさん2011/04/29(金) 00:33:35.34ID:???
ファイル名変更でカウントするのかなりいいよ
ロックする必要もない
0973nobodyさん2011/04/29(金) 01:13:07.60ID:???
それも正確になるかは微妙
名前取得と書き換えの間に次のプロセスで名前取得が起きた場合とか
0974nobodyさん2011/04/29(金) 02:34:05.16ID:???
ログも壊れるよ
ログを書くスレッドを一個用意すればいいよ
0975nobodyさん2011/04/29(金) 06:05:06.91ID:???
>>968->>969
おお即レスありがとう。
やっぱり知ってれば単純な設定なんですね・・書くまでもないってことかぁ。
0976nobodyさん2011/04/29(金) 10:48:59.87ID:???
そろそろ次スレの時間か
0977nobodyさん2011/04/29(金) 13:07:02.38ID:???
ログイン時だけhttpsはセキュリティ的にアウトなんじゃなかったっけ?
そのせいでgithubとかが全てhttpsになるように変えたと思うんだけど・・・
0978nobodyさん2011/04/29(金) 14:01:23.16ID:???
>>977
そんなものはシステム次第
ログイン情報さえ守れれば良いなら、ログイン時だけでいい
0979nobodyさん2011/04/29(金) 14:36:33.70ID:???
セッションキーが漏れるからログイン時だけじゃダメ
0980nobodyさん2011/04/29(金) 16:09:37.61ID:???
次スレ立てとくか
09819802011/04/29(金) 16:11:44.99ID:???
たてれんかった
だれかたのむ
0982nobodyさん2011/04/29(金) 16:41:25.35ID:???
やなこった
0983nobodyさん2011/04/29(金) 16:43:03.43ID:???
ファイル名変更でカウントするのかなりいいよ
ロックする必要もない
0984nobodyさん2011/04/29(金) 16:43:43.17ID:???
DBの権限が無いだけなのでは
0985nobodyさん2011/04/29(金) 16:44:10.89ID:???
$_SERVERに入ってちゃまずいのか?
そういうもんとして受け入れるしかないだろ
0986nobodyさん2011/04/29(金) 16:44:26.78ID:???
それはただのライブラリだ
0987nobodyさん2011/04/29(金) 16:45:01.78ID:???
なぜ同じになると思ったの?
0988nobodyさん2011/04/29(金) 16:45:27.68ID:???
ありがとうございます
PDOのがいいんですね
これからPDOを使うことにします
0989nobodyさん2011/04/29(金) 16:46:42.57ID:???
こういう無意味な荒らしする奴の心情がわからないわ
そして連投規制(笑)
0990nobodyさん2011/04/29(金) 16:48:17.22ID:???
読んで
0991nobodyさん2011/04/29(金) 16:48:34.40ID:???
デコードされないように追加変換する事にした。
ファイル名の変更は現実問題として無理なのでNGです。
0992nobodyさん2011/04/29(金) 16:49:00.83ID:???
そうでもない。
0993nobodyさん2011/04/29(金) 16:49:40.21ID:???
コンテナかね
0994nobodyさん2011/04/29(金) 16:50:49.30ID:???
非推奨関数使いすぎだボケ
0995nobodyさん2011/04/29(金) 16:51:17.41ID:???
なんとなくだけど、Aero無効、もしくはオーバーレイを無効にしてみたらどうだろうか。
0996nobodyさん2011/04/29(金) 16:52:27.61ID:???
それだとPHPがHTML返しているのが原因。
0997nobodyさん2011/04/29(金) 16:53:53.83ID:???
ドメイン変えてみたら?
0998nobodyさん2011/04/29(金) 16:56:38.99ID:???
誰か新スレ立ててけろ
0999nobodyさん2011/04/29(金) 16:57:50.90ID:???
立てれんかった。誰かよろ。
1000nobodyさん2011/04/29(金) 16:59:12.45ID:???
Cookieの件ですが解決しました
まさかサブドメインにアンダーバー(_)が入っているとIEで使えないとか・・・。
いい勉強になりました
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。