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

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

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

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 114
http://kohada.2ch.net/test/read.cgi/php/1325437405/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0002nobodyさん2012/01/20(金) 05:43:58.75ID:???
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 113
http://kohada.2ch.net/test/read.cgi/php/1322564127/
【PHP】下らねぇ質問はID出して書き込みやがれ 112
http://hibari.2ch.net/test/read.cgi/php/1320005469/
【PHP】下らねぇ質問はID出して書き込みやがれ 111
http://hibari.2ch.net/test/read.cgi/php/1317232566/
【PHP】下らねぇ質問はID出して書き込みやがれ 110
http://hibari.2ch.net/test/read.cgi/php/1314692611/
【PHP】下らねぇ質問はID出して書き込みやがれ 109
http://hibari.2ch.net/test/read.cgi/php/1311803617/
【PHP】下らねぇ質問はID出して書き込みやがれ 108
http://hibari.2ch.net/test/read.cgi/php/1309599473/
【PHP】下らねぇ質問はID出して書き込みやがれ 107
http://hibari.2ch.net/test/read.cgi/php/1307228162/
【PHP】下らねぇ質問はID出して書き込みやがれ 106
http://hibari.2ch.net/test/read.cgi/php/1304064660/
【PHP】下らねぇ質問はID出して書き込みやがれ 105
http://hibari.2ch.net/test/read.cgi/php/1300302034/
【PHP】下らねぇ質問はID出して書き込みやがれ 104
http://hibari.2ch.net/test/read.cgi/php/1297669559/
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
0003nobodyさん2012/01/20(金) 05:44:10.97ID:???
関連リンク
■本家マニュアル   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さん2012/01/20(金) 05:44:31.66ID:???
【簡易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さん2012/01/20(金) 05:44:44.71ID:???
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さん2012/01/20(金) 09:23:17.35ID:???
>>1 乙乙
0007nobodyさん2012/01/20(金) 10:07:24.02ID:???
>>1
おつ
がっこーからは次スレ立てられなかったスマソ
0008nobodyさん2012/01/20(金) 10:31:56.57ID:2Tx7MEP0
function frnd()
{
return rand()/(getrandmax()+0.1);
}
$in=0;$N=1000;
for ($i=0;$i<$N;$i++){
$x=frnd();
$y=frnd();
if ($x*$x+$y*$y<1.0)
$in++;
}
$pai=4*$in/$N;
echo "π=".$pai."\n";

phpの本に載ってたモンテカルロ法による円周率の求め方の質問
何故、getrandmax()+0.1としているのですか?
rand()/(getrandmax()で0〜1の範囲で乱数を発生させたらいいと
思うのですが、この0.1が加算されているのが分かりません。
C言語でやったときは rand()/RAND_MAXとしました。
0009nobodyさん2012/01/20(金) 11:11:32.41ID:???
乱数を0から1未満とするため
x=1のときyに依存しないで円外になるからかな。

どっちもやって誤差がどうなのか見てみれば?
0010nobodyさん2012/01/20(金) 15:14:43.37ID:???
>>7
だれ?
0011nobodyさん2012/01/20(金) 19:26:14.79ID:yvoFKIu/
質問させてください、拡張モジュールが理解できません。

php.iniでmemcached.soを記述してプログラムを動かしたところ、
PHP Warning: Module 'memcache' already loaded in Unknown on line 0 という警告が出たのですが、
これをどう理解したら良いのかわかりません
php.iniの指定以外にもどこかで起動していたということですよね?
自分ではそんなプログラムを書いた覚えないのですが、どんな原因が考えられるでしょうか?

サーバのサービスとしてのmemcachedはstatus:running状態だったのですが、
その場合php.iniの拡張モジュールとしての記述は不要ということでしょうか?
0012nobodyさん2012/01/20(金) 20:01:22.32ID:???
ロード処理を2回書いてるとかじゃね
0013nobodyさん2012/01/20(金) 21:04:10.91ID:ObSPH0mR
質問させてください。
↓みたいなhtmlエンティティ化された日本語を戻すのはどうしたら良いでしょうか?
?????
ちなみにこれは「あいうえお」です。
print html_entity_decode("?????");
としても変化ありませんでした。
よろしくお願いします。
0014132012/01/20(金) 21:05:59.96ID:???
ああ、なんてこと。
↓これです。&は半角です。
&#12354;&#12356;&#12358;&#12360;&#12362;

また化けてたらすいません。
0015nobodyさん2012/01/20(金) 21:10:15.79ID:???
>>14
デコードしてみたけどそんな卑猥な言葉俺の口からはとても言えない
0016nobodyさん2012/01/20(金) 21:19:29.86ID:x5waH9K4
Tokyo Tyrantを使ってみようと思ったのですが、Kyoto Tycoonとかいう
次期バージョンが出ているようですが、
PHPで使えるのか良くわかりません
TTの方はPECLから簡単に導入出来ると思うのですが、
実際使っている方にお聞きしますが、やっぱ今から導入するにはKyotoの方でしょうか?
それともPECLにありマニュアルも完備されているTokyoの方がいいのでしょうか?

0017nobodyさん2012/01/20(金) 21:20:31.05ID:ObSPH0mR
>>15
ただのあいうえおですって。
どうやってデコードするのか教えてください。
0018nobodyさん2012/01/20(金) 21:26:45.89ID:???
>>17
文字コード指定すれ
0019nobodyさん2012/01/20(金) 21:44:23.61ID:???
mb_convert_encoding($txt,'UTF8','HTML-ENTITIES');


html_entity_decodeはめんどくさい。
0020172012/01/20(金) 21:44:38.77ID:???
>>18
出来ました!
ありがとうございます。
今度奢ります。
0021nobodyさん2012/01/20(金) 21:47:28.03ID:???
>>19
mb_convert_encoding()にそんな引数あったんですね。
知りませんでした。
ありがとうございます。
0022nobodyさん2012/01/20(金) 21:56:26.18ID:???
>>11
php.iniと、php.dの中のどれかまたは.htaccessとかで読んでるとか。
0023112012/01/20(金) 23:08:17.49ID:yvoFKIu/
>>22
ありがとうございました!
/etc/php.dっていうディレクトリの中に***.iniがある場合、それはphp.iniで
拡張モジュール指定しなくても良いんですね。知りませんでした
/etc/php.dはどういうタイミングで作られる&更新されるんでしょうか?

>>12
ありがとうございました
0024nobodyさん2012/01/20(金) 23:31:21.75ID:x5waH9K4
http://us3.php.net/manual/ja/tokyo-tyrant.installation.php
マニュアルのこのページなのですが、
この--with-tokyo-tyrant[=DIR]などは、PHPをソースコードから入れる場合に
./configure時に指定しろという事でしょうか?

良く分からないのですが・・・

導入例を色んなサイトで見たのですが、書かれていないような気がします
tyrantとcabinetを入れた後にPECLでモジュールを入れればいいのかなと思っていたのですが
0025nobodyさん2012/01/20(金) 23:37:39.24ID:x5waH9K4
ごめんなさい
PHPの時はおかしいと思っておりました
PECLモジュールをphpizeで入れるときのオプションだとhelpを見て分かりました
0026nobodyさん2012/01/21(土) 00:06:03.40ID:zlJukRTP
【OS名】 Linux系
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】
入出力のサニタイズの質問です。

名前とメールアドレスを入力してもらい、次の画面で確認表示して、
確認後にDBに格納します。また、あとでDBから取り出して画面に表示します。

このとき、どのようにバリデートとサニタイズを行うのがいいでしょうか。

次の流れで、(2)と(3)のサニタイズは必要でしょうか。
行わなければ、ぜい弱性になりえますか?

利用者から名前とメールアドレスを受け取る
 ↓
mysqli_real_escape_stringでサニタイズ(1)
 ↓
長さが1以上、かつ、メールアドレスは適切
 ↓
(1)をhtmlspecialchars でサニタイズして表示(2)
 ↓
利用者が確認
 ↓
(1)の結果をDBに格納

あとで、
DBから名前とメールアドレスを取り出す
 ↓
htmlspecialchars でサニタイズして表示(3)
0027nobodyさん2012/01/21(土) 00:06:54.20ID:zlJukRTP
こっちの方がいいかな?

利用者から名前とメールアドレスを受け取る(a)
 ↓
(a)の長さが1以上、かつ、メールアドレスは適切
 ↓
(a)をhtmlspecialchars でサニタイズして表示(b)
 ↓
(b)を利用者が確認
 ↓
(a)をmysqli_real_escape_stringでサニタイズ(c)
 ↓
(c)をDBに格納
0028nobodyさん2012/01/21(土) 00:13:57.76ID:???
確認画面と完了画面での情報の引き渡し方とチェックのタイミングの話かと思ったら
ただのエスケープの話だったでござる
0029nobodyさん2012/01/21(土) 00:25:53.11ID:zlJukRTP
>>28
まだ確認画面を作ってないのですが、
セッション変数で渡してしまおうと思っています。

今の仕様だと確認画面がないので、セッションは不要なんですが。
0030nobodyさん2012/01/21(土) 00:28:45.42ID:mz2KZcw3
何らかの処理でエラーが発生したとき、その内容をバックグラウンド処理として
管理者にメール送信させたいと思っています。
それで、それに関することを調べていたら「複数のプロセスが発生しないように云々」とありました
これについて聞かせてください
・メール送信する処理をこの場合のプロセスとして考える
・同時に複数のプロセスが動くのは望ましくない(サーバの負荷がかかる)
・そうならないための仕組み(排他制御とはこのことですか?)を考えるべき
ってことですか?

どうやって、現在管理者向けのメールを送るプロセスが起動してるかを判定できるんでしょうか?
簡単な例を教えてもらえると嬉しいです。よろしくお願いします。PHP5.3です。
0031nobodyさん2012/01/21(土) 00:32:11.83ID:???
>>29
(1)と(2)の脆弱性は全く別物なので片方だけやっても意味ないよ
0032nobodyさん2012/01/21(土) 00:32:30.90ID:???
バックグラウンド処理として管理者にメール送信って、
どうやるのを想定していますか?
それに関することのソレがわかんないし、貴方の思ってる方法と
ソレがあっているか分かんないし、なんで複数のプロセスが発生しちゃだめなのかがつながらない。
答えるとすると、ただの想像になるので、貴方の役に立たないかもしれません。
0033nobodyさん2012/01/21(土) 00:33:42.41ID:???
>>30
同時に複数のプロセスが動くのは普通だよ
リソースを共有してて同時にいじったら問題が発生するときは排他制御かけるけど
0034nobodyさん2012/01/21(土) 00:39:35.47ID:zlJukRTP
>>31
ありがとうございます。
それぞれ対策することにします。
0035nobodyさん2012/01/21(土) 00:52:11.08ID:???
>>32
言葉足らずで申し訳ありません
イメージとしては exec();を利用してメールを送信するsendmail.phpを実行しようと思っています
排他制御というのを実行して、たとえばユーザA,ユーザB,C,D...が大勢いっぺんにメールを送るようなことに
ならないようにしないとサーバが重くなってしまうのかなぁと思ってましたが、
そんなことないんでしょうか?

よくわからないのですが、sendmail.phpの中で以下のようなことをするのかと自分は思っていましたが…
if(!file_exists('./mailsending')){
//現在メール送信中なのを示すロック用のファイルを作る
mkdir('./mailsending',0777);
//メール送信処理
〜〜
unlink('./mailsending');
}else{
sleep(5);
//このあとこの処理を頭からもう一回実行する
}

>>33
プロセスというのがそもそもよくわからないのですが
mail();の実行でメール送信のプロセスが起動するわけですよね?
それはいくつも同時に動いて問題なくて、一つ動いてそれが送信完了したらそのプロセスは消えるんでしょうか?
0036332012/01/21(土) 01:17:13.33ID:???
>>35
execで外部メールプログラムにパイプで渡すのか
mailでメールサーバに渡すのかどっちなんだ?
どうやろうとしてるのか情報がないので分からないけど普通はメールキューに溜まるんでないの?
0037nobodyさん2012/01/21(土) 02:10:54.17ID:???
sleepだの、排他処理だのしてないで、さっさと投げて処理した方が
0038nobodyさん2012/01/21(土) 03:39:49.18ID:???
>>23
インストーラ(というかMakefileやRPM)がそこに作ったり作らなかったり。
0039nobodyさん2012/01/21(土) 04:59:51.97ID:eRKOygVB
call_user_func_arrayと

$func = function ($a) {};
$func("あ");
で呼び出すのって違いありますか?
0040nobodyさん2012/01/21(土) 05:02:29.98ID:???
そりゃ違う
0041nobodyさん2012/01/21(土) 05:27:34.12ID:???
120行ほどコード書いて実行したらエラーもなく動いた
感動しました!
0042nobodyさん2012/01/21(土) 05:32:01.60ID:???
誰あんた
0043nobodyさん2012/01/21(土) 11:07:42.28ID:FSMglBTD
phpで使用できるアプリケーションサーバー
どのようなものがありますか?
0044nobodyさん2012/01/21(土) 11:31:19.49ID:???
前スレに帰れよもう
0045nobodyさん2012/01/21(土) 16:25:18.51ID:jFN3iVio
文字コードについて
通常はutf-8で統一するのでしょうか?(php,mysql,xhtml)
携帯の場合はsjisだと思いますが、その場合はsjisで
(php,mysql,xhtml)で統一するのでしょうか?
0046nobodyさん2012/01/21(土) 16:34:35.91ID:???
どうしてもってときは出力だけShift_JISにするけど、いまどきUTF-8対応してない携帯って生きてるの
0047nobodyさん2012/01/21(土) 16:57:04.13ID:???
今時携帯でもutf8でいいわな
まぁsjisにするにしても内部コードはutf8にするのが鉄則
内部コードがsjisってだけで問題起きるからな
0048nobodyさん2012/01/21(土) 17:00:29.88ID:???
>>46
へえ、携帯向けもUTF-8でいいんですか。
化石のような携帯を使ってる奴らを相手にするつもりはないので。
0049nobodyさん2012/01/21(土) 17:43:30.86ID:???
いわゆるガラケーに対応するなら出力はSJISにすべきだろうね。
スマホ相手だったらUTF-8で問題ないよ。
0050nobodyさん2012/01/21(土) 18:01:38.09ID:CB8OXbyx
質問させてください
ソケット通信のプログラムに興味があって勉強してるのですが、
stream_set_timeoutで設定するタイムアウトは実際にどのようなときに
発生するんでしょうか?


例えば10秒のsleepを設定してある外部のphpプログラム(HTTPアクセス)に、
stream_set_timeoutで5秒を設定したプログラムからアクセスしても
タイムアウトが発生せず10秒しっかりと待たされてしまうのですが、
そもそもstream_set_timeoutで設定するタイムアウトの解釈が間違ってますか?
0051nobodyさん2012/01/21(土) 18:07:22.46ID:mW1ztqvo
配列hを$h=array(2=>0,0,0,0,0,0,0,0,0,0,0);したとき、
foreach ($h as $key => $val) {
echo "h[" . $key . "] = " . $val . "<br>";
}
で出力すると
h[2] = 2
h[3] = 5
h[4] = 14
h[5] = 11
h[6] = 14
h[7] = 17
h[8] = 14
h[9] = 5
h[10] = 8
h[11] = 6
h[12] = 4
となるサンプルが本に載ってましたが、
$h=array(2=>0,0,0,0,0,0,0,0,0,0,0);は
$h=array(2=>0,3=>0,4=>0,5=>0,・・・が
略記と考えていいのですか?
0052nobodyさん2012/01/21(土) 18:09:31.65ID:mW1ztqvo
間違えました、
配列hを$h=array(2=>0,0,0,0,0,0,0,0,0,0,0);したとき、
foreach ($h as $key => $val) {
echo "h[" . $key . "] = " . $val . "<br>";
} で
0
0
0
0
0
0
0
0
0
0
0
でした
0053nobodyさん2012/01/21(土) 21:11:00.04ID:MGOT7geS
いまhtml,cssと終わってjavasprictに入ろうと思ってんだけど
phpもやったほうが捗る?

他の言語の方が捗ったりして
0054nobodyさん2012/01/22(日) 00:24:53.85ID:UXyrzgYX
オブジェクト指向がわかんない。
クラスってどういうときにどんなかんじで使うの?
普通にファンクションじゃダメなの?
0055nobodyさん2012/01/22(日) 00:30:35.02ID:???
>>54
phpのオブジェクト指向は最適化されていないので、
使わなくていいよ。
0056nobodyさん2012/01/22(日) 00:57:25.79ID:UXyrzgYX
>>55
いや業務で使わないといけないから
月曜までに理解しとかないとまずい
0057nobodyさん2012/01/22(日) 01:40:38.96ID:???
人間ってクラスがあるとする
class ningen

じつはこれこのままだと動かない、人造人間
なのでスイッチ入れます
$hito = new ningen();

この人造人間、ミサイル発射機能が実装されてる
$hito->missile();

デフォルトだとミサイル1発に設定されてるけど5発でも出せるよ
$hito->setAmmo(5);
$hito->missile();

髪型だって変えられるイカシタやつなんだ
$hito->setHair('hage');

こんな感じ
classの中にはmissle,setAmmo,setHairってfunctionがある
スイッチを入れた$hitoはインスタンスと呼ばれるオブジェクト
インスタンスからそのクラスが持ってるメソッドを呼び出したり、インスタンスの髪型変えたり
考えてもあまり意味ないから、簡単なソースを真似て自分で書いてみれ
0058nobodyさん2012/01/22(日) 01:49:25.23ID:???
>>51
http://www.php.net/manual/ja/language.types.array.php

キーを省略した場合、整数添字の最大値が使用され、 新しいキーはその最大値 +1 となります。
整数値は負の数とすることができ、 負の添字についても同様となります。例えば、最高時の添字が
-6 の場合、次のキーは -5 となります。 整数添字がまだ存在しない場合、キーは 0 (ゼロ) となります。
値が既に代入されているキーを指定した場合、元の値は上書きされます。
0059nobodyさん2012/01/22(日) 05:27:25.23ID:???
>>50
sleep→socket通信になってるんでしょう
逆の場合はすでに通信が完了している
0060592012/01/22(日) 05:28:11.30ID:???
ごめんよく読んでなかった
スルーしてくれ
0061nobodyさん2012/01/22(日) 08:13:40.99ID:bGbbffT4
touch()でファイルを作りたいんですがうまくいきません
public_htmlの権限を707(または706など)にして書き込み可能にする必要があるんでしょうか?
またその場合外から書き込みなることは危険ではないんでしょうか?
0062612012/01/22(日) 08:16:15.48ID:bGbbffT4
>>61
すみません
書き込みなることは〜→書き込み可能になることは
に読み替えてください
0063nobodyさん2012/01/22(日) 09:42:04.56ID:???
モジュール版phpでsafemodeがかかってるなら
出力するファイルの親ディレクトリに書き込み権限を与える必要がある
親ディレクトリがpublic_htmlならpublic_htmlに与える必要があるが
public_html/hoge/に出力する場合public_htmlまで遡らず
単にhogeに書き込み権限を与えればよい

>またその場合外から書き込みなることは危険ではないんでしょうか?
ディレクトリやファイルを操作するスクリプトに脆弱性がある場合は
余計な権限を与えてると問題が起きる可能性はあるが
権限を与えること自体に危険性はない
0064nobodyさん2012/01/22(日) 12:11:09.91ID:???
>>57
クラスの先頭は大文字で書くクセを付けてくれ頼む
0065nobodyさん2012/01/22(日) 12:12:39.17ID:???
>>50
タイムアウトの仕様はWindowsとLinuxで異なるから気をつけよ
0066nobodyさん2012/01/22(日) 12:13:47.51ID:???
>>45
10年前の携帯だけどUTF-8だからSJIS携帯ユーザーを見つけるのが難しい
0067nobodyさん2012/01/22(日) 12:14:13.87ID:???
>>43
PHP5.4から簡易サーバーが組み込まれてる
0068nobodyさん2012/01/22(日) 12:16:33.83ID:???
>>57
ただのモジュールとして使うのか、オブジェクトがわからない時はそういう使い方もありかな。
0069nobodyさん2012/01/22(日) 13:08:00.49ID:???
>>57
関係ないがよくわかったd
0070nobodyさん2012/01/22(日) 13:24:42.98ID:MxVymtCi
PHPの中にHTMLをそのまま書きたいとき、いい方法はありますか?
この2つなら思いつきますが、他にオススメがあればお願いします。

1.echoでHTMLを出力する
2.?>でPHPを閉じて、HTMLを書いて<?phpでまたPHPを書く
0071nobodyさん2012/01/22(日) 13:26:53.23ID:???
<<<eof
0072nobodyさん2012/01/22(日) 13:29:50.28ID:MxVymtCi
>>71
ヒアドキュメントですね。忘れていました。
それをechoで出力すればいいですね。
0073nobodyさん2012/01/22(日) 13:48:53.45ID:???
>>70
echo "
<p>aa</p>
<p>aa</p>
";

echo '
<p>aa</p>
<p>aa</p>
';
0074nobodyさん2012/01/22(日) 14:05:51.50ID:MxVymtCi
>>73
改行が入ってもクオートは閉じなくていいんでしたか。
ありがとうございます。
0075nobodyさん2012/01/22(日) 14:18:37.17ID:oj78u6X0
メール送信処理をクラス化して、メールの種類によって文面を変える処理を作っています
(警告メール/エラー報告メール/新着情報メールなど)
今までswitch文で一つのファイルにまとめて各パターンの文章を書いてたんですが、
その文面を外部化してテンプレート的に読み込ませた方が良いと思い始めました
しかし、そのメールのテンプレートの作り方がわかりません
最低限下記を知りたいです
・テンプレートの拡張子(というかファイルタイプ)はどうすべきか
・そのファイルから文章を読み込ませる方法
・ユーザ名を自動的に置き換えて送信できるようにする方法
 (「こんにちは ****さん」的な…)

どうしたらいいんでしょうか

処理の流れとして、上記のメール送信する処理を書いた.phpファイルを mailsend.class.phpとして
以下のようにしてメールの種類と送信先ユーザ名を渡して送信処理することを考えています
require(mailsend.class.php);
$mail = new mailsend();
$mail->sousin($mailType, $userName);
0076nobodyさん2012/01/22(日) 14:32:21.99ID:???
>>75
もうちょっと初歩的なところからやったほうがいいのでは?

質問の答えとしては
>・テンプレートの拡張子(というかファイルタイプ)はどうすべきか
プレーンテキストだしなんでもいい

>・そのファイルから文章を読み込ませる方法
file_get_contents etc

>・ユーザ名を自動的に置き換えて送信できるようにする方法
そういう情報を集めたデータベースなりが必要でしょう
0077nobodyさん2012/01/22(日) 16:12:54.41ID:ySnaTQRi
php-tokyo_tyrantについての質問なのですが、
マニュアル
http://www.php.net/manual/ja/class.tokyotyrant.php#tokyotyrant.constants.types
に書かれているTokyoTyrant::TTE_SUCCESSなどはどのようにして使うのですか?

実行結果によってエラー処理など、分岐させたいのですが、
memcachedのMemcached::getResultCodeのように実行結果のコードを取得するような関数もありません
教えていただけませんでしょうか?
007861, 622012/01/22(日) 16:55:34.47ID:bGbbffT4
>>63
丁寧に答えて下さりありがとうございます
仰るとおり、調べた結果safemodeでした
ディレクトリを新しく設け、そこに置くファイルは最小限にして実装しました
ありがとう!
0079nobodyさん2012/01/22(日) 17:16:32.51ID:UXyrzgYX
>>57
わかりやすい例えどうもです!
0080nobodyさん2012/01/22(日) 17:58:02.33ID:???
>>77
エラー時に投げてくる TokyoTyrantException::getCode() と比較する
0081nobodyさん2012/01/22(日) 20:10:43.98ID:ySnaTQRi
>>80
なるほど、お答えいただきありがとうございます
日本のマニュアルは、英語と比べて遅れている(差がある)ようで、
先ほど初めて知ったのですが、TokyoTyrantExceptionというのがあると知りました
他にもIteratorといったクラスがあるようで・・・

今Windows環境でLinuxが手元にないので試せないのですが、
keyからput、getなどする際は、try~catchのtry内で行えということですね?
0082nobodyさん2012/01/22(日) 21:28:18.69ID:???
>>81
そういう事だね
マニュアルにない事はソースに頼る方が確実

tokyo_tyrant.c
> /* {{{ int TokyoTyrantTable::put(string pk, array row);
> put a row. if pk = null new key is generated
> @throws TokyoTyrantException if not connected to a database
> @throws TokyoTyrantException if get fails
> */
> PHP_METHOD(tokyotyranttable, put)
> {
0083nobodyさん2012/01/22(日) 22:12:07.02ID:???
>>76
助かりました。ありがとうございました
0084nobodyさん2012/01/22(日) 23:30:07.77ID:ySnaTQRi
>>82
本当にありがとうございました
しかしPHP・・・だけでなく他言語としてもTokyoTyrantの情報って出てきませんねw
調べてもマニュアルの転用ばかりが出てきます
皆さん何を使ってらっしゃるんですか?

APCやmemcachedがやはり多いんですかね?
それかCassandraとか
それともこういうのは使わずに、DBとかcache機能とかなのですかね
0085nobodyさん2012/01/23(月) 05:35:43.09ID:???
情報が少ないものは使わないってのは普通なことでは
それでも使いたいってなら頑張って調べるしかないからね
めんどくさいし情報が豊富なmemcachedでいいってなるわ
0086nobodyさん2012/01/23(月) 08:34:14.66ID:???
>>57
で、なんとなくクラスの使い方がわかりました。ありがとうございます。
でも、今自分の作っているもののうち、どういうものをクラスに作ったらいいのか
まだいまいち把握できません。どんなときにクラスにするんですか?
0087nobodyさん2012/01/23(月) 09:40:19.55ID:???
そろそろまとめサイトつくろうぜ
0088nobodyさん2012/01/23(月) 10:08:47.85ID:???
>>87
がんばってね
0089nobodyさん2012/01/23(月) 10:22:28.44ID:???
どんなときにクラスとかどういうものをクラスとかいう概念を捨てろ
全部クラスにしないといけないそういう言語もあるんだぞ
というわけでオブジェクト指向の概念を勉強したいなら
一度JavaなりC#の初心者向けサイトを訪問してきな
0090862012/01/23(月) 15:30:40.66ID:???
>>89
ひー、ますますわからなくなりました。
オブジェクト指向の概念 がんばって読んできます。
0091nobodyさん2012/01/23(月) 18:09:04.87ID:NlIjtP0L
【OS名】Windows 7 Home Premium SP1 (64bit)
【PHPのバージョン】5.3.9
【連携ソフトウェア】Apache 2.2.21

(php.ini)
mbstring.internal_encoding = UTF-8
mbstring.http_input = UTF-8
mbstring.encoding_translation = On


不正な UTF-8 を出来る限り防ぎたいと思っています
htmlspecialchars のように無効な文字を削除する関数で、'<' (小なり) や '>' (大なり) を変換しない関数は無いでしょうか
$str = htmlspecialchars_decode(htmlspecialchars($str, ENT_COMPAT, ''), ENT_COMPAT) のように書くのが適切でしょうか
0092nobodyさん2012/01/23(月) 18:15:58.21ID:???
不正な UTF-8 ってなんでしょう・・・
htmlspecialcharsは 無効な文字を削除する関数ではありませんし。
0093912012/01/23(月) 18:47:20.79ID:NlIjtP0L
>>92
すみません
PHP 5.2.12 / 5.3.2 以降の htmlspecialchars で、冗長なUTF-8表現などが含まれると空文字を返す機能のことです
0094nobodyさん2012/01/23(月) 18:47:43.83ID:???
>>91
mb_convert_encoding("\xC0\xBC", 'UTF-8', 'UTF-8')
0095nobodyさん2012/01/23(月) 19:17:30.77ID:HHu7F5nF
時刻の計算について教えてください
何かを行った際にその時の現在時刻を取得し、DBなどに格納しておいて、
その後に、3日以上経っていたら削除するような事をしたいのですが、
どのように書けばいいのでしょうか?

自分はまず先にdate('Y/m/d H:i:s');でDBに格納
->次に(3日以上経ったとして)、現在時刻を取得し、DBに格納した値と比較
と考えたのですが、計算方法が分かりません
strtotime()とか考えたのですが、解決には至りませんでした
0096nobodyさん2012/01/23(月) 19:21:52.27ID:???
っunixtime
0097912012/01/23(月) 19:23:42.04ID:NlIjtP0L
>>94
ありがとうございます
PHP 5.4 では、5〜6 バイト表現を mbstring 系でブロック出来るようですが
PHP 5.3 では、htmlspecialchars を使うしかないのでしょうか
0098nobodyさん2012/01/23(月) 19:34:36.35ID:???
1、DBには日付型で入れてSQLで三日経過の判別
2、dbにタイムスタンプtime()でいれて、 現在時刻のタイムスタンプから3日前の値より小さかったら消す。
time() - 3 * 24 * 60 *60 な
0099nobodyさん2012/01/23(月) 19:52:48.40ID:???
>>97
自分で取り除いてやるしかないね
RFCに許容するシーケンスがあるから簡単に出来ると思うよ
http://tools.ietf.org/html/rfc3629#section-4
0100912012/01/23(月) 20:12:10.22ID:NlIjtP0L
>>99
htmlspecialchars と htmlspecialchars_decode を通すことにします
ありがとうございました
0101nobodyさん2012/01/23(月) 21:08:58.00ID:FIQlOImm
PHPでページの出力するとき、関数やメソッドにechoやプリントを仕込んでおいて
それを呼ぶことで出力する方法と、直接埋め込み式で書き連ねていく方法が
あると思うのですが、どのようにするのがよいのでしょうか?

内容はfor文やメソッド呼び出しがこまめに使われてて150行ぐらいです
インクルードファイルまで見ないといけないということを考えると、
やはり多少複雑になってもそのまま直に書くのが望ましいのでしょうか?
0102nobodyさん2012/01/23(月) 21:16:13.86ID:HJ0fqWO2
こういう書き方があることを今日知ったんですが、問題ないですよね?

<?php
$a = 2;
if ( $a == 1 ) { ?>
hogehoge<br />
<?php
} else {
die();
}
?>
0103nobodyさん2012/01/23(月) 21:16:59.61ID:???
>>101
スタイルは人それぞれだからなんとも言えない
好きなようにせい

書いてるうちにだんだん変移してそのうち自分にぴったりな方法が見つかるさ
俺も最初はスクリプトに<<<EOF〜EOF;ってかんじに書いてたが
今じゃ全部テンプレートよ
0104nobodyさん2012/01/23(月) 21:21:33.12ID:???
>>102
動くなら問題ないですよ
0105nobodyさん2012/01/23(月) 21:51:53.79ID:???
>>103
ありがとうございます何かよい方法を考えてみます
0106nobodyさん2012/01/23(月) 23:02:15.95ID:HJ0fqWO2
>>104
ありがとうございます。
コードは汚いけど便利です。
HTMLの文法チェックも働くし。
0107nobodyさん2012/01/24(火) 15:34:10.51ID:ZLZzoB2p
ファイルの更新内容をリアルタイムに監視するにはどうすればいいですか?
たとえば、アパッチのログファイルを常に読み込み(監視)して、変更があればクライアントに伝えたいです。
0108nobodyさん2012/01/24(火) 16:10:40.82ID:???
嫌がらせとしか思えないw
0109nobodyさん2012/01/24(火) 16:33:52.13ID:???
環境依存にしたくないのなら、定期的にファイルが更新されていないか見に行く
0110nobodyさん2012/01/24(火) 16:41:15.31ID:???
クライアントにはどうやって伝えるんだ
0111nobodyさん2012/01/24(火) 17:20:37.04ID:???
apacheログの内容をリアルタイムでクライアントに伝えて何がしたいん
0112nobodyさん2012/01/24(火) 19:40:41.93ID:QFJ8TOos
楽しんご「ああっぁぁあぁぁっっ!!たのチンポおおおぉぉぉおお!!!」
0113nobodyさん2012/01/24(火) 19:40:57.76ID:QFJ8TOos
間違えました
0114nobodyさん2012/01/24(火) 20:24:28.04ID:???
>>107
監視用のデーモン作れば?
PHPで作るよりベターな方法があるだろうけど
0115nobodyさん2012/01/24(火) 20:55:04.18ID:???
>>107
ajaxでやれば?
0116nobodyさん2012/01/24(火) 20:56:19.19ID:???
ajaxはありえない
0117nobodyさん2012/01/24(火) 20:56:56.54ID:???
jaxa
0118nobodyさん2012/01/24(火) 21:01:38.07ID:???
はやぶさ
0119nobodyさん2012/01/24(火) 23:25:13.13ID:???
phpからシェルスクリプト叩けばなんとかなるかもよ。
0120nobodyさん2012/01/25(水) 00:33:12.95ID:???
>>107
http://www.php.net/manual/ja/book.inotify.php
ぶっちゃけこれ入れるぐらいならinotify-toolsでよくね?ってなるけど
0121nobodyさん2012/01/25(水) 02:14:37.08ID:ElXWLH0v
$s = 'foo';
で、$s[0]と呼び出すと'f'が返りますが
これは比較的新しいバージョンでの対応でしょうか。
以前はこうは書けなかったような記憶もあり・・
01221212012/01/25(水) 02:36:53.81ID:ElXWLH0v
マニュアルの中に該当個所見つかりました
http://www.php.net/manual/ja/language.types.string.php#language.types.string.substr
特にバージョンの注記はないようなので、前からできたのかもですね
0123nobodyさん2012/01/25(水) 04:10:38.16ID:???
そうすると君の記憶はいったい・・・!?
0124nobodyさん2012/01/25(水) 15:48:03.14ID:e1p5NWxB
$pid = getmypid();
が1の値になることってありますか?
pid1はUNIXでは特別な番号らしいのですがLINUX上のPHPでも
getmypid()は1にはならないですか?
0125nobodyさん2012/01/25(水) 16:03:02.66ID:???
1はinit
でもそれを聞いてどうすんだ
0126nobodyさん2012/01/25(水) 16:15:08.29ID:e1p5NWxB
処理前→0
処理後→1
で処理前から処理後までの一時的な番号をpidで付与しようと思ってまして
確認させてもらいました。
0127nobodyさん2012/01/25(水) 17:54:45.67ID:vhcdno6F
PHPを勉強しようと思い、ApacheとPHPをインストールしようとしている初心者です。
インストールしている途中で問題が発生し、先に進めなくなってしまいました。どなたかアドバイスをお願いいたします。

PHPに関しては、PATHの設定をするところまでは終わっています。
Apacheに関しては、単独で動かせばルートディレクトリが正常に表示される状態です。
ここで、Apacheのhttpd.confにPHPのphp.iniのディレクトリを指定し、
Apacheを起動しようとすると以下のメッセージが表示され、Apacheが起動しません。

Invalid command 'PHPIniDir', perhaps misspelled or defined by a module not included in the server configuration

php.iniの記述内容は、php.ini-developmentのデフォルトの内容のままです。
ApacheとPHPそれぞれのインストールしたバージョンは以下の通りです。

Apache 2.2.21
PHP 5.3.9

どうかよろしくお願いいたします。
0128nobodyさん2012/01/25(水) 18:05:32.63ID:???
>>127
とりあえずエラーメッセージを機械翻訳するところから始めようか

> Invalid command 'PHPIniDir', perhaps misspelled or defined by a module not included in the server configuration
ミススペルしてね?もしくはモジュール読み込めてなくね?
01291272012/01/25(水) 18:15:05.58ID:vhcdno6F
>>128

モジュールの追加をしていないことが原因でした。
これからは、エラーメッセージをしっかり読みます。
どうもありがとうございました。
0130nobodyさん2012/01/25(水) 19:41:39.09ID:???
勉強しようと思ってるのに何故エラーメッセージすら読まないのか理解に苦しむ
本に書いてある手順をトレースするのが勉強か?
0131nobodyさん2012/01/25(水) 19:55:07.88ID:???
>>130
初心者は、人が読んでも意味が無い物だと思ったりするもんだよ
0132nobodyさん2012/01/25(水) 22:17:35.21ID:???
そういう事だな
自分で調べて解決でき始めたらもう初心者じゃねぇ
0133 忍法帖【Lv=5,xxxP】 2012/01/25(水) 22:18:20.00ID:???
掲示板などで書きこまれたコメントの数を先頭に表示させたいんですが
後ろで宣言した変数を前に表示させることってできますか?
0134nobodyさん2012/01/25(水) 22:44:32.95ID:???
日本語でおk
0135nobodyさん2012/01/25(水) 22:52:57.29ID:???
前もって数えて、先に出力するか
あとに出力したいものを、あとで出力するようにするか
出力処理を後半にまとめる
<?php
いろいろ処理
?>
いろいろ出力
<?php echo $コメントの数 ?>
いろいろ出力
0136 忍法帖【Lv=5,xxxP】 2012/01/25(水) 22:53:12.45ID:???
たとえば
<p>コメント数(<?php echo $x; ?>)</p>
<?php
// 掲示板のプログラム
$x // コメント数の変数
?>
ってのがあったときプログラムの下で宣言している変数を上で使いたい場合ってどうすればいいのかなと
htmlのなかにphpを書いてると思ってください
0137 忍法帖【Lv=5,xxxP】 2012/01/25(水) 23:04:44.50ID:???
>>135
やっぱりそうするしかないんですかね
コメント数をwhile文のなかに入れて数えているんですが
処理を分けると2回同じ事をしなくてはならないので冗長な感じがします
0138nobodyさん2012/01/25(水) 23:12:03.21ID:???
>>137
whileのなかで数えつつ、カウント以外の出力データを変数にためていけばいいよ。
while
カウント
出力データ作成(追加)

カウント出力
出力データ出力
0139 忍法帖【Lv=5,xxxP】 2012/01/25(水) 23:24:01.38ID:???
>>138
できました
ありがとうございます!
0140 忍法帖【Lv=40,xxxPT】 2012/01/25(水) 23:25:42.47ID:???
おめでとう。
0141nobodyさん2012/01/26(木) 01:51:46.71ID:???
とりあえずスレタイは読もうな
0142nobodyさん2012/01/26(木) 03:48:43.25ID:LhppUY8R
DOMやsimpleXMLElementのオブジェクトの階層が簡単に分かる方法ってないの?
var_dumpしたオブジェクトと生xml(html)ソースを見比べて目的の要素までのパスを探してるけど、
めっちゃ面倒くさいわ

var_dumpしたときに->もついてればいいのに
0143nobodyさん2012/01/26(木) 03:49:24.15ID:???
あるけど質問者として態度はわきまえような
0144nobodyさん2012/01/26(木) 03:53:21.83ID:???
分かんないならレスしないでくれる?
0145nobodyさん2012/01/26(木) 04:02:43.02ID:ZvFchlGT
凄い初歩的な質問だと思うのですが、

$string = 'あ'; // utf-8
if ($string == 0xe38182) {
}

これがtrueにならないのは何故でしょうか?
0146nobodyさん2012/01/26(木) 04:11:57.67ID:???
文字コード値型ではなく文字列型だから
0147nobodyさん2012/01/26(木) 04:15:56.06ID:???
慇懃な質問でもこの程度か
0148nobodyさん2012/01/26(木) 04:19:08.44ID:???
慇懃?どこがだ。最低限だろ。
0149nobodyさん2012/01/26(木) 04:21:38.30ID:???
他人に最低限を求めるならお前の最低限の口のききかたしろよ
0150nobodyさん2012/01/26(木) 08:38:28.76ID:???
php.net繋がる?
今朝から海外(たぶんアメリカ)の鯖に繋がらないんだが・・・
0151nobodyさん2012/01/26(木) 08:40:56.82ID:???
余裕で繋がる
0152nobodyさん2012/01/26(木) 08:41:27.06ID:???
トンクス
ということはOCNの経路障害か
0153nobodyさん2012/01/26(木) 08:42:15.72ID:???
【速報】wikipedia 死亡
http://awabi.2ch.net/test/read.cgi/poverty/1327533899/
0154nobodyさん2012/01/26(木) 09:10:52.29ID:???
>>145
if ($string == "\xe3\x81\x82") {
0155nobodyさん2012/01/26(木) 13:33:32.38ID:S/vWMEY8
セッションIDが重複する事はあり得るのでしょうか?
0156nobodyさん2012/01/26(木) 14:29:50.07ID:???
mb_convert_kana は他のマルチバイトを扱うもの同様に
mbstringが入っていないと使えないということでしょうか?
0157nobodyさん2012/01/26(木) 15:02:27.69ID:???
>>155
常識的に考えてみなよ
0158nobodyさん2012/01/26(木) 16:04:40.67ID:???
発行するセッションが0-9の一桁なら11人同時に使ったら重複だな
0159nobodyさん2012/01/26(木) 16:23:22.22ID:tvfPoK0+
test
0160nobodyさん2012/01/26(木) 16:36:17.38ID:???
apache2.2.21
php ver 5.3.8
os xp

教えてください。

$str には文字列が入っています
下の 'あいうえお' のところに
$strの文字列をいれたいのですが
どうしたらいいでしょうか?

'$str' といれても 文字列ではなく
$strが入ってしまいます。

$ex->abc = 'あいうえお';
0161nobodyさん2012/01/26(木) 16:40:09.05ID:???
>>1
0162nobodyさん2012/01/26(木) 16:42:52.94ID:tvfPoK0+
apache2.2.21
php ver 5.3.8
os xp

教えてください。

$str には文字列が入っています
下の 'あいうえお' のところに
$strの文字列をいれたいのですが
どうしたらいいでしょうか?

'$str' といれても 文字列ではなく
$strが入ってしまいます。

$ex->abc = 'あいうえお';
0163nobodyさん2012/01/26(木) 16:49:51.12ID:???
変数が文字列中に展開されるためには
シングルクオテーションではなくダブルクオーテーションを使わないといけない
0164nobodyさん2012/01/26(木) 16:56:14.38ID:???
>>163
ありがとうございます
0165nobodyさん2012/01/26(木) 17:11:57.96ID:9mO7LzsI
PHPからデーモンを起動することは出来ますか?
コマンドでは php deamon.php となりますが、これをPHPプログラムから起動したいです。
その時にクライアントにデーモンを起動したことを伝えたいので、起動後にPHPプログラムの方は終了させたいです。
0166nobodyさん2012/01/26(木) 17:39:32.93ID:+EnTjdmH
cURL_multiのマニュアルのコードについて質問させてください
$active = null;
// ハンドルを実行します
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($mh) != -1) {
do {
$mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);
}
}
上記のように書かれていますが、挙動が理解できません
何故全く同じdo~whileを2回も行わなければいけないのでしょうか?
$mrcをvar_dump()などしてみたのですが、追えませんでした
while ($active && $mrc == CURLM_OK) {
if (curl_multi_select($mh) != -1) {
が何をしているのかも分かりませんでした
0167 忍法帖【Lv=40,xxxPT】 2012/01/26(木) 18:15:55.53ID:???
>>164
単に入れたいだけなら
$ex->abc = $str;
0168nobodyさん2012/01/26(木) 20:26:10.63ID:???
>>165
exec('php daemon.php &')
でもすればいいんじゃない?
0169nobodyさん2012/01/26(木) 20:30:01.24ID:???
>>166
multiの実行完了とサブ接続の実行完了の違いじゃない?
0170nobodyさん2012/01/26(木) 21:05:45.47ID:KeppCWac
mb_convert_variablesで文字コードを変換できません。
mb_convert_encodingだとなぜかうまくいきます。
この2つの関数って同じ挙動にならないもんなんでしょうか?


$s="ああああ";
mb_convert_variables('EUC-JP','UTF-8',$s);
print $s;


$s="ああああ";
$s=mb_convert_encoding($s, 'EUC-JP','UTF-8');
print $s;
0171nobodyさん2012/01/26(木) 21:52:18.90ID:???
<?php
$ip = gethostbyname("ドメイン");
if($fp = @fsockopen($ip, 5121,$un,$sinn,2)) {
echo("Map:<font color="#00DD00">online</font>");
fclose($fp);
} else {
echo("Map:<font color="#DD0000">offline</font>");
}
if($fp = @fsockopen($ip, 6121,$un,$sinn,2)) {
echo("  Char:<font color="#00DD00">online</font>");
fclose($fp);
} else {
echo("  Char:<font color="#DD0000">offline</font>");
}
if($fp = @fsockopen($ip, 6900,$un,$sinn,2)) {
echo("  Login:<font color="#00DD00">online</font>n");
fclose($fp);
} else {
echo("  Login:<font color="#DD0000">offline</font>n");
}
?>

複数のサーバーのオンライン状況をチェックできる鯖ステを作りたいのですが、このソースじゃダメみたいで
エラーが出てしまいます。

Parse error: syntax error, unexpected T_STRING in : eval()’d code on line 5

0172nobodyさん2012/01/26(木) 21:58:01.26ID:???
>>171
鯖ステってなんですか?
MRTGじゃだめなの?
0173nobodyさん2012/01/26(木) 21:59:53.07ID:???
>>171
マジレスわすれてた。
> echo("Map:<font color="#00DD00">online</font>");
エスケープしてないから。
0174nobodyさん2012/01/26(木) 22:10:24.57ID:Rab6N0OA
どこをどうエスケープすればいいのでしょうか
0175nobodyさん2012/01/26(木) 22:19:23.72ID:???
ガンホーに通報しますた
0176nobodyさん2012/01/26(木) 22:29:51.83ID:???
自分の鯖ならいいけどこれって他所様の鯖でしょ
ポートから察するにラグナロクオンラインみたいだけど
DOS攻撃もいいところだわ
自分の鯖だったらエミュ鯖だろうからそれはそれで問題だけどな
0177nobodyさん2012/01/26(木) 22:30:19.28ID:???
>>171
エミュ鯖おつ
0178nobodyさん2012/01/26(木) 22:32:09.91ID:???
ゴミクズどもぶっ殺すぞ
0179nobodyさん2012/01/26(木) 22:37:11.28ID:???
http://yokoku.in/
0180nobodyさん2012/01/26(木) 22:37:16.58ID:???
>>170
上のはどうなるの?
01811702012/01/26(木) 22:43:39.42ID:KeppCWac
>>180
まったく変換されてないです。

$s="ああああ";
print $s;

と同じ結果になります。


あ、実際$sの中身はsimplexml_load_file($url)でRSSから持ってきた文字列です。
これ、なんか関係ありますかねぇ?
0182nobodyさん2012/01/26(木) 22:44:41.41ID:???
再現するコードを出せ
嘘書くな
0183nobodyさん2012/01/26(木) 22:48:56.17ID:???
>>181
下のはいいというのはよくわからないけど、RSSの文字だと、そもそも文字コードの変換が
出来ないような文字かもしれないよ。
変換前のとかを、ソースでみてみ。
01841702012/01/26(木) 23:04:19.58ID:KeppCWac
>>182
おっしゃるとおりですね。すみません(´д`;)

>>183
mb_convert_encodingだと問題なく変換されます。

↓この人と同じ状態です。解決できてないっぽいけど・・・
http://okwave.jp/qa/q4403628.html
0185nobodyさん2012/01/26(木) 23:06:43.46ID:???
>>176
DOS攻撃かどうかは使い方によるが。
0186nobodyさん2012/01/26(木) 23:15:53.75ID:???
>>184
まず問題を切り分けなよ。
関数の問題なのか、RSSから持ってきた文字列の問題なのか
0187nobodyさん2012/01/27(金) 00:07:52.97ID:???
DOSどうこうというより
エミュ鯖は犯罪だから
0188nobodyさん2012/01/27(金) 00:18:59.00ID:???
DOS攻撃も犯罪ですから
0189nobodyさん2012/01/27(金) 00:35:24.65ID:???
通報した
0190nobodyさん2012/01/27(金) 00:37:01.03ID:???
やべーな
今著作権に厳しいからな。
0191 忍法帖【Lv=5,xxxP】 2012/01/27(金) 01:00:20.03ID:nAJWCuso
ネットでphpファイルを書くと文法の間違いとか括弧閉じ忘れとかを指摘してくれるサイト/ツールってないかな
0192nobodyさん2012/01/27(金) 01:28:51.51ID:???
おとなしくIDE使え
0193nobodyさん2012/01/27(金) 01:56:57.61ID:???
はい
0194nobodyさん2012/01/27(金) 02:23:46.73ID:???
なんだかんだROって浸透してるなぁ
0195nobodyさん2012/01/27(金) 03:16:50.05ID:???
@ head 部に記述された jQuery の $(document).ready(function(){ 〜 }); でCSSを弄ってimg要素に加工をするコードと、
と、
A body 部に記述された php のechoで吐かれた <img src='http://graph.facebook.com/".$prof_img_facebook."/picture?type=large' width='".$prof_img_size."'> のコード
(facebook APIを使ってfacebookのプロフ画像ととってくるコード)

ってどっちのが先に実行されますか?
困ってます。。。どなたか詳しい人いましたら教えて下さいm(_ _)m
0196nobodyさん2012/01/27(金) 03:20:39.84ID:???
readyがいつ実行されるのかを調べるが吉
01971702012/01/27(金) 05:49:06.74ID:GnO4EGnm
自己解決(?)しました。

引数の型がobject(SimpleXMLElement)#1〜(?)みたいなオブジェクトだと
変換されないっぽいです。(mb_ detect_ encodingでちゃんと判定されるのに)
stringsにキャストしたら普通に動きました。

mb_convert_variablesは引数にObjectも渡せるはずなのに謎ですね。
http://php.net/manual/ja/function.mb-convert-variables.php
0198nobodyさん2012/01/27(金) 07:24:12.54ID:???
上で文字列っつってたのも嘘かよ
0199nobodyさん2012/01/27(金) 17:28:49.70ID:ydVf8Xd1
PHPで登場する「 -> 」とは、どういう意味かネットで検索しようとしたのですが、
「 PHP -> 」のキーワードでは検索プログラムの何かの記号と混同してしまうのか
まったく意中の結果を得られませんでした
「 -> 」の意味を教えてください

ちなみに、こういった場合どういうキーワードで検索するのが
正解なのか教えて頂けると、とても嬉しいです
0200nobodyさん2012/01/27(金) 17:53:44.03ID:???
アロー演算子です。
マニュアルに一通り目を通すといいよ。
0201nobodyさん2012/01/27(金) 19:29:41.13ID:???
PHPってUnicodeでの正規表現書けますか?
preg_match('/[\u4e00-\u9fa5]/', ...)
といった記述がしたいのですが、マニュアルに\uのオプションが見つかりませんでした。
もしない場合は、utf-8とかに変換してからチェックするしかないのでしょうか。
0202nobodyさん2012/01/27(金) 21:45:47.62ID:???
>>198
正確にはオブジェクトの中の配列の中の文字列?
文字列と言えば文字列なわけで。普通にprintできるし。
0203nobodyさん2012/01/27(金) 22:43:29.14ID:???
>>202
俺に聞かれても知らん
0204nobodyさん2012/01/27(金) 22:44:32.42ID:???
>>201
http://www.php.net/manual/ja/reference.pcre.pattern.modifiers.php
0205nobodyさん2012/01/28(土) 01:26:13.34ID:GUwt9u3U
$_SERVER['REMOTE_ADDR']を表示したら「::1」となります。
ローカル環境でXAMPP上で開発しているのですが、
どうしたら「127.0.0.1」のように表示できるのでしょうか?
0206nobodyさん2012/01/28(土) 05:47:04.91ID:???
>>205
XAMPP IPv6 でググってみましたか
0207nobodyさん2012/01/28(土) 07:46:45.02ID:???
初心者はXAMPP使うな
0208nobodyさん2012/01/28(土) 12:00:43.80ID:???
>>205
apacheのhttpd.confをテキストエディタで開いて、
「Listen 80」をコメントアウトし、
Listen 0.0.0.0:80を有効にしてください
0209nobodyさん2012/01/29(日) 05:55:15.43ID:???
テスト
0210nobodyさん2012/01/29(日) 12:50:10.50ID:???
複数のURLのソースをいっぺんに取得する方法ってありますか?

foreach($RSS_data as $value){
$URL[]=$value->URL;
}

for ($i = 0, $n = count($URL); $i < $n; $i++) {
echo $URL[$i] . "<br />";
}

これで欲しいURLの一覧は出せるのですが、それぞれのページのHTMLソースが欲しいです。
0211nobodyさん2012/01/29(日) 13:23:48.44ID:???
file_get_contents()使えよ捗るぞ
0212nobodyさん2012/01/29(日) 13:52:54.80ID:???
>>211
>>1
0213nobodyさん2012/01/29(日) 14:04:55.94ID:???
>>210
file_get_contents()使えよ捗るぞ
02142102012/01/29(日) 14:24:05.99ID:axP+ilea
>>213file_get_contentsってループでも使えたんですね
ありがとうございます。
0215nobodyさん2012/01/29(日) 14:51:42.25ID:???
ループで使えない関数とか謎
0216nobodyさん2012/01/29(日) 14:53:32.26ID:???
オープン/クローズが必要なの物をクローズせずにループで使って
痛い目にあったんじゃないかと想像w
0217nobodyさん2012/01/29(日) 14:58:48.98ID:???
fopenを1回だけ、fgetsをループの中でやろうとしたとかそんなんじゃない?
0218nobodyさん2012/01/29(日) 15:00:04.77ID:???
Accept-Encoding defaultにしとかないとバイナリが送られてくるからな最近は
gzip対応とか面倒だよな
0219nobodyさん2012/01/29(日) 15:54:40.03ID:eROgtd9q
分散トランザクション機能つきのアプリケーションサーバーには
どのようなものがありますか?
0220nobodyさん2012/01/29(日) 16:32:15.19ID:???
>>219
MySQL
0221nobodyさん2012/01/29(日) 17:56:53.21ID:eROgtd9q
>>220
アプリケーションサーバーです。
0222nobodyさん2012/01/29(日) 18:13:06.68ID:???
>>219
分散トランザクション機能を実装したプログラムを置いてやれば
どんなサーバOSでもいいじゃね
0223nobodyさん2012/01/29(日) 18:26:42.05ID:???
話がかみ合ってない、聞くとこ間違えてない?
0224nobodyさん2012/01/29(日) 20:27:41.75ID:eROgtd9q
>>222
phpの仮想マシーンレベルではサポートされていないのでしょうか?
0225nobodyさん2012/01/29(日) 21:19:04.95ID:???
トランザクションってなんですか?
0226nobodyさん2012/01/29(日) 21:28:23.43ID:???
虎のくしゃみです
0227nobodyさん2012/01/29(日) 21:30:31.10ID:???
たぶんガンダムに出てくるモビルスーツのことだ
0228nobodyさん2012/01/29(日) 21:31:33.98ID:???
マイケルジャクソンみたいなもんだ
0229nobodyさん2012/01/29(日) 21:36:45.42ID:???
俺は>>226を評価する
0230nobodyさん2012/01/29(日) 21:39:39.80ID:???
phpのバージョンアップってなんで頻繁なんですか?
0231nobodyさん2012/01/29(日) 21:47:48.84ID:???
>>230
おまえも早くバージョンアップしないと世の中についていけないぞ
0232nobodyさん2012/01/29(日) 22:10:16.37ID:???
>>231
バージョンアップすると劇的に変わるもんでしょうか?
0233nobodyさん2012/01/29(日) 22:21:56.26ID:???
生き残ることができるのは変化できる者だけらしいよ
完成は死を意味する
0234nobodyさん2012/01/29(日) 23:10:47.75ID:???
>>230
PHPのバージョンアップは単なるバグフィックスだよ。
0235nobodyさん2012/01/29(日) 23:14:26.75ID:???
人間は死んではじめて完成するんだね
0236nobodyさん2012/01/29(日) 23:21:07.44ID:???
>>235イキロ
0237nobodyさん2012/01/29(日) 23:45:27.73ID:???
また分散アプリケーションサーバ厨か
0238nobodyさん2012/01/30(月) 00:03:38.66ID:XqkYh1fq
>>237
phpでFacebookを作る方法を教えて下さい。
0239nobodyさん2012/01/30(月) 00:21:21.90ID:???
>>238
あいつら特許とったからパクらないほうがいいよ
0240nobodyさん2012/01/30(月) 01:33:55.01ID:???
>>239
facebookはphpで作られているのですか?
0241nobodyさん2012/01/30(月) 01:54:53.10ID:???
Facebookは欲望と創造性、人間の夢のようなモノで作られている

0242nobodyさん2012/01/30(月) 02:17:13.75ID:???
>>241
拡張子はphpですが、実際は別の言語で作られているのでしょうか?
0243nobodyさん2012/01/30(月) 02:22:27.40ID:???
>>242
hiphopで検索しろ
0244nobodyさん2012/01/30(月) 02:51:36.93ID:???
>>230
どこかだよ
おせーっつの
0245nobodyさん2012/01/30(月) 07:50:54.83ID:Tb4TsYt/
PHPでメール送信スクリプトを書いています。
ファイルを添付して送信したいのですが、既存ファイルを指定するのではなく、
動的に生成して添付したいのですが、メモリ上にファイル(に相当するもの?)を作成するには
どうすればいいんでしょうか。
一時ファイルを保存=>添付してメール送信=>ファイル削除、の流れも考えられますが
ディスクに保存しないやり方があれば知りたいです。
02462452012/01/30(月) 08:01:45.99ID:Tb4TsYt/
質問直後で申し訳ないです。今こちらに情報が見つかりました。
http://docs.php.net/manual/ja/wrappers.php.php
php://memoryを利用することで通常のファイルと同様に扱えるようです。
失礼しました。
0247nobodyさん2012/01/30(月) 08:35:17.19ID:S8XrH54p
PHP(linux+apache上)でチャットを作ろうと思うのですが、
ブラウザに数秒毎にリフレッシュさせるか、Comet方式で作るか迷っています。
cometは同時接続数が多くなってサーバに繋がらない状況になったりしないか心配してるのですが
不特定多数がチャットを使用するとしか見積もれない場合は数秒毎リフレッシュのほうがいいのでしょうか?
0248nobodyさん2012/01/30(月) 09:01:56.34ID:???
客の要望と、機器スペックとかの話。
PHP関係ないので、自分で決めて。
0249nobodyさん2012/01/30(月) 09:29:40.18ID:???
失礼しました。
他のところで相談してきます。
0250nobodyさん2012/01/30(月) 23:01:20.09ID:???
>>247
まずHTML5のWebSocketsで作る。
PHPのチャットは遅すぎてありえない。
0251nobodyさん2012/01/30(月) 23:26:05.77ID:???
EventSourceでもいいと思うよ
0252nobodyさん2012/01/31(火) 00:16:37.72ID:???
http://kohada.2ch.net/test/read.cgi/php/1131016915/
0253nobodyさん2012/01/31(火) 08:06:53.36ID:dTfxPGSX
Cのstaticと同じように関数で2度目に呼ばれた時に値を保持できる方法ってありませんか?
グローバル以外で><
0254nobodyさん2012/01/31(火) 08:10:56.32ID:???
>>253
static
0255nobodyさん2012/01/31(火) 08:13:12.55ID:dTfxPGSX
>>254
http://php.net/manual/ja/language.oop5.static.php
0256nobodyさん2012/01/31(火) 08:18:06.09ID:???
>>255
http://php.net/manual/ja/language.variables.scope.php
0257nobodyさん2012/01/31(火) 08:26:37.17ID:dTfxPGSX
>>254>>256
失礼しましたm(__)m
0258nobodyさん2012/01/31(火) 13:02:51.47ID:6KRZikfh
ttp://www.vector.co.jp/soft/unix/net/se334908.html
ごちゃまぜRSSリーダーforPHP -ver1.3
を、さくらのレンタルサーバーで動かしています。
このごちゃまぜリーダーでは件数指定と日付表示が無かったので
★〜★の欄を追加して日付表示と件数指定をしています

<?php
require_once 'phplib/main.inc';
$rss = sox_fetch_rss();
while ( ★$i <=19 and ★ list($k,$v) = each($rss)) {
$p_title = $v->getMainTitle();
$url = $v->getURL();
$title = $v->getTitle();
★$item = $v->getDate();;
$item = strtotime($item);
$itemday = date('Y-m-d H:i:s',$item); //2009-04-24 22:25:34★
echo "<li><a href=\"$url\"><h1>$title</h1><p>$p_title</p><p>★$itemday★</p></a></li>\n";
★$i++;★
}
?>

この場合、件数指定表示もうまくいき RSSの日付表示も行われるのですが
日付はRSS1.0のものしか表示されず RSS2.0(主にアメブロ)のものは 1970-01-01 等を統一表示されてしまいます。

getDate()が関連してると思い、main.inc内を見てみたところ

  function getDate(){
  return $this->item['dc']['date'];
  }

の部分が関連してるのがわかりました。 dc dateはRSS1.0の場合でRSS2.0はpubdateでないといけないようです。
この場合、RSSの種類によって適切に日付情報をgetするにはどうしたらよいでしょうか?
0259nobodyさん2012/01/31(火) 15:12:12.35ID:???
>pubdateでないといけない
PHPと関係ないけどそんなこたぁない
pubDateでもいいがdc:dateでもいい

$this->item['dc']['date'];が1970-01-01のものに対しては
pubdateを取得できるか調べてあれば取得なければ1970-01-01を返す
という処理を書けばいいんじゃねえの
0260nobodyさん2012/01/31(火) 15:54:23.45ID:6KRZikfh
>>239
そのif文の構築方法がわからないんです。
main.incの
  function getDate(){
  return $this->item['dc']['date'];
  }

おそらくここで if 条件文を入れると思うのですが
何を基準に pubdateがあるか・無いかの入れ子を入れるのかがサッパリで

dcdate pubdate 日付 等の単語を入れて構文を一通り見たのですが
ごちゃまぜRSSリーダーに添ったのがなかったのでこちらへ質問投下しました。






一応別の解決策としてRSS2.0のものはRSS1.0で読み込むようにする という手法をとって
2.0を全部排除する事で日付の不正表示は解決しています。
0261nobodyさん2012/01/31(火) 16:07:29.23ID:???
おまえなそれ丸投げじゃないか
改造スレはスレチ
0262nobodyさん2012/01/31(火) 16:39:35.77ID:???
>>258スレ移動しました
0263nobodyさん2012/01/31(火) 17:08:59.31ID:jn5j2DcL
JAVAアプレットのようにWEB上で自分のウィンドウを持って、
プログラムを起動して、その中でリアルタイムに他のユーザーやサーバーと
メッセージのやりとりや対戦をしたいのですが、どのような言語や仕組みが
最適でしょうか?
一部にFLASHを使うのはありですが、なるべくJAVA系を使う方向が助かります
ただし、今回はJAVAアプレットはいまいち古いという理由で使えないです
0264nobodyさん2012/01/31(火) 18:11:35.07ID:???
スレタイ
0265nobodyさん2012/01/31(火) 18:23:22.58ID:???
【】の中は副題みたいで見落としちゃう事はよくある
0266nobodyさん2012/01/31(火) 19:40:56.46ID:???
副題もちゃんと読めよ
0267nobodyさん2012/01/31(火) 19:47:27.41ID:???
>>263
Flashをviewにして内部はJavaでよいのでは?
BlazeDSでFlexとJavaで連携させたら簡単だよ。
0268nobodyさん2012/01/31(火) 19:54:53.86ID:???
てすと
0269nobodyさん2012/01/31(火) 19:55:15.20ID:???
ごめんまちがえたm(_ _)m
0270nobodyさん2012/01/31(火) 20:29:05.34ID:???
>>264-266
すみません、PHPの部分に気づいていませんでした
該当スレのほうに移動します

>>267
ありがとうございます
少し調べてみると、かなりいい感じだったのでよく調べて検討してみようと思います
0271nobodyさん2012/02/01(水) 00:34:48.86ID:???
ひさしぶりのリハビリ課題として、
ちょっとこれ↓を作ってみようと思うんだけど、

http://www.pixiv.net/member_illust.php?mode=medium&illust_id=24745244

どういう構造にしようかな。

ローカルタイムを取得して、
上と下に2行に分けて表示するだけでいいかな。
0272nobodyさん2012/02/01(水) 00:59:21.63ID:???
>>1
0273nobodyさん2012/02/01(水) 04:18:59.21ID:???
誰かOSQA使ってまとめサイト作ってくれませんか?
質問も回答もOpenIDで編集できるんで適してると思うんですが
0274nobodyさん2012/02/01(水) 05:36:22.73ID:???
>>273
誰か、じゃなくてお前が作れ。
言い訳はいいから、早く作れ。
0275nobodyさん2012/02/01(水) 06:41:01.44ID:???
作る直前まで言ったんだけどpythonは無理でした
0276nobodyさん2012/02/01(水) 07:18:31.31ID:???
>>275
言い訳はいいから、早く作れ。
0277nobodyさん2012/02/01(水) 07:26:17.86ID:???
誰か作って
0278nobodyさん2012/02/01(水) 07:32:28.84ID:???
osqaって何?
0279nobodyさん2012/02/01(水) 07:43:18.42ID:???
http://osqa.net/
完成すると http://qa.lifesciencedb.jp/
0280nobodyさん2012/02/01(水) 11:16:30.88ID:IMdwWgiD
相談させてください

$person= array("のび太","ジャイアン","スネ夫");
$music = array("ハーモニカ","太鼓","バイオリン");
$fruits = ("みかん","りんご","メロン");

こういう配列に、「のび太、、バナナ(変更)」とか「しずか、ピアノ、いちご(追加)」
「スネ夫、引越(削除)」というデータを受け取って更新しようと思います。
それで自分の考えた処理の流れは間違っている感じがするのですが、
どうしたらいいのでしょうか。

つづく
0281nobodyさん2012/02/01(水) 11:17:38.56ID:IMdwWgiD
$shori = ""; $person2 = array(); $music2 = array(); $fruits2 = array(); //初期化

for ( $i = 0; $i < count($person); $i++ ){

  if ( $person[$i] === $_POST["person"] ){    // すでに登録があるとき

    if ( $_POST["hikkoshi"] == 1 ){        // 削除 (配列に入れない)
      $shori = $person[$i] . "を削除しました";
  } else {                     // 変更
      array_push($person2, $person[$i]);
      array_push($music2, $_POST["music"]);
      array_push($fruits2, $_POST["fruits"]);
      $shori = $person[$i] . "を変更しました";
  }

} else {                      // 新規
      array_push($person2, $_POST["person"]);
      array_push($music2, $_POST["music"]);
      array_push($fruits2, $_POST["fruits"]);
      $shori = $person[$i] . "を追加しました";
}

}
$person = $person2; $music = $music2; $fruits = $fruits2;
echo $shori;

つづく
0282nobodyさん2012/02/01(水) 11:19:36.40ID:IMdwWgiD
※ これだと、「ジャイ子、引越し」が来たとき(配列にない人物登場)
エラーをだせない。
※ そもそもforループを、配列の人数の数で回したら、新規の人(現在の
人数プラス1)のときに、ループを脱出してしまう?

考えているうちにどんどんわからなくなってしまって・・・。よろしくお願いします。
0283nobodyさん2012/02/01(水) 11:32:29.85ID:???
if ( isset( $person[ $_POST["person"] ] ) {
//あるとき
} else {
//ないとき
}
0284nobodyさん2012/02/01(水) 11:38:34.36ID:IMdwWgiD
>>283
ありがとうございます。
でも、if ( isset( $person[ $_POST["person"] ] ) で調べたら、全部
あるとき になりそう。
0285nobodyさん2012/02/01(水) 11:40:42.09ID:IMdwWgiD
あっ、間違えました。
配列 person の中に、$_POST["person"] があるかどうかを
調べてるんですね。
0286nobodyさん2012/02/01(水) 11:49:25.84ID:IMdwWgiD
if ( isset( $person[ $_POST["person"] ] ) {
if( 引越し ){
    配列に入れない
} else {
    配列にいれる
}
} else {
  if( 引越し ){
    エラー
  } else {
    追加
  }
}

こんな感じでいいんでしょうか。
0287nobodyさん2012/02/01(水) 11:56:49.09ID:???
何をしたいのかが正確にはこちらには分からないので
まずやってみればいいんじゃないでしょうか。
0288nobodyさん2012/02/01(水) 12:07:53.27ID:IMdwWgiD
>>287
そうですね。似た処理を繰り返してしまうようですが、やってみます。
ありがとうございました。
0289nobodyさん2012/02/01(水) 13:36:51.57ID:???
こっちをつかう。
http://manual.xwd.jp/function.array-search.html

>>283
$personのキーはインデックスしかないようだよ
0290nobodyさん2012/02/01(水) 14:22:33.02ID:0PT+5Q34
クラスの書き方について質問です
以下のtest1のようなクラスの書き方を今までしてきたのですが、
偉い人の書いたクラスやここ最近のフレームワークなんかのクラスを
眺めているとtest2のような書き方をよく目にするんですがどう言った
ご利益があるんでしょうか?

class test1{
function __construct($str="") {
self::test1($str);
}
function test1($str){
echo $str."\n";
}
}
new test1("hoge");

class test2{
function __construct($str="") {
echo $str."\n";
}
function gc($str){
return new test2($str);
}
}
test2::gc("hage");
0291nobodyさん2012/02/01(水) 14:46:30.12ID:???
例がおかしいが雰囲気から察するにたぶんシングルトンだろ
デザインパターン入門本でもあさるといい
02922802012/02/01(水) 15:27:21.00ID:IMdwWgiD
>>289
array_searchという関数もあるんですね。

もしこれを使うとしたら、こんな感じになるのでしょうか。すごくすっきり!
ありがとうございます。(動くかどうか、これからやってみます。)
02932802012/02/01(水) 15:29:02.25ID:IMdwWgiD

if( 引越し ){
  $key = array_search( $_POST["person"] , $person );
  if( $key ){
    unset ( person[$key] );
    unset ( music[$key] );
    unset ( fruits[$key] );
    $shori = $_POST["person"] . "は、引越ししました";
  } else {
    die( "そんな人はいません" );
  }
}
if ( isset( $person[ $_POST["person"] ] ) {
//あるとき
  $key = array_search( $_POST["person"] , $person );
  $music[$key] = $_POST["music"];
  $fruits[$key] = $_POST["fruits"];
  $shori = $_POST["person"] . "を変更しました";

} else {
//ないとき
  array_push( $person, $_POST["person"] );
  array_push( $music, $_POST["music"] );
  array_push( $fruits, $_POST["fruits"] );
  $shori = $_POST["person"] . "を追加しました";
}

echo $shori;
0294nobodyさん2012/02/01(水) 15:31:55.30ID:???
どうせ遅かれ早かれDB使うことになるんだろうし、そっち覚えたほうが早そうだな
0295nobodyさん2012/02/01(水) 15:52:50.73ID:0PT+5Q34
>291
デザインパターンのシングルトンって言うんですね
調べてみます。ありがとうございました。
0296動きました!2012/02/01(水) 16:08:24.79ID:IMdwWgiD
if($_POST["hikkoshi"] == 1 ){
$key = array_search( $_POST["person"] , $person );
if( $key ){
unset ( $person[$key] );
unset ( $music[$key] );
unset ( $fruits[$key] );
$shori = $_POST["person"] . "は、引越ししました";
} else {
die( "そんな人はいません" );
}
} else {
if (array_search( $_POST["person"] , $person)) {
//あるとき
$key = array_search( $_POST["person"] , $person );
if($_POST["music"]) { $music[$key] = $_POST["music"];}
if($_POST["fruits"]) { $fruits[$key] = $_POST["fruits"];}
$shori = $_POST["person"] . "を変更しました";

} else {
//ないとき
array_push( $person, $_POST["person"] );
array_push( $music, $_POST["music"] );
array_push( $fruits, $_POST["fruits"] );
$shori = $_POST["person"] . "を追加しました";
}
}
echo $shori."<hr>";
for ($i=0; $i<count($person);$i++){
echo $person[$i]." は ".$music[$i]." を嗜み ".$fruits[$i]." がスキです<br>";
}
02972802012/02/01(水) 16:09:34.76ID:IMdwWgiD
無事希望通りに動くようになりました。
>>293ではポロポロミスがあったので、動いたものを貼っておきます。
ありがとうございました。
0298ああ、タブが orz 書き直しました2012/02/01(水) 16:12:44.52ID:IMdwWgiD
if($_POST["hikkoshi"] == 1 ){
  $key = array_search( $_POST["person"] , $person );
  if( $key ){
    unset ( $person[$key] );
    unset ( $music[$key] );
    unset ( $fruits[$key] );
    $shori = $_POST["person"] . "は、引越ししました";
  } else {
    die( "そんな人はいません" );
  }
} else {
  if (array_search( $_POST["person"] , $person)) {
    //あるとき
    $key = array_search( $_POST["person"] , $person );
    if($_POST["music"]) { $music[$key] = $_POST["music"];}
    if($_POST["fruits"]) { $fruits[$key] = $_POST["fruits"];}
    $shori = $_POST["person"] . "を変更しました";

  } else {
    //ないとき
    array_push( $person, $_POST["person"] );
    array_push( $music, $_POST["music"] );
    array_push( $fruits, $_POST["fruits"] );
    $shori = $_POST["person"] . "を追加しました";
  }
}
echo $shori."<hr>";
for ($i=0; $i<count($person);$i++){
  echo $person[$i]." は ".$music[$i]." を嗜み ".$fruits[$i]." がスキです<br>";
}
0299nobodyさん2012/02/01(水) 16:22:03.39ID:???
$name=array("music","fruits","shori");
$key = array_search( $_POST["person"] , $person );
if(引越し){
    if($key)foreach($name as $val)unset($$name[$key])
    else die("そんな人はいません");
    $shori=$_POST["person"]."は、引っ越しました";
}
if($key)foreach($name as $val)$$val[$key]=$_POST[$val];
else foreach($name as $val)$$val[]=$_POST[$val];
$shori=$_POST["person"]."を".($key)?"変更":"追加"."しました";

edho $shori;

俺が書くならこんな感じかな
特別に書いたわけじゃなくて普段からこんな感じで
0300nobodyさん2012/02/01(水) 16:28:54.51ID:???
上から4行目はunset($$name[$key])
じゃなくてunset($$val[$key])か
0301nobodyさん2012/02/01(水) 17:53:41.04ID:???
普段からキーを活用しないし、すぐエンバグするのか
0302nobodyさん2012/02/01(水) 19:30:07.31ID:???
>>299
書き方がきたねぇ
0303nobodyさん2012/02/01(水) 19:48:25.00ID:???
シングルトンはphpでは意義は少ないよ。公式サイトにも書いてるやん。今、php向けのデザインパターン本てあるのかな?
0304nobodyさん2012/02/01(水) 19:49:29.66ID:???
意義が少ないからとか多いからという理由でやるやらないを決めるの?
0305nobodyさん2012/02/01(水) 19:52:10.71ID:???
>>299だけど、じゃぁ誰か書いてみてくれよwwwww
0306nobodyさん2012/02/01(水) 19:59:04.52ID:???
デザインパターンはphpに限定して考えるべき。間違ってもネット上にあふれているJavaの情報に頼らないこと。
0307nobodyさん2012/02/01(水) 20:08:36.44ID:???
参考もだめかな?
理由を教えてくれると嬉しいです。
0308nobodyさん2012/02/01(水) 20:10:09.75ID:???
>>305
要件的に名前がユニークっぽいし、後続のコードもそれが前提みたいだから
$arr['のびた'] = array('music' => '鼻歌', 'fruits' => 'きんつば');
って入れといたほうが楽じゃね?ってことなんだけど。
0309nobodyさん2012/02/01(水) 20:22:44.52ID:???
>>305
ifの括弧省略するなってことなんだけど
スペースがなくて読みづらいところ大杉ってことなんだけど
日本語を変数名に使うなってことなんだけど
0310nobodyさん2012/02/01(水) 20:26:12.49ID:???
>>309
・どうでもいい
・どうでもいい
>>293のせい
0311nobodyさん2012/02/01(水) 20:34:47.13ID:???
コーディング規約も知らんレベルかw
0312nobodyさん2012/02/01(水) 20:39:55.52ID:???
このスレのコーディング規約ってあんの?
0313nobodyさん2012/02/01(水) 20:43:05.99ID:???
なんでもいいし初心者なんだし
0314nobodyさん2012/02/01(水) 20:46:32.31ID:???
初心者なら仕方がない
0315nobodyさん2012/02/01(水) 20:49:20.80ID:q9L1uqO/
localhost にて「Notice: Undefined index: submit in 〜」だらけで困っています
なんとか消えるようにしたいのですが、とりあえず一番最初の部分を挙げると

//
$csv_dir = './';
$csv_file_name = 'data.csv';
$disp_size = 100;
$item_index = 'ID,Name,URL,Data';

$csv_file_name = $csv_dir. $csv_file_name;

if ($_REQUEST['submit'] == "add_exec") {$msg = AddNewData($csv_file_name);}
elseif ($_REQUEST['submit'] == "edit_exec") {$msg = Editdata($csv_file_name, $item_index);}
elseif ($_REQUEST['submit'] == "delete") {$msg = DeleteData($csv_file_name, $item_index);}
elseif ($_REQUEST['submit'] == "direct_edit_exec") {$msg = DirectEditdata($csv_file_name);}
elseif ($_REQUEST['submit'] == "backup") {$msg = BackupData($csv_file_name, $csv_dir);}

$data = file($csv_file_name);
$index = 0;
$all_size = sizeof($data);
if (sizeof($data) > $disp_size) {
$index = floor(sizeof($data) / $disp_size);
}

if ($item_index) {
$data = array_reverse($data);
array_push($data, $item_index . "\n");
$data = array_reverse($data);
}

らへんがダメっていってるみたいです
よろしくお願いします
0316nobodyさん2012/02/01(水) 20:50:17.41ID:???
>>314
コードが汚い読めないって言うのも初心者だよな
0317nobodyさん2012/02/01(水) 20:51:08.61ID:???
>>315
リクエストパラメータにsubmitってキーがあるかどうか調べてから処理をするようにする。
0318nobodyさん2012/02/01(水) 21:06:06.74ID:???
PHP本体の組み込み関数ですらコーディング規約が守られてないのにw
0319nobodyさん2012/02/01(水) 21:07:02.18ID:???
>>315
error_reporting(0);
を最初につける
03203152012/02/01(水) 21:13:18.96ID:q9L1uqO/
>>317
ありがとうございます
>>319
ありがとうございます
今はこれで十分です

ありがとうございました
0321nobodyさん2012/02/01(水) 21:21:27.32ID:???
今度はエラーも出ずに処理がとまるんです、と嘆くんだな
0322nobodyさん2012/02/01(水) 21:28:55.03ID:???
phpのコードは汚い
0323nobodyさん2012/02/02(木) 00:41:57.24ID:???
>>316
読めないなんて言ってないじゃんw
>>315のコードのほうがよっぽど読みやすいよw
0324nobodyさん2012/02/02(木) 04:09:39.15ID:???
>>323 = >>319
0325nobodyさん2012/02/02(木) 04:31:23.55ID:???
俺の気に入らないレスは全部同一人物()
0326nobodyさん2012/02/02(木) 06:11:51.40ID:???
読みやすい読みにくいしか言わずに、質問に回答すらしない態度を非難した。
0327nobodyさん2012/02/02(木) 06:12:47.32ID:???
と思ったけど、回答待ちの質問者かもしれないか
0328nobodyさん2012/02/02(木) 09:49:16.50ID:???
>>308
配列の要素の中にも配列をいれられるの?知らなかったー。
>>308のきんつばをとりだすときにはどうするの?
0329nobodyさん2012/02/02(木) 10:11:46.89ID:???
$arr['のびた']['fruits']
0330nobodyさん2012/02/02(木) 10:19:22.97ID:???
>>329
もしかして、これが二次元配列?っていうやつ?ちょっとぐぐってくるー。
0331nobodyさん2012/02/02(木) 10:30:05.55ID:???
またドラエもんかよ
ったく
0332nobodyさん2012/02/02(木) 12:57:50.80ID:???
きんつばってフルーツなの?和菓子じゃないの?
0333nobodyさん2012/02/02(木) 13:03:12.77ID:???
ついにそのツッコミが
0334nobodyさん2012/02/02(木) 14:04:18.61ID:???
PHPバージョン5.2.17、EasyBotterを使ってbot作成中です
一通りの基礎はできたので時間分けをしようとしたところでハマりました

//基本のポスト構造
if(date("i") <= 3){
$response = $eb->postRandom("data.php");
}
$response = $eb->reply(8,"reply.php","reply_pattern.php");
の上に、

//昼用ポスト構造
if(date("G") == 12) || (date("G") == 13) || (date("G") == 14)
else if(date("i") <= 3){
$response = $eb->postRandom("hiru_data.php");
}
$response = $eb->reply(8,"hiru_reply.php","hiru_reply_pattern.php");

を置いてみたんだが、手動で実行すると500エラーが出ます
昼用ポスト構造を削除して、基本ポスト構造のみにすると、手動でもCronからでも動くのですが
他のif構造を作って置いても、やはり置いた時点で駄目
そろそろ心が折れそうですorz 誰か助けて…
0335nobodyさん2012/02/02(木) 14:05:09.37ID:F8NQ2fKh
失礼、sageにチェックが入ってた
0336nobodyさん2012/02/02(木) 14:14:59.05ID:???
・一通り基礎ができていない
・サポセンじゃないのよ非標準ライブラリは作者にお聞き
0337nobodyさん2012/02/02(木) 14:24:13.17ID:???
if (date("G") == 12 || date("G") == 13 || date("G") == 14) 
0338nobodyさん2012/02/02(木) 14:35:54.74ID:F8NQ2fKh
>>336
すまん、マジモンの初心者なんだ
もう少しここで勉強させて

>>337
コピペで修正してみましたが同じ結果でした
何が原因なんだろう…
0339nobodyさん2012/02/02(木) 14:57:00.77ID:???
>>338
何はともあれエラーが見られるようになってなきゃ話にならん
レンタルサーバーでやってるならエラーログについて問い合わせる
0340nobodyさん2012/02/02(木) 15:12:43.50ID:???
>>339
わかった、ありがとう
サーバーに問い合わせて、もう少しがんばってみるよ
またお世話になるかもしれないので、そのときはよろしくお願いします
0341nobodyさん2012/02/02(木) 15:13:11.77ID:F8NQ2fKh
だからsageチェックは外せとあれほど… すまんかった
0342nobodyさん2012/02/02(木) 15:15:50.78ID:???
サーバに問い合わせるとか以前に
レンサバで開発するなドアホウ
0343nobodyさん2012/02/02(木) 19:25:40.59ID:ZbQr3Kg2
http://www.ustream.tv/channel/livech2013
このお姉さんかわいい。
ひげのおっさんがphpをdisっている。
でも意味が分からない。
phpのバージョンでエラーがでるなら直せばいいし、
フレームワークも自社で決めればいいのに。
phpはごちゃごちゃしてわからないからrubyでというのはおかしくない?
もっといえばjavaでいいじゃん。と思ってしまうのだが、
たまたまこの人がrubyが好きだからじゃね。と思ってしまうのだが
0344nobodyさん2012/02/02(木) 19:27:17.90ID:ZbQr3Kg2
偉い人教えて。
僕の考え間違っている?
0345nobodyさん2012/02/02(木) 21:28:02.82ID:???
つうか実況スレじゃないしタイムリーなこと書いてもレスのしようがないわけだが
ruby ヒゲ PHPでぃすってる
といえばruby開発者の松本か?
あいつはスルーしていい
0346nobodyさん2012/02/02(木) 22:12:30.69ID:???
名前空間って利用されてますか?
あまり見かけませんが
0347nobodyさん2012/02/02(木) 22:14:46.18ID:???
>>1
0348nobodyさん2012/02/02(木) 22:17:25.59ID:???
IDだせって?
いやだよ〜〜〜んm9(^Д^)
0349nobodyさん2012/02/03(金) 00:06:20.70ID:???
OSQAのまとめマダー?
0350nobodyさん2012/02/03(金) 00:17:17.09ID:???
時間の無駄
金の無駄
0351nobodyさん2012/02/03(金) 02:36:27.90ID:???
>>343
英語はわかりやすいです
スペイン語はわかりにくいのでダメな言語です
0352nobodyさん2012/02/03(金) 03:55:18.51ID:JJuGjQNC
児童ポルノ画像集めるためにphpで掲示板作ってた友人が、
受験勉強に集中するって言って掲示板を閉鎖しました。
0353nobodyさん2012/02/03(金) 05:13:17.43ID:q+s48ZyT
コードの後ろで宣言した変数をコードの前で使うことは可能ですか?
0354nobodyさん2012/02/03(金) 05:54:27.38ID:???
無理
03553302012/02/03(金) 11:44:01.78ID:QL2/ase/
昨日さんざん二次元配列いじってみたよ。便利ですね〜これ。

ついでに報告しますと、>>298 で、

$key = array_search( $_POST["person"] , $person );

のところ、配列の0番目がPOSTされると、$keyが 0 になって、その次の
if文のelseの方にいっちゃいました (´・ω・`) で if( $key===FALSE ) みたいな
判定をすることにして、無事うまくうごきました。

みなさん、どうもありがとうございました!
0356nobodyさん2012/02/03(金) 18:22:41.42ID:yTXNQKBG
Macのutf-8って濁音と半濁音の扱いが違いますよね?
ディレクトリに存在するファイルを検索している時に、濁音のファイルを探していると一致しません。
これを変換する関数ってありますか?
(sjis-winのutf-8-macみたいな)

<?php

//UTF-8のスクリプト

$file_name = ファイル名を取り出す関数();
if( $file_name == 'ダウンロード' ){
// OK
}else{
// NG
}
0357nobodyさん2012/02/03(金) 18:32:02.29ID:???
http://pear.php.net/package/I18N_UnicodeNormalizer
0358 忍法帖【Lv=7,xxxP】 2012/02/03(金) 19:20:54.54ID:???
phpファイルをHTML文書にincludeするとき頭に変なゴミが付くの何なんだ?
0359nobodyさん2012/02/03(金) 19:24:53.46ID:???
>>358
BOM?
0360nobodyさん2012/02/03(金) 19:31:47.22ID:???
>>356
http://php.net/manual/ja/class.normalizer.php
0361nobodyさん2012/02/03(金) 19:45:36.52ID:???
>>358
>>1
0362nobodyさん2012/02/03(金) 19:59:09.41ID:yTXNQKBG
>>357
ありがとうございます。pearですか。
自分しか使わない場合はこれでいいんですが、配布のことを考えると微妙ですね。

>>360
ありがとうございます。しかし5.3以上なんですね。

pearでどうやってるか調べてみます。
無理そうなら5.3以上は正しく動作するという方向にします。
0363nobodyさん2012/02/03(金) 20:08:49.47ID:???
macクソだな
0364nobodyさん2012/02/03(金) 20:09:29.69ID:???
あ、ちなみにpeclなら5.2.0から使えるみたいよ
0365nobodyさん2012/02/03(金) 20:19:07.72ID:???
5.3でもデフォルトでオンじゃないし、PEARのファイル同梱しとけば
0366nobodyさん2012/02/03(金) 20:26:52.05ID:???
>>362
根本の対策じゃなくて、macのファイルの濁音の問題だけでいいなら
http://labs.unoh.net/2007/09/unicode-on-mac.html
みたいにやればいいわけで
0367 忍法帖【Lv=7,xxxP】 2012/02/03(金) 20:59:15.93ID:???
>>359
それだ
ありがとう
0368nobodyさん2012/02/03(金) 22:13:55.66ID:wKNTeG6h
はじめましてphp初心者です。
質問なのですがpostまたはgetでデータを送るときに、
データを送るファイルとデータを処理するファイルを別にすべきか否か悩んでいます。

つまり、 データ送る.html(php) と データ処理する.php か、
データ送る_処理する.php のどちらにすべきか(どちらが普通か)ということです。

宜しくお願いします。
0369nobodyさん2012/02/03(金) 22:19:11.03ID:???
>>368
どちらでも。開発しやすい方やメンテしやすい方を選びなされ。
0370nobodyさん2012/02/03(金) 22:27:40.68ID:???
>>369
やはりそこは好みの問題なんですかね。
私はファイル数が多いと嫌なので1ファイルで処理しようと思います。
ありがとうございます。
0371nobodyさん2012/02/03(金) 22:32:47.68ID:???
好みの問題じゃなくてメリット・デメリットの問題
0372nobodyさん2012/02/03(金) 22:41:19.74ID:???
初心者なんだからなんでもいいだろ
はい次
0373nobodyさん2012/02/03(金) 22:54:14.82ID:???
なんでもよくないよ
0374nobodyさん2012/02/04(土) 00:46:21.55ID:1holxMJc
【OS名】CentOS(ロリポのやつ)
【PHPのバージョン】5.2
【連携ソフトウェア】なし

phpで簡単にpost通信がしたくてphp post通信でググって出てきたのの1ページ目のはやったんですがデータが送られませんでした

以前ロリポで出来たので無理ではないと思いますがやり方をわすれてしまいました(たしかfile_get_contentsのだったはず)
0375nobodyさん2012/02/04(土) 00:48:38.20ID:1holxMJc
>>374
追記

19を見てから投稿しました
0376nobodyさん2012/02/04(土) 00:49:56.36ID:???
>>374
何を聞きたいのか分かりません
あと>>19がどう関係してるのか分かりません
0377nobodyさん2012/02/04(土) 00:52:05.19ID:???
PHPって
0378nobodyさん2012/02/04(土) 01:00:29.61ID:1holxMJc
>>376
>>5の19です
0379nobodyさん2012/02/04(土) 01:08:53.63ID:???
>>378
で?
0380nobodyさん2012/02/04(土) 01:29:15.13ID:???
アスペだなこれは
0381nobodyさん2012/02/04(土) 01:34:37.38ID:???
自分の思考領域と他人の思考領域の区別が付かないんだろうな
0382nobodyさん2012/02/04(土) 01:34:42.95ID:???
くそわろた
0383nobodyさん2012/02/04(土) 02:00:51.15ID:U1eS11UE
>>363
Mac糞ですよ。

>>364-365
デフォルトONじゃないんならあんまり意味がないですね・・・
やっぱりpearがいいかもしれませんね・・・

>>366
あ、なるほど。確かにそれでもよさそうです。
ありがとうございます。
0384nobodyさん2012/02/04(土) 08:22:34.57ID:???
>>383
デフォルトONじゃないんならあんまり意味がないってなんで?
0385nobodyさん2012/02/04(土) 10:37:06.19ID:???
ruby使いはmac多いよね
0386nobodyさん2012/02/04(土) 13:20:31.56ID:???
>>379-382
自演
0387nobodyさん2012/02/04(土) 13:57:05.22ID:???
>>386
で?
0388nobodyさん2012/02/04(土) 14:32:14.11ID:???
アスペだなこれは
0389nobodyさん2012/02/04(土) 15:00:53.01ID:???
>>387-388
自演
0390nobodyさん2012/02/04(土) 15:10:31.66ID:???
質問にならない質問されても答え用がない

いくら煽っても答えは返って来ませんよ
0391nobodyさん2012/02/04(土) 16:37:51.29ID:???
>>390
自演
0392nobodyさん2012/02/04(土) 17:58:53.68ID:???
PHP
時代遅れの言語
0393nobodyさん2012/02/04(土) 20:46:14.96ID:???
Even obsolete Japanese. so u japanes ban.
0394nobodyさん2012/02/04(土) 21:54:40.60ID:yD/6arhr
PHPとMySQLで掲示板を作ったのですが、セキュリティ対策で気を付ける事ってありますか?
XSSとSQLインジェクションは対策済みです
興味本位でHPを作ってみたものの、ハッキングが怖いです
0395nobodyさん2012/02/04(土) 22:22:41.42ID:???
XSSとインジェクションがどういうものなのか説明してください
0396nobodyさん2012/02/04(土) 22:24:37.63ID:???
>>395
>>1
0397nobodyさん2012/02/04(土) 22:28:59.97ID:???
いや、>>394にいったのね
0398nobodyさん2012/02/04(土) 22:37:23.06ID:Eguip8rZ
クリップボードに出力させる方法ってあるのかな
0399nobodyさん2012/02/04(土) 22:48:09.66ID:???
>>394
url晒してください テストします
0400nobodyさん2012/02/04(土) 23:38:32.49ID:???
ふと思ったんだがクラックってIDとかパスワードとか盗まないかぎり刑事事件にはならないのかな?
0401nobodyさん2012/02/04(土) 23:43:07.68ID:K4OjxyJF
>>400
盗んでも内容変えなければ大丈夫じゃない?
0402nobodyさん2012/02/05(日) 01:01:57.08ID:???
某図書館のサイトで蔵書データ調べて逮捕されたヤツいたな
立件されなかったけど1ヶ月くらい拘束されてたと思う
0403nobodyさん2012/02/05(日) 01:02:54.82ID:???
全然かんけいねーw
0404nobodyさん2012/02/05(日) 01:21:03.96ID:???
最近法改正だかなんかされたじゃん
不正アクセス禁止法かなんかで
パスワードを入手しようと試みる行為を罰する規定を設けるって
もしかしたらまだ立案段階かもしれないけどそんな話があったとだけ
0405nobodyさん2012/02/05(日) 01:21:53.98ID:???
http://sankei.jp.msn.com/affairs/news/120124/crm12012410580002-n1.htm
これだ
0406nobodyさん2012/02/05(日) 01:55:21.54ID:???
IDパス盗まれるような奴らが国会で審議するのか
バカのためにバカがつくるバカ基準の法律
The government of the baka, by the baka, and for the baka
0407nobodyさん2012/02/05(日) 13:55:33.69ID:???
で、お前らプログラミング歴何年なの?
0408nobodyさん2012/02/05(日) 14:24:31.30ID:???
>>407
>>1
0409nobodyさん2012/02/05(日) 14:51:11.60ID:???
>>402
元ネタ知ってるけど、ここまで話が変異するんだなw
0410nobodyさん2012/02/05(日) 16:22:03.34ID:i7H07Acw
【OS名】Linux系
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL GD2
【質問内容】
PCとスマホ用のサイトを作りました。
ここまでは全てUTF-8で書いています。

今度はガラケー用のサイトを初めて作ることになって、
Shift JISで入出力するらしいのですが、どのように作ればいいでしょうか。
ぐぐったらsmartyというのでやるのが簡単と書いてあるのがありますが、
経験がありません。他に適当な方法がありますか?
基本的に、全キャリア共通サイトとして書くつもりです。
0411nobodyさん2012/02/05(日) 17:01:27.26ID:???
UTF-8でおk
0412nobodyさん2012/02/05(日) 17:25:00.23ID:???
>>410
mb_convert_encodingかければいいという話ではなく?
0413nobodyさん2012/02/05(日) 17:28:45.31ID:???
>>410
文字コードに自信がない人はUTF-8使って下さい
SJISは潜在的なセキュリティリスクを孕んでるのでよくわからない人が使うのは危険です
ガラケーも今時UTF-8で問題ありません
0414nobodyさん2012/02/05(日) 22:14:06.28ID:i7H07Acw
>>411-413
ありがとうございます。
ひとまずUTF-8で書いて確認してみることにします。

携帯サイトの開発者さんって3キャリア分の端末と契約持ってるんですか?
ウィルコムとEMnetはどうしたらいいでしょうか。
0415nobodyさん2012/02/05(日) 22:53:19.06ID:xvPPfzP0
>>414
3社のはエミュレータ使うといいよ
0416nobodyさん2012/02/06(月) 00:36:16.14ID:???
ちょっと古いauがなー
0417nobodyさん2012/02/06(月) 00:37:45.04ID:O5qz7xhM
>>416
どのくらい古いとアウトですか?
0418nobodyさん2012/02/06(月) 01:00:04.26ID:???
ちょっと古い
http://symple.jp/113.html
0419nobodyさん2012/02/06(月) 01:06:28.25ID:O5qz7xhM
>>418
ありがとうございます。
よくわかってないんですが、最初からwordpress使えば
スマホ、携帯サイトも簡単にできちゃうんですかねえ?
0420nobodyさん2012/02/06(月) 02:39:19.20ID:poXN+WMF
PHPを実行しているサーバーがMacか、環境変数などから自動的に判断するいい方法ってありますか?
Windowsは分かりやすいんですが、macとlinuxの切り分けが難しい。
0421nobodyさん2012/02/06(月) 02:41:27.00ID:???
>>420
http://php.net/manual/ja/function.php-uname.php
0422nobodyさん2012/02/06(月) 22:53:18.01ID:C3dZcj35
最近PHP始めたんですが、Smartyってフレームワークはマニアックなんでしょうか?
0423nobodyさん2012/02/06(月) 23:13:44.85ID:???
質問にならない質問はご遠慮下さい
0424nobodyさん2012/02/07(火) 01:32:37.59ID:???
>>422
まじめ話アブノーマルだと個人的には思う
デザイナーとの仕事が分担できてない環境下だと
結局プログラマがHTMLに仕込んだりしてただただしんどいだけ
0425nobodyさん2012/02/07(火) 03:38:23.51ID:???
フレームワークじゃないよって突っ込むところじゃないのか?
0426nobodyさん2012/02/07(火) 13:10:03.09ID:???
【OS名】CentOS
【PHPのバージョン】6.0
【連携ソフトウェア】MySQL
【質問内容】
PHPからselect * INTO OUTFILE を行うと文字化けしてしまいます。
DBもスクリプトもUTF8で統一しているのですが、どのあたりから調査すればいいのか検討がつきません。
文字化け解消についてアドバイスいただけないでしょうか。
0427nobodyさん2012/02/07(火) 21:05:42.57ID:???
>>426
>>1
0428nobodyさん2012/02/07(火) 23:02:38.45ID:???
>>426
コンソール立ち上げて直接入れろそれ位
0429nobodyさん2012/02/07(火) 23:53:37.99ID:+mH02aFr
>>424
デザイナーさんとの仕事分担ってどんな感じなんですか?
現状、デザイナーさんがデザインして、ファイルをもらい、
自分がそこにPHPのコードを埋め込んでいく感じですが、
普通の現場だとどうしてるんですかね。
0430nobodyさん2012/02/08(水) 01:08:26.67ID:???
ようするにテンプレートが何かという質問だろそれ
smartyスレにでもいけよ
0431nobodyさん2012/02/08(水) 02:44:51.80ID:???
スクリプト使えないデザイナーってなに?絵描きさんみたいなもんか
0432 忍法帖【Lv=9,xxxP】 2012/02/08(水) 03:13:14.01ID:???
readfile()でダウンロードさせたいんですが
うまくダウンロードするウィンドウがでるときと
readfile()で読み込んだファイルの内容が出力されるときがあります
どうしてこのようになるのかわかりません
説明不足だと思いますがエスパーの方いたらお願いします
0433nobodyさん2012/02/08(水) 03:58:08.72ID:???
gzipだから
0434nobodyさん2012/02/08(水) 03:59:26.28ID:???
>>432
header('Content-Type: application/octet-stream');
0435nobodyさん2012/02/08(水) 10:22:32.40ID:3EF2N74K
クッキーについてお尋ねします。

setcookie("TestCookie", "something", time()+3600);

で、クッキーをセットしているのですが、firefoxのアドオン View Cookies1.10.3 で見ると
Expires が Session になっています。ブラウザを閉じると全部消えます。
どんな間違いが考えられますか?
04364352012/02/08(水) 10:26:44.75ID:3EF2N74K
セッションスタートすると、そちらで上書きされてしまうってこともありますか?
04374352012/02/08(水) 10:30:54.77ID:3EF2N74K
すみません、解決しました。
ブラウザの設定の問題でした。
0438nobodyさん2012/02/08(水) 16:44:06.52ID:vfdEsjRW
Smartyスレが見当たらない(消えた?)のでこちらで・・・

Smartyで外部ファイルを読み込む場合、テンプレートとして読み込む(include等)と
変数割り当て等の解析が必要ない場合でもコンパイルされて、
外部ファイルが(別プログラムによって)変更された場合などには、再コンパイルするコードが必要になってしまいます。
Smarty内でこれを解決する(解析不要でただ読み込む)ことって可能でしょうか。

単純にPHPスクリプトで読み込んで変数に割り当てる方法でも対応できますが、
Smarty内からの関数呼び出しで他のテンプレートと同じように扱えればと思いまして・・
0439nobodyさん2012/02/08(水) 17:59:23.48ID:2t5iqwD7
マルチタスク(スレッド)の勉強をしているのですが、
curl系の関数を使う方法しかないんですかね?
curlだとURL指定で並列実行になりますが、
URLから実行せず、絶対パスで指定できたらと思っています。

curl以外の方法かライブラリがあれば教えてください。
04404392012/02/08(水) 18:24:02.84ID:2t5iqwD7
自己レスです。fsockopen使う方法で出来ました。
簡単なので、こちらの方法で行きます。
0441nobodyさん2012/02/08(水) 18:54:52.14ID:???
PHPでマルチスレッドの話になるとすぐcurlってなってるけど、
平行してWebリソースにアクセスすることとマルチスレッドが同義であるという理解が広まってんのかな
0442nobodyさん2012/02/08(水) 19:06:03.75ID:???
>>438
fetch
0443nobodyさん2012/02/08(水) 20:27:56.40ID:???
>>441
じゃ、どうするのが良いの?
0444nobodyさん2012/02/08(水) 20:54:21.52ID:???
>>443
何をするのに?
0445nobodyさん2012/02/08(水) 20:59:17.10ID:???
>>444
いや、マルチスレッドの話だろ?
0446nobodyさん2012/02/08(水) 21:04:25.70ID:???
アスペ注意
0447nobodyさん2012/02/08(水) 21:22:54.15ID:???
アスペの意味を分かってないかわいそうな奴
0448nobodyさん2012/02/08(水) 21:29:29.38ID:???
お前のことなんて分かりたくもないよw
0449nobodyさん2012/02/08(水) 21:33:05.09ID:???
>>448
アスペ乙w
0450nobodyさん2012/02/08(水) 22:12:19.41ID:skUmVjLK
>>444
こええ。わざとだよね?
0451nobodyさん2012/02/08(水) 22:48:45.68ID:???
前も誰かが言ってただろ

PHPはマルチスレッドに対応していない
curlで出来るのはマルチスレッドモドキだって
0452nobodyさん2012/02/08(水) 22:51:01.40ID:???
マルチスレッドキモイに見えた
0453nobodyさん2012/02/08(水) 23:44:16.03ID:???
マルチタスクとマルチスレッドを混同する人、多いね。
0454nobodyさん2012/02/09(木) 01:41:30.50ID:???
多い?
混同してるのは質問者だけじゃん
0455nobodyさん2012/02/09(木) 02:47:23.28ID:???
ググったら混同している人が多いから、=多いという解釈でも良いと思う
0456nobodyさん2012/02/09(木) 02:54:23.71ID:???
>>445,450
ん?並列処理を行うことが目的なの?
目的によって手段を変えるのは当たり前なんだから>>444は別におかしくないだろ
0457nobodyさん2012/02/09(木) 02:56:55.02ID:???
>>441が言っている
「並列処理=並列してWebリソースにアクセスすること」
って考えしかないからそうなるのかな。
それが目的ならcurlでいいんじゃね、とは思うけれど。
04584382012/02/09(木) 09:29:47.73ID:vkcl0tGl
>>442
ありがとうございます。万事うまくいきましたー
0459nobodyさん2012/02/09(木) 10:48:15.39ID:/qdirMi/
PHPerの常識

マルチタスク=マルチスレッド
0460nobodyさん2012/02/09(木) 11:01:18.23ID:mqFxDq28
【OS名】OS問わず?
【PHPのバージョン】PHP5以降
【質問内容】

変数の未定義を注意されるので、自作のスクリプトで使用している変数・配列を
$value = NULL; で全て初期化していますが、関数によっては初期化しても勝手に未定義に戻されてしまうようです。
例えば以下のようなparse_urlがそのひとつなのですが、皆さんはどのように処理してますか?関数から得た値は全部isset等でチェックしています?それともerror_reportingを変えて無視してますでしょうか?
正直なところ、スクリプト内で使用されている関数を通した変数全部チェックするのはとても大変なのでそこまですべきか悩み中です。
php -l phpスクリプト ではチェックしてくれないですよね?

parse_urlを使ったスクリプト例
<?php

error_reporting(E_ALL);

$a = NULL;
$a['host'] = NULL;

$a = parse_url("www.google.com");

if ($a === false) print "parse_url is false\n";

print $a['host']."\n";

?>

実行結果
Notice: Undefined index: host in /home/test/test.php on line 12
0461nobodyさん2012/02/09(木) 11:16:27.50ID:???
$a = NULL;
$a['host'] = NULL;
で、上の行は意味が無いし、
$a = parse_url("www.google.com");
で上の2行が意味なしになるのですが、分かります?
04624602012/02/09(木) 11:19:34.68ID:???
>>461
はい。値が上書きされてしまうので意味なしになるだろうとは思いました。
こういう場合、一般的にどう対応されているのかなー と思いまして。
0463nobodyさん2012/02/09(木) 11:26:51.20ID:???
isset( $a['host'] ) でチェックかな。

あと、そもそものNotice: が出るのは、 
parse_urlの仕様では、'host'が必ず含まれるわけではないからだね。
初期化の話じゃないのよ。

http://php.net/manual/ja/function.parse-url.php
でhostが出るような例をみるといーよ。
0464nobodyさん2012/02/09(木) 11:48:50.45ID:???
本当にくだらない質問なんだけど、皆は
<?php の次の行はインデントする派? しない派?
04654602012/02/09(木) 11:56:22.30ID:???
>>463
回答ありがとうございます。
やはり、怪しい関数は全て割り出してissetでチェックですかねー。

parse_urlでは'host'を使うなら'host'をissetでチェックして
セットされているか確認する必要がありそうですね。
上記の例では'path'にwww.google.comが入るみたいですね。
0466nobodyさん2012/02/09(木) 12:06:12.88ID:vkcl0tGl
>>462
頻繁にではないけど、もともとの$aを初期値としてセットしといて
関数の戻り値を$aにマージするようなコードを書くことはあるよ。
$a = array('host'=>null); // 初期値
if (($b = parse_url('...')) !== false) {
$a = $b + $a; // or $a = array_merge($a, $b);
}
04674602012/02/09(木) 12:52:42.76ID:???
>>466
なるほど。そういう方法もあるわけですね。
0468nobodyさん2012/02/09(木) 14:13:49.01ID:???
>>464
しない
0469nobodyさん2012/02/09(木) 15:55:27.21ID:???
>>464
したことないなぁ。
0470nobodyさん2012/02/09(木) 18:16:16.58ID:???
>>464
俺はしてる。
大した理由なんて無いよ、ただ何となく、見た目の問題。
0471nobodyさん2012/02/09(木) 19:45:03.31ID:???
netbeansをデフォルトの設定で使ってるけどしてないな。
0472nobodyさん2012/02/10(金) 00:34:21.63ID:???
>>464
してない
0473nobodyさん2012/02/10(金) 01:21:29.34ID:???
>>464
ないわー
0474nobodyさん2012/02/10(金) 01:24:38.27ID:???
やっぱしないほうが多数なのか。
俺もそうしよう。 回答有難う
0475nobodyさん2012/02/10(金) 01:31:09.96ID:???
>>461
そんなことするなら
if(empty($a) && isset($a['host'])){
echo $a['host']."\n";
}else{
echo "parse_url is false\n";
}

でいいんじゃ?
0476nobodyさん2012/02/10(金) 12:33:14.85ID:LrusZM1c
バグがでるのは仕方が無いことだと思うのですが、
バグを最小限に押さえるのに良い方法ってありますか。
0477nobodyさん2012/02/10(金) 13:33:19.68ID:???
>>476
書く前によく考える
0478nobodyさん2012/02/10(金) 14:16:48.87ID:LrusZM1c
>>477
考えて考えて、
とりあえず書いてみて 
でも、ゆわれるまで気づきません。

0479nobodyさん2012/02/10(金) 14:46:01.17ID:???
>>476 圧縮バッグ
0480nobodyさん2012/02/10(金) 15:08:52.50ID:???
超低レベルの質問で恐縮です。

配列の中身が
Array
という文字列で出力されてしまうのですが、これはどうしてでしょうか?
0481nobodyさん2012/02/10(金) 15:09:31.57ID:???
中身が配列じゃないの?
0482nobodyさん2012/02/10(金) 15:30:01.53ID:???
>>481
そのとおりでした。
ありがとうございます。
m(__)m
0483nobodyさん2012/02/10(金) 16:29:00.81ID:LrusZM1c
http://d.hatena.ne.jp/tt_clown/20111025/ng_programmer
当てはまりすぎるんですが、ヤバイですか?
0484nobodyさん2012/02/10(金) 17:21:29.90ID:???
いえ、キミはプログラマではないのでヤバくないです
0485nobodyさん2012/02/10(金) 18:45:58.39ID:e8YNZNTF
>>483
プログラマと呼べるレベルじゃないのにほとんど当てはまらなかった
0486nobodyさん2012/02/10(金) 19:26:49.48ID:???
>>483
これ面白いな。GJ
0487nobodyさん2012/02/10(金) 19:30:17.25ID:???
逆に、こういうのを経験してこなかったプログラマ使い物にならん気もするけどな。
0488nobodyさん2012/02/10(金) 19:42:29.54ID:???
>変数名が女の名前
これおまいらもやってるのか?www
0489nobodyさん2012/02/10(金) 21:44:07.87ID:2T73dJDE
関数がFALSEを返すのFALSEはfalseと定義されてるけど、
FALSEがfalseではなくなるかもしれないから
FALSEであることを期待してfalseと比較なんかしちゃってると
痛い目に遭いますよという事で良いですよね?
0490nobodyさん2012/02/10(金) 21:49:35.75ID:???
http://php.net/manual/ja/function.strpos.php

ぜんぜん違う。
0491nobodyさん2012/02/10(金) 21:49:43.60ID:???
>>489
falseと比較するときはFALSEを書くべきなんじゃまいか?
0492nobodyさん2012/02/10(金) 22:45:10.70ID:2T73dJDE
あーわかった。
zend_constants.c上ではTRUE, FALSE, NULLと全部大文字で
定数に登録しようとしてるけど、大文字小文字は無視してるから
小文字に変換されて登録されてて、zend_compile.cで使う時も
小文字に変換し直してハッシュから定数を引っ張り出すだけだったw
0493nobodyさん2012/02/10(金) 22:47:02.97ID:???
FALSEとfalseが違うものだと思ってたの?
0494nobodyさん2012/02/10(金) 23:47:10.19ID:???
ところでFALSE って、なんて読んでる?
フォールス?フォルス?フォールズ?

うちじゃ、ホルスw って読んでる人が一番多いようなw
0495nobodyさん2012/02/11(土) 00:28:43.74ID:???
フォルス一択
0496nobodyさん2012/02/11(土) 02:22:50.24ID:nzSgga7d
フォルス
0497nobodyさん2012/02/11(土) 13:25:30.90ID:dnJZM8FP
すみません、ここが適当でなければ誘導をお願いします。

Mac OS XのXAMPP環境にpeclでmemcacheをインストールしたのですが、有効になりません。
php.iniにはextension="memcache.so"が追加されています。(自動で追加されていた)

試しに、pecl install mongoしてみたら、こちらは問題なく有効になりました。(phpinfo()で確認)

何が原因か分かりますでしょうか?
0498nobodyさん2012/02/11(土) 13:46:54.27ID:???
>>497
初心者はXAMPP使うな
0499nobodyさん2012/02/11(土) 14:06:29.61ID:dnJZM8FP
すいません、初心者じゃないんで、XAMPP使います。
0500nobodyさん2012/02/11(土) 14:15:29.85ID:???
じゃ好きにしてくれ
0501nobodyさん2012/02/11(土) 14:49:26.56ID:???
>>497
vimwareでも買ってcentosでも入れて勉強した方が良いと思うな
0502nobodyさん2012/02/11(土) 15:08:08.04ID:???
逆ギレくっど
0503nobodyさん2012/02/11(土) 15:12:31.66ID:???
>>494
ファルセ
0504nobodyさん2012/02/11(土) 15:15:21.43ID:dnJZM8FP
>>501
vimwareって何ですか?
0505nobodyさん2012/02/11(土) 15:32:18.38ID:???
>>504
書き間違えって奴だ
0506nobodyさん2012/02/11(土) 15:55:57.42ID:dnJZM8FP
あー書き間違いですか。
じゃぁ、CentOSってくだりも書き間違いかな?
CentOSはpeclでインストールするよりyumの方がいいから。
0507nobodyさん2012/02/11(土) 17:30:38.33ID:???
有効になっていないことをどう確認したのかと、パスの通ったところにsoがあるのかを確認したらどうか。
0508nobodyさん2012/02/11(土) 18:05:45.75ID:???
超くだ質ですが、英語の変数名・関数名だと長くなる場合、どうしてますk?

「設立日」の値を保存する変数があったとして、
$establishment_day → 英語変換
$est_day → 短縮
$setsuritsu → ローマ字

などに出来ますが、長すぎると読みづらいし、
短縮文字だとわかりづらい場合があります。
(messageをmsgにするなど、一般的な短縮文字ならわかるのですが・・・

みなさんはどうしてますか?
05095082012/02/11(土) 18:06:06.37ID:bam167aq
sageてました・・・
0510nobodyさん2012/02/11(土) 18:11:09.41ID:dnJZM8FP
>>507
有意義なレスありがとうございます。
phpinfo();とclass_exists('Memcache');で確認しました。

XAMPP for Mac OS X のextensionは、以下のディレクトリに入ります。
/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/

上記に、pecl install memcache した memcache.so がインストールされています。
これが有効にならなくて悩んでいます。

試しに、pecl install mongo した mongo.so (phpinfo()で有効になっている)を
_mongo.so にリネームすると、無効になるので、このパスで合っているはず。

0511nobodyさん2012/02/11(土) 18:15:17.70ID:dnJZM8FP
>>508
あまり一般的な短縮名でなければ、長いままにしておきます。
一々仕様書やコメントを読まなければいけないのは、他人に不便だと思うので。

長い関数名や変数名はスペルミスや覚えられないという問題もあると思いますが、
入力補完してくれるエディターを使えばいいと思います。
0512nobodyさん2012/02/11(土) 18:35:54.65ID:dnJZM8FP
あ、わかったかも。
PHPのコンパイルオプションに、--enable-memcacheが付いてないからかな?
0513nobodyさん2012/02/11(土) 19:08:10.33ID:F655tJI8
>>508
俺なら$e_day
05145072012/02/11(土) 19:10:56.25ID:???
>>512
> Newer PHP versions don't have a --enable-memcache options; simply installing the PECL package will be enough... so to be absolutely clear, you WON'T have to recompile PHP to use memcache.
ってのを見たので、configureのオプションにあるならつけないとだめかも
0515nobodyさん2012/02/11(土) 19:20:50.28ID:???
>>513
俺もたぶんそうする。

ちなみに今使ってる変数名
$t_name
$t_t_name
$r_name

入力補完もあるし、他の人が読むことを考えると、
もっとわかりやすい方がいいんだろうけど。
0516nobodyさん2012/02/11(土) 20:08:28.77ID:???
コメントに変数の正式な意味を書いておけばよさそう
0517nobodyさん2012/02/11(土) 20:22:41.21ID:nzSgga7d
>>515
俺だけじゃなくてよかった
0518nobodyさん2012/02/11(土) 21:25:26.47ID:???
キャメルケースにしないの?
0519nobodyさん2012/02/11(土) 21:31:29.08ID:???
>>518
宗派の違いだな。
俺の宗教には位牌はない、みたいな。
05205082012/02/11(土) 22:01:37.87ID:bam167aq
$e_dayまで短縮するとは思いませんでした。
これだと自分の場合、「終了日」と誤解しそうで。

キャメルケースは関数名に使うことありますが、
変数名はないですね。

コメントとか仕様書に残せばある程度短縮文字でも良いんですかね。
さすがに$establishment_dayは長すぎてパッと見た瞬間分かりづらいし。
0521nobodyさん2012/02/11(土) 22:12:24.31ID:???
>>520
関数名には使うことはあるけど変数名に使わないのはなんで?
0522nobodyさん2012/02/11(土) 23:53:10.01ID:ec+1ByNd
xdebugを使ってデバックをしたいのですが、失敗続きです。

【サーバ環境】
CentOS6.2 + xdebug 2.1.3

php.iniの設定
[XDebug]
extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_port=9001 <- 9000ではNGという海外の書き込みを見て変更
xdebug.remote_handler=dbgp
xdebug.remote_host=192.168.0.100
xdebug.remote_mode=req

phpinfoでxdebugがenableになってるのを確認

【クライアント環境】
Windows 7 + Eclipse Indigo
ネットワーク設定->192.168.0.100/24 固定IP サーバからping確認
ファイアウォール設定->受信規則にポート9001を受け入れるように設定

下に続きます。
05235522012/02/11(土) 23:53:35.89ID:ec+1ByNd
【Eclipse Indigo設定】
[ウィンドウ]-[設定]-[PHP]-[DEBUG]
でXdebugを選択、ポートを9001に変更、serverもサーバのIPで設定、他はデフォルト
[デバッグの構成]
sever debugger->xdebug
phpserver -> 上で作成した設定を指定 File->デバックするファイルを指定、他はデフォルト

【症状】
デバックを実行すると、デバッグ用のパースペクティブになるのですが、
ブレークポイントで止まった感じも無く、実効結果がすぐに[内部webブラウザー]と[Debug Output]に表示されます。

どうしたら良いでしょうか・・。
0524nobodyさん2012/02/12(日) 17:42:49.77ID:T+9lcsG5
filesizeで取得したファイルのサイズを
KBに直すには、1024を掛けるのでよろしいでしょうか?
1000を掛けるのでしょうか?
$size=@filesize($upload_name)/1024;
0525nobodyさん2012/02/12(日) 18:03:48.04ID:???
>>524
KBにしたいなら1000を掛ける
KiBにしたいなら1024を掛ける
0526nobodyさん2012/02/12(日) 19:44:33.66ID:???
割ってますけど。
0527nobodyさん2012/02/12(日) 21:47:54.78ID:???
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;;  filesizeで取得したファイルのサイズを
  ヾ;;;ハ    ノ       .::!lリ;;r゙  KBに直すには、1024を掛ける・・・・
   `Z;i   〈.,_..,.      ノ;;;;;;;;>  そんなふうに考えていた時期が
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f     俺にもありました
   ~''戈ヽ   `二´    r'´:::. `!
0528nobodyさん2012/02/12(日) 22:22:13.85ID:E3xYO+Pk
二重投稿を防ぐスクリプトってcookieを使うって書いてるサイトが多々あるんですけど、
これってcookieを削除したら再投票可能ですか?
0529nobodyさん2012/02/12(日) 22:28:44.89ID:???
ヤフーがそう
私もそう思う 私は思わない ってやつ
0530nobodyさん2012/02/12(日) 22:37:51.52ID:???
>>528
オレならcookie無い場合スクリプト投稿と判断しカウントしない
てゆーか実験してみればいいじゃん
0531nobodyさん2012/02/12(日) 22:45:37.90ID:E3xYO+Pk
>>530
ありがとうございます!
わざわざ書いて試すのがめんどーだったから尋ねたのですが教えてくれそうにないので試します
0532nobodyさん2012/02/12(日) 22:51:23.49ID:???
>>529
cookie消せば数字増やせるけど、
IPも見てるみたいで一定以上は増えなかった記憶がある。
0533nobodyさん2012/02/12(日) 22:54:57.96ID:???
丸投げ失敗でござる
0534nobodyさん2012/02/12(日) 23:05:15.68ID:MdyL4A8R
WordPress、OpenPNE、
またsymfonyやCakePHPなどのフレームワークもみんな重いです。

これらの重さはPHPだから仕方がないの問題なのでしょうか?
0535nobodyさん2012/02/12(日) 23:10:11.35ID:???
そういえばWordPressつかいのオネーチャンがバカッターで泣き入れてた
php6.0とかになって一斉に動かなくなったらワロリンコ
0536nobodyさん2012/02/13(月) 02:47:58.30ID:???
>>534
基本的にフレームワークはソースを効率化する為に使う物で
その為に余計な処理も入るから重くなるんだよ。
重さを軽減させるために、キャッシュ機能を使うけどね。

開発効率か速度かどちらか重視して使えば良いんじゃないかな。
0537nobodyさん2012/02/13(月) 12:31:14.14ID:???
>>536
重くなるのはPHPのインタープリタの特性と
キャッシュの貧弱さに由来すると思うけど。
PHPでオブジェクト指向のパフォーマンスはほんとにダメ。
0538nobodyさん2012/02/13(月) 13:57:31.22ID:???
そんなこより天皇ヤバくて年号変わりそうだけど
優秀なオマエラならモジュールの結合テストもう済ませてるよな
0539nobodyさん2012/02/13(月) 14:10:49.16ID:???
今上天皇はお前らより長生きするよ
0540nobodyさん2012/02/13(月) 15:01:11.94ID:???
年号が変わるって何言ってんの?
0541nobodyさん2012/02/13(月) 17:05:49.64ID:???
いまどき元号使ってるアホはポンドヤード厨と同レベ
0542nobodyさん2012/02/13(月) 17:13:35.56ID:???
こんなのでオタつくのは、プログラマーじゃねーよ。
0543nobodyさん2012/02/13(月) 17:35:35.21ID:???
昭和→平成の時、公文書の印刷だったから元号全部手直ししたが、
今はどうなんだろうな。
0544nobodyさん2012/02/13(月) 17:41:53.44ID:???
うちは全部西暦だわ。
キリストが再臨すれば困ったことになるな。
0545nobodyさん2012/02/13(月) 18:00:01.82ID:xFiWWsj/
陛下には申し訳ないが、平成早く終わってほしい。
バブルの崩壊、日本の失われた20年は平成になったあたりから始まった。
年号が、変われば、きっと日本は明るくなる。

次の年号は上世とか、登安とか、上ってく名前がいい。
0546nobodyさん2012/02/13(月) 18:45:44.80ID:???
>>545
でも次の奴だって期待できそうにないyo!
もっと悪くなりそう orz
0547nobodyさん2012/02/13(月) 19:11:58.82ID:???
>>545
次って今の皇太子が天皇になるってことだよな?それは明るい未来なのかい?
0548nobodyさん2012/02/13(月) 19:16:04.22ID:???
>>547
皇太子はいいやつだと思う。
0549nobodyさん2012/02/13(月) 21:48:05.71ID:dtlHANwt
@arsort($date_before);
foreach($date_before as $value){
$t=0;
$date_after[$t]=$value;
echo $date_after[$t].'<br>';//正常に表示
$t=$t+1;
//echo $value.'<br>';
}

for($t=0;$t<$i;$t++){
echo $date_after[$t].'<br>';//エラーが出る
}

何故エラーがでるのでしょう? どうしたらいいのでしょうか?
0550nobodyさん2012/02/13(月) 21:50:08.09ID:???
$iがnullだから
0551nobodyさん2012/02/13(月) 21:53:34.84ID:???
nullじゃねーだろ
0552nobodyさん2012/02/13(月) 21:56:57.73ID:???
じゃ何?
0553nobodyさん2012/02/13(月) 22:03:58.95ID:???
単に定義されてないだけだ。
0554nobodyさん2012/02/13(月) 22:04:01.85ID:dtlHANwt
$iには50が入ってます。
$iを消して10にしましたが、エラーというか
一番先頭が値がありで、1〜9が値なしです。
0555nobodyさん2012/02/13(月) 22:06:33.47ID:???
>>553
http://jp2.php.net/manual/ja/language.variables.basics.php
例1 初期化されていない変数のデフォルト値

<?php
// 設定も参照もされていない (使用中のコンテキストではない) 変数は NULL となります
var_dump($unset_var);

はい残念
0556nobodyさん2012/02/13(月) 22:07:18.05ID:???
>>554
3行目で$t=0;してるから
0557nobodyさん2012/02/13(月) 22:52:56.00ID:???
foreachの中で毎回 $t=0; をしているのはナゼ?

4行目に毎回 $date_after[0]=$value; をしているわけだが。
0558nobodyさん2012/02/13(月) 23:03:44.80ID:dtlHANwt
>>556
foreach分の外に出すと、正常に表示されました。
皆様ありがとうございました。
0559nobodyさん2012/02/13(月) 23:10:55.97ID:???
>>558
エラーが出たら、まずその内容を読んでみような
大抵の場合そこに原因や解決策が書いてある
0560nobodyさん2012/02/14(火) 01:51:59.94ID:PYbwAQUM
echo '<input type="button" value="delete" onclick="blue(''$file_name[$image[$t]]'')"/>'
エラーが出ます。onclickで関数を実行でその引数を指定するときは
どのようにしたらいいのでしょうか?
0561nobodyさん2012/02/14(火) 02:05:09.73ID:???
htmlの問題だろそれ
吐き出されるソースをよく見てみ
0562nobodyさん2012/02/14(火) 05:16:10.88ID:???
>>560
>>559
喧嘩売ってんのか
0563nobodyさん2012/02/14(火) 05:20:47.07ID:???
>>561
> blue(''$file
シングルクォートが2個らしいよこれ
なもんで、HTMLエラーじゃないと思う。なもんで>>559
0564nobodyさん2012/02/14(火) 05:32:22.93ID:???
ほんとだシングルクオート2個だwww
よく気づいたな

ヒント:
エスケープ
PHPの文字連結はドット
0565nobodyさん2012/02/14(火) 10:32:18.76ID:VUGkLJ/d
''を\'でいいんじゃない?
0566nobodyさん2012/02/14(火) 13:09:24.88ID:???
SQLとごっちゃになったのかな。
0567nobodyさん2012/02/14(火) 13:10:25.69ID:???
>>565
それだと変数が展開されないって嘆くことになる
0568nobodyさん2012/02/14(火) 14:54:11.43ID:Tk30SVBq
phpを実行するとphpソースが表示されます
http://phpjavascriptroom.com/?t=php&p=apachephpwindows7
のインストール部分をC直下ではなくD直下に変えて他はそのままにして下記のプログラムを実行しました

<?php
phpinfo();
?>

何故でしょうか
0569nobodyさん2012/02/14(火) 15:05:52.59ID:???
>>568
ずっと下の方の
LoadModule php5_module "C:\PHP\php5apache2_2.dll"
AddType application/x-httpd-php .php

この2つがあればそんな風にはならん。
Apache再起動したか?
0570nobodyさん2012/02/14(火) 15:13:14.59ID:Tk30SVBq
>>569
はい、再起動しました
0571nobodyさん2012/02/14(火) 15:17:14.51ID:???
errorlogにphpのバージョン表示出てる?
0572nobodyさん2012/02/14(火) 15:28:56.61ID:Tk30SVBq
すみません
解決しました
Control Apache Server→Restart/start/stop のRestart/Stopが正常に動作していなかったようです
1回Windowsごと再起動してからもう1度起動するとできました
お騒がせしました
0573nobodyさん2012/02/14(火) 18:54:42.00ID:VUGkLJ/d
>>567
''→'.
''→.'
こうか
0574nobodyさん2012/02/14(火) 18:58:30.06ID:???
\''.$〜.'\'
05755532012/02/14(火) 20:00:27.18ID:???
>>555
「結果」は理由じゃないんだよ。
$iが定義されてないから

$iが定義されてないからNULLの値を見せる
は別なの
0576nobodyさん2012/02/14(火) 20:43:51.83ID:???
>>575
それ原因同じじゃん
05775532012/02/14(火) 21:01:40.14ID:???
$iが定義されていて、かつNULLってのは考えない訳か
0578nobodyさん2012/02/14(火) 21:09:05.47ID:???
へ?575で両方とも定義されていない場合って書いてるじゃん
0579nobodyさん2012/02/14(火) 21:39:24.82ID:???
>>575
そもそも、$iが定義されてるかどうかが問題ではなかったんだけれど、その辺はどう
05805532012/02/14(火) 22:40:54.39ID:???
>>579
そういう風に詰めていくならもともとの質問は「エラーが出る」しか言ってないんだから、
NULLだという指摘は、<結果的にそれが原因>という可能性の一つになるだけ。
$iが(引用行外で)定義済みなら、NULLが入っているか、型が違ってるか、$iがarrayならそれがNULLではなくて
空か、ということが考えられる。他方$iがどこでも定義されてないなら定義してないからだ(NULLは単なる結果)、
という風になる。
なお578は論外の売り言葉買い言葉にすぎない。
0581nobodyさん2012/02/14(火) 22:43:48.45ID:???
>なお578は論外の売り言葉買い言葉にすぎない。
何言ってんだwごまかしてるだけだろwワロタw
0582nobodyさん2012/02/14(火) 22:46:29.54ID:???
>>580
http://jp2.php.net/manual/ja/language.types.null.php
NULL
特別な NULL 値は、ある変数が値を持たないことを表します。NULL は、NULL 型の唯一の値です。

変数は、以下の場合に NULL とみなされます。

■定数 NULL が代入されている場合。

■まだ値が何も代入されていない場合。

■unset() されている場合。

はい残念
0583nobodyさん2012/02/15(水) 00:09:17.17ID:???
<?php
echo '<script type="text/javascript">';
echo 'alert("hello world 2012")';
echo "<\/script>";
?>
エラーになるますどうしたらいいですか?
0584nobodyさん2012/02/15(水) 00:16:41.08ID:???
>>1

あと昨日のお礼がまだですよ
0585nobodyさん2012/02/15(水) 00:19:05.18ID:???
>>583
\
0586nobodyさん2012/02/15(水) 02:50:37.77ID:???
>>580
もうね、俺は本当にどうだっていいんだけど、これをみて$iにもっていく勇気が俺にはないだけなんよ。
> echo $date_after[$t].'<br>';//エラーが出る
0587nobodyさん2012/02/15(水) 05:27:01.38ID:x/xi+W4J
<?php
//ファイルの取り出し
$file_name=$_FILES['filename']['name'];
//一時ファイル名の取り出し
$temp_name=$_FILES['filename']['tmp_name'];
// 保存先のディレクトリ
$dir = 'uploads/';
// 保存先のファイル名
$upload_name = $dir.$file_name;
// JPEG形式、GIF形式のファイルをアップロードする
// アップロード(移動)
$result = move_uploaded_file($temp_name, $upload_name);//これがないと失敗
echo ($result)?'アップロード成功':'アップロード失敗';
?>
<img src="<?php echo $upload_name; ?>">

において、全く同じ時間に画像アップロードした場合は
どうなるのでしょうか?
また、画像のファイル名をdate関数で作成したときなどは
どうなるのでしょうか?
0588nobodyさん2012/02/15(水) 05:29:24.65ID:???
ファイル名を作成するロジックなんて見当たらないわけだが

ファイル名がかぶる可能性があるなら
連番で振るとか
すでに存在していたら画像の後ろに数字をつけるとか
いろいろ方法はあるでしょう
0589nobodyさん2012/02/15(水) 05:55:11.81ID:x/xi+W4J
>>588
わかりました。

今、画像アップローダー作ってるのですが(6割ほど完成)
jpg、pjpeg、gif、png、bmpだけに対応でいいですかね?

0590nobodyさん2012/02/15(水) 06:01:50.75ID:???
仕様なんて好きにすればええ
0591nobodyさん2012/02/15(水) 09:55:27.24ID:GiPiqyn4
NULLについて質問させて下さい。
定義しない限りNULLは返らないと思っていたのですが
定義しなくてもNULLが返ってくるというのはどういう場合ですか?
0592nobodyさん2012/02/15(水) 10:17:02.48ID:???
明示的に値を返さない関数とか
0593nobodyさん2012/02/15(水) 21:37:22.21ID:???
PHP学習中なのでレベルの低い質問ですいません。

ずっとutf-8を使っていたのですが、
GDでの画像描画がutf-8だとうまくいかなかったので
(エラーも何も表示されない)
はじめてutf-8nを使ってみました。

•一般的に、PHPは8nで書いたほうが良いのでしょうか?
•逆に、8nを使うことで発生するトラブルはあるのでしょうか?
0594nobodyさん2012/02/15(水) 21:40:04.41ID:???
>>593
質問の回答になってないけど、UTF-8でGD2使えたよ。
0595nobodyさん2012/02/15(水) 21:51:47.31ID:???
>>593
質問の回答になってないけど、質問する時はスレのルールを守ったほうがいいと思うよ
05965932012/02/15(水) 21:55:40.37ID:5iudVdKB
sageてた。すいません。

>>594
まじすか。
なんでだろう…

PHP5.3.8でGD2.0.34。
以下のコードをTeraPadのUTF-8で保存するとページ真っ白
UTF-8Nで保存すると意図通りの四角が出ます。
<?php
Header ("Content-type: image/png");
$image = imagecreate(50, 50);
$shikaku = imagecolorallocate($image, 0, 0, 0);
imagepng($image);
imagedestroy($image);
?>
0597nobodyさん2012/02/15(水) 21:56:54.78ID:???
>>596
BOMが付いてるからじゃない?
05985932012/02/15(水) 22:19:48.19ID:???
>>593>>596 です。

>>597
レスありがとう。
最初にsage忘れたせいでややこしくて申し訳ないんだけど、
BOMのせいでページが真っ白だった、というのは理解できています。

知りたいのは、
•もうPHP書くときはずっとutf-8n使った方が幸せになれるか
>>594はどうしてutf-8で使えたのか
です。
0599nobodyさん2012/02/15(水) 22:21:38.02ID:???
>>598
質問の回答になってないけど、質問する時はスレのルールを守ったほうがいいと思うよ
06005932012/02/15(水) 22:24:04.09ID:5iudVdKB
>>599
本 当 に 申し訳ありません…

>>593>>596 です。

>>597
レスありがとう。
最初にsage忘れたせいでややこしくて申し訳ないんだけど、
BOMのせいでページが真っ白だった、というのは理解できています。

知りたいのは、
•もうPHP書くときはずっとutf-8n使った方が幸せになれるか
>>594はどうしてutf-8で使えたのか
です。
0601nobodyさん2012/02/15(水) 22:27:49.65ID:???
UTF-8のBOMは非推奨だから、PHPだろうが何だろうが使わない方が良い
0602nobodyさん2012/02/15(水) 22:34:15.78ID:???
>>600
質問の回答になっているけど、UTF-8Nという呼称自体が元々日本独自の呼称で
最近その日本でもほとんど使用されなくなってきていることから
一般的にUTF-8と言った場合はBOM無しを指すという業界の共通認識があるので
>>594はBOM無しのUTF-8を指していると思うよ。
あと1つ目の質問だけど今時はBOM有りに何らメリットはないのでBOM有りのことは忘れよう。
06035932012/02/15(水) 22:42:20.59ID:5iudVdKB
>>593>>596>>600 です。

>>601 >>602
回答本当にありがとう!
TeraPadのデフォ設定ばっちり変更しました。
さよならBOM。

無駄にレス消化しちゃってごめんね。
解決できて感謝してます。
0604nobodyさん2012/02/16(木) 02:36:52.86ID:???
TeraPadのUTF-8対応ってたしかまだ不完全だろ
0605nobodyさん2012/02/16(木) 04:18:49.73ID:???
UTF-8に完全に対応してるテキストエディタってあるん?
0606nobodyさん2012/02/16(木) 05:03:04.18ID:???
スレチ
0607nobodyさん2012/02/16(木) 06:14:28.88ID:???
不完全ってどういうことなんだろ。よくわからんけどスレチだからいいか
0608nobodyさん2012/02/16(木) 07:48:03.60ID:UroJIk1P
すいません、質問です。
最近PHPを勉強しはじめたばかりです。ある書籍を使って学んでいます。
ttp://pastebin.com/Y1mU93jq

上記サイトにソースをコピーしました。
DBから商品リストを取得する際に、5カラムごとに表示させるというものですが、
一応問題なく動きます。ですが、index.phpにそのまま入るとエラーで

Notice: Undefined index: page in D:\xampp\htdocs\shop\index.php on line 3

と、出ます。原因は想像がつくのですが対処法がわかりません。書籍のサンプルを実行したところ
同様のエラーがでていまして。。。

お手数ですが、どうのようにすれば良いのでしょうか?
0609nobodyさん2012/02/16(木) 07:53:32.53ID:???
質問お願いします。

フォームから、0216 または 2/16 と入力されるデータを
02/16に統一したいんですが、どんな関数を使ったらいいんでしょうか?
str_replace とか preg_match とか、いろいろありすぎてよくわかりません。
springf で %d を使ってみたのですが、スラッシュ以降が捨てられてしまいました。orz

一文字ずつ文字か数字か調べて、二文字目にスラッシュがでてきたら、最初にゼロを加えて・・・
みたいな処理を書いてもいいんですが、PHPなら一発でやってくれる関数がありそうですよね。
どなたかご存知でしたら教えてください。よろしくお願いします。
0610nobodyさん2012/02/16(木) 07:58:11.14ID:???
>>608
$page = '';
if (isset($_REQUEST['page'])) {
$page = $_REQUEST['page'];
}

もしくは
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : '';

0611nobodyさん2012/02/16(木) 08:00:13.36ID:???
>>609
>>599
0612nobodyさん2012/02/16(木) 08:00:28.97ID:???
>>608
初心者はXAMPP使うな
06136082012/02/16(木) 08:10:51.64ID:UroJIk1P
>>610
>>612

返信ありがとうございます。
なるほど・・・。if分と初期化までは浮かんだのですが、$pageじゃなくてpageだしなぁ・・・と考え込んでました。
さっそく試したらばっちりでした。ありがとうございました!。

xamppだめですか; 安全性とかからでしょうか?。。。
0614nobodyさん2012/02/16(木) 08:22:39.74ID:???
xampp使うなって言いたいだけだから放置でおk
Undefined index〜ってエラーは配列のキーの値が見つからなかった時によく見るエラーだから覚えとくといい
Noticeだから人によっちゃエラーリポートをきって無視するって人もいるが
>>610のissetで最初にチェックする対処法が王道
06156092012/02/16(木) 08:25:27.77ID:Dbcdet1T
あ、すみません、sageてましたね ageます
0616nobodyさん2012/02/16(木) 08:28:44.34ID:???
xamppはセキュリティーの設定がデフォルトで緩いんで公開サーバーとして使ってはいけないってだけで
ローカルでテストする分には問題ないよ
0617nobodyさん2012/02/16(木) 08:30:59.90ID:???
>>615
/を除去してsprintf %04dして最後に真ん中に / 付ければいいんじゃない?
もっと簡単な方法があるかは知らんけど

0618nobodyさん2012/02/16(木) 08:34:59.14ID:+jbHYpFg
>>610
$page = isset($_REQUEST['page']) ? $_REQUEST['page'] : '';
この?と:ってどういう意味ですか?
0619nobodyさん2012/02/16(木) 08:35:48.18ID:???
614は素人だな
06206082012/02/16(木) 08:44:05.91ID:UroJIk1P
おお、たくさんの返信ありがとうございます。

評価の高かった書籍だったので(ほかの書籍は実は途中で挫折)購入してやってみると
phpっておもしろいなぁと初めて思えていますw

聞いて良かったです。書籍の答えもエラーなので放置してる人もいそうですが、気持ち悪かったもので;
本当にありがとう。

xamppはローカルのみなので大丈夫かな。ありがとうございました。
0621nobodyさん2012/02/16(木) 08:56:43.50ID:???
>>618
if (A) { B } else { C }
の略

$page = A ? B : C;
06226082012/02/16(木) 08:58:51.66ID:UroJIk1P
あーもしかして、書籍はエラーリポートを切ってるから、何も触れてないのか・・・。
そういえばxampp設定時にiniを触りましたね。。。てことは、デフォルトでは切れてたのか・・・。
なるほど、すごく納得しました。

ありがとう、連投すいません。
0623nobodyさん2012/02/16(木) 09:08:57.78ID:???
昨夜の人と同じ人?
06246082012/02/16(木) 09:15:50.47ID:UroJIk1P
>>623
私?別人です。
0625nobodyさん2012/02/16(木) 09:20:25.11ID:Dbcdet1T
>>617
ありがとうございます。それでやってみます!
06266252012/02/16(木) 09:22:23.87ID:Dbcdet1T
あ、だめだ・・・

最初に スラッシュを取り除くと、 1/27 と 12/7 の区別がつかなくなってしまうんです。
入力する人たちに統一してもらえたらいいんですが・・・。
0627nobodyさん2012/02/16(木) 09:26:37.06ID:???
0127や0101はいるけど127とか11と入力する人はいないの?
0628nobodyさん2012/02/16(木) 09:30:16.32ID:+jbHYpFg
>>621
へえ、そういう記法があったのですね。ありがとうございます。
0629nobodyさん2012/02/16(木) 09:35:11.87ID:???
三項演算子っていうんだがif文の代わりに使いまくるのはやめましょうね
0630nobodyさん2012/02/16(木) 09:39:59.90ID:???
>>609
作れるなら素直につくってください
0631nobodyさん2012/02/16(木) 13:02:15.76ID:???
>>626
スラッシュつきを先にやれば問題ないでしょ。
あと環境かいてないから提供されてる関数については教えられず。
0632nobodyさん2012/02/16(木) 13:33:51.23ID:RNA+7C4L
csvの比較して抽出する物を作りたいのですが

csvA

hoge@hoge.com,田中太郎
hoge2@hoge2.com,山田花子
hoge3@hoge3.com,鈴木太郎

csvB
hoge@hoge.com
hoge3@hoge3.com

と、2つのCSVがあるとして

phpを実行すると

csvC
hoge@hoge.com,田中太郎
hoge3@hoge3.com,鈴木太郎

というようにcsvBに一致する行を抽出して別csvに保存出来る物を作りたいです
どうすれば出来ますでしょうか?

お願いします
0633nobodyさん2012/02/16(木) 13:43:19.73ID:???
csvを配列A、Bにぶち込んで
foreachで回して適合したヤツを別の配列Cにぶち込んで
配列Cをcsvで吐き出すかんじか

DBつかったほうがサバに優しいと思う
0634nobodyさん2012/02/16(木) 13:58:17.91ID:???
>>633
レスありがとうございます
一度試してみます!

ローカル環境で使用するつもりなのでphpで行いたいと思います
0635nobodyさん2012/02/16(木) 14:11:37.35ID:???
phpでDB使うのが一番。
すぐ慣れるしできることが広がる
0636nobodyさん2012/02/16(木) 14:14:14.01ID:2CwemWqC
AをDBにいれてやったほうが確実によろしい
0637nobodyさん2012/02/16(木) 14:23:58.88ID:RNA+7C4L
>>635
>>636
レス有難うございます

当方php初心者な者で・・・
mysql+phpでinsertくらいは出来るのですが
イマイチ今やりたい事がどうやれば出来るのかがわからないです;
0638nobodyさん2012/02/16(木) 14:31:36.91ID:???
DBならtableA、Bをつくって いい感じに結合する
論よりrunっていうじゃん
とりあえずコード書いてみて動かなければスレ住人がアドバイスくれると思う

丸投げなら5000円でやってあげなくもない
0639nobodyさん2012/02/16(木) 15:07:23.79ID:kcwNwXq8
>>631
なるほど。strposでスラッシュを探して、ありやなしやで処理を変えて
strtotimeとdateあたりで、できそうですね。ありがとうございました。
0640nobodyさん2012/02/16(木) 15:08:59.12ID:kcwNwXq8
ID変わってました、>>639 = 625です、ありがとうございました。
0641nobodyさん2012/02/16(木) 15:09:33.74ID:???
>>639
いったん全部同じフォーマットにしてしまうという方法もある。
数値型にしてしまうとか、日付型にしてしまうとかね
0642nobodyさん2012/02/16(木) 15:12:07.26ID:ySUB6ST3
サクラちゃん!オレにエロい幻術をかけてくれってばよ!!
0643nobodyさん2012/02/16(木) 15:18:32.11ID:???
$a = file("a.csv",FILE_IGNORE_NEW_LINES);
$b = file("b.csv",FILE_IGNORE_NEW_LINES);
$fp = fopen('c.csv', 'w');
foreach(file("a.csv") as $var){
$l=str_getcsv($var);
if(in_array($l[0],$b))fputcsv($fp, $l);
}
fclose($fp);
0644nobodyさん2012/02/16(木) 16:09:17.55ID:???
もれそうです
ぶちゅーぶりぶり
06456332012/02/16(木) 18:14:40.57ID:RNA+7C4L
>>643
ありがとうございます;;
助かりました
0646nobodyさん2012/02/16(木) 18:22:00.74ID:???
あそこ直して使ってね・・・
06476332012/02/16(木) 18:44:18.58ID:???
>>646
そのまま使えたのですが
直すところってあるのでしょうか?
0648nobodyさん2012/02/16(木) 18:47:40.34ID:???
$aどこでつかってるのとかw
0649nobodyさん2012/02/16(木) 21:29:38.02ID:???
CSVが1レコード1行と思ってる辺りも使えない
0650nobodyさん2012/02/17(金) 07:27:18.28ID:uCAZxDKu
おはようございます。昨日、Notice: Undefined index〜 のエラーについて質問したものです。
今回も同じような質問で恐縮なのですが、Notice: Undefined index〜エラーが連発しました。
元ソースです ttp://pastebin.com/JcAYvrmH

エラ− Notice: Undefined index〜 line 36 37 45 46 54 55

そこで、昨日教えて頂いたので、自分なりに追記し、エラーを掃かなくなりました。
4行目と27行目に追加 ttp://pastebin.com/F3xP74Yx

この書き方で良いのでしょうか?
少し疑問に思ったのは、今回のような場合の大きいフォームの時に、冒頭に多数の配列のキーを書いていくことになるのでしょうか?
他に方法があるのでは?と、ご教授願いたく質問させて頂きました。

よろしくお願いします。
0651nobodyさん2012/02/17(金) 07:29:20.07ID:???
>>650
マニュアル読んだことある?
06526502012/02/17(金) 07:34:52.02ID:uCAZxDKu
>>651
返信ありがとうございます。

マニュアルは、はい、一応見てはいます。見てはいるんですが、なかなか理解が。。。
それで、別のブログ?とかで説明して頂いてるようなサイトも見たり。

理解が乏しくてすいません。
0653nobodyさん2012/02/17(金) 07:38:07.95ID:???
XAMPPで楽に環境作って開発始めるのはいいけど、
それで手を抜いてマニュアル読まないようじゃ、本末転倒だと思うよ
06546502012/02/17(金) 08:03:12.13ID:uCAZxDKu
>>653
返信ありがとうございます。

あの、とても質問しにくいのですが、
マニュアルとはarrayについてなのでしょうか、それとも、追記のそのものが違うということなんでしょうか。

arrayは、キーが整数ならば多少の省略ができるみたいですが、文字列となると単純には難しい感じなのかな。
連想配列のキーが何であっても空を入れるような・・・というより$errorはキーさえも入ってない状況?だから
どうでにもできないのかな?

とマニュアルを見て思いました。
0655nobodyさん2012/02/17(金) 08:11:36.95ID:???
今回の件とXAMPPになんの関係があるんだよw
>>650
$error = array('name' => '', 'email' => '', 'password' => '');
これ入れると22行目で常に空じゃなくっていつまでも確認ページにジャンプされないんじゃない?

俺なら先頭に
$data = array('name' => '', 'email' => '', 'password' => '');
// $_POSTからname email passwordがあれば入れる
foreach (keys($data) as $key) {
 if (isset($_POST[$key])) {
  $data[$key] = $_POST[$key];
 }
}
でそれより下の$_POSTを全部$dataに置き換えする
0656nobodyさん2012/02/17(金) 08:18:41.12ID:???
>>654
PHPの公式マニュアルは難しい参考書や問題集ではなく、入門向けの基礎ドキュメントになってる。
「はじめに〜機能」まではPHP開発者なら当然抑えておくべき知識。上級者でなく初心者のね。
最低限「はじめに〜言語リファレンス」までは理解していないと質問の会話も通じないし既存サンプルコードも理解できない。
読んで基礎を身に着けてから開発したほうがいいよ。
(一通りとかじゃなくて、ちゃんと理解して)
0657nobodyさん2012/02/17(金) 08:19:04.20ID:???
追記
関数リファレンスは、最低限主要な関数くらいは見ておいたほうがいい
0658nobodyさん2012/02/17(金) 08:19:39.49ID:???
てか質問と関係ないこと答えたな
フォーム関係だと、値を確認しないと危ないからどうしても長くなるよ
06596502012/02/17(金) 08:46:33.43ID:uCAZxDKu
みなさん、ありがとうございます。

>>655
ご指摘どおり動きませんでした。
エラーが消えて喜んでいたので、このまま参考書通り進めていったら気がつかなかったと思います。
たぶんエラーが消えたので、その箇所が問題だと疑問に思ってなかったと思うのです。
ぜひ参考にさせて頂こうと思います。foreachは浮かんだのに、そこからが出て来ないという。


>>656-658
あー、見てないです・・・知らなかったです。辞書のようなものだと思って
検索エンジンから関数入力して、直接その関数だけのを見てました。
トップページ見たことなかったです。。。
これは、嬉しい。必ず見て理解しながら、今の参考書をやろうと思います。

稚拙な質問ですいませんでした。ほんとにありがとうございました。
0660nobodyさん2012/02/17(金) 09:23:09.19ID:???
>>659
俺は657-658だけど、ぶっちゃけ書籍とかいらない。
情報古いし誤記はあるし公式マニュアルの方が詳しいし。
今回みたいなことが発生する度にここで質問してたら一向に先に進まないから
基礎を身に付けてある程度自分で考えたり調べられるようになったほうがいいよ
0661nobodyさん2012/02/17(金) 10:15:08.87ID:???
Notice: Undefined indexは最初無視していいよ
実際にサイトに設置するスクリプト書いた時直せばいい
0662nobodyさん2012/02/17(金) 16:27:16.33ID:w/M88VPz
MVCって、view が、コントローラーありきじゃないですか。
となると、デザイナーが、
「ここ2ページふやしたいな」
「ここ、ディレクトリかえたいな」
とかなったらいちいちプログラマーがコントローラを
書き換えないとダメなんですか?
0663nobodyさん2012/02/17(金) 16:51:20.31ID:UxdMuJ4N

コントローラがViewのインターフェイスに依存してる
0664nobodyさん2012/02/17(金) 19:36:37.46ID:7dv+Ag3y
PDOのインスタンス「$dbh」のスコープについて質問です。
ファイルの先頭で、PDOインスタンスを生成して、DB操作をしています。
しかし、関数内では、ローカル領域のため、そのまま$dbhを使用したくても無視されます。

関数内で、DB操作するための解決策として、
1.「global $dbh」のようにグローバル宣言をする
2.「$dbh」を関数の引数で渡す
のように考えたのですが、どうするのがベストなのでしょうか?
0665nobodyさん2012/02/17(金) 20:07:52.04ID:???
どっちでも
0666nobodyさん2012/02/17(金) 20:55:18.79ID:???
俺なら関数内で
$dbh = $GLOBALS["dbh"];
とかかな
06676602012/02/17(金) 20:55:35.29ID:???
656-657だった
06686502012/02/17(金) 21:27:24.10ID:uCAZxDKu
>>660
ありがとうございます。がんばります!
0669nobodyさん2012/02/17(金) 22:58:30.87ID:MzraE+7u
メール送信について教えて下さい。

機種依存文字とか半角カナに対応する場合、
mb_send_mailよりmail関数で送信する方が良いのでしょうか?
また、iso-2022-jpよりUTF-8の方が文字化けリスクは少ないのでしょうか?
0670nobodyさん2012/02/17(金) 23:22:09.91ID:???
どこでそんな情報仕入れてきたんだ
0671nobodyさん2012/02/17(金) 23:39:23.76ID:???
通信中の文字化けを減らす目的だったら再送するなどすれば?
0672nobodyさん2012/02/17(金) 23:44:54.56ID:???
どういった文字化けなのか調べてから質問しろ。
送信関数のバグか、受信側のエンコード認識ミスなのか、回線に比べサイズが大きすぎて送受信にミスるのか。
いちばん手軽に実装できる方法でやってみてそのエラーを書け。
0673nobodyさん2012/02/17(金) 23:49:47.62ID:MzraE+7u
どう言った文字化けと言いましても・・・「?」と表示されます。
UTF-8のファイルに、mb_send_mailで機種依存文字や半角カナを送り、
outlookやgmailで受信すると文字化けします。

というか>>669は間違いなんでしょうか?
ググってもmb_send_mailは文字化けするから使うなってあります。
実際文字化けするので、そうなのかとは思いますが、
単にコードの書き方が悪いのかも?と思い、質問した次第です。
0674nobodyさん2012/02/17(金) 23:51:27.34ID:???
>>673
コードの書き方が悪いんじゃない?
0675nobodyさん2012/02/17(金) 23:54:35.00ID:MzraE+7u
mb_language('japanese');
mb_send_mail($email, 'テストメール', 'アアア');

UTF-8のファイルに単純に上記を書いてテストしています。
日本語メールをそう指定しているので、iso-2022-jpになるわけですが、
上記のままだと文字化けします。
mb_language('uni');にしてmail関数で送ると文字化けしません。
だからUTF-8にしてmail関数で送るのが正しいのでは?と思い、質問した次第です
0676nobodyさん2012/02/17(金) 23:56:51.68ID:???
languageがuni?
0677nobodyさん2012/02/17(金) 23:57:09.06ID:???
mb_internal_encoding
0678nobodyさん2012/02/18(土) 00:04:31.94ID:XbBhkQAF
とりあえず今のところ↓の書き方なら文字化けしません。
mb_send_mail使っても文字化けしない方法ってあるんですね。
もう少し調べてみます。

mb_internal_encoding("UTF-8");
mb_language('ja');
$to = "メールアドレス";
$subject = mb_encode_mimeheader('テストメール');
$body = mb_convert_encoding('アイウエオ', 'sjis-win', 'UTF-8');
mail($to,$subject,$body);
0679nobodyさん2012/02/18(土) 01:35:47.85ID:???
エンコードの自動変換をミスっただけだろ。
要するに設定次第で上手くいく。
0680nobodyさん2012/02/18(土) 05:00:23.69ID:QcioPwmz
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />
<input name="MyArray[]" />

これをHTTP_REQUESTでaddPostDataするにはどうしたら良いでしょうか?
0681nobodyさん2012/02/18(土) 05:12:01.30ID:???
>>680
foreach ($_POST['MyArray'] as $v) {
 $req->addPostData("MyArray[]", $v);
}
0682nobodyさん2012/02/18(土) 10:29:51.01ID:10KYAU7Y
ホストのIP変換が遅いのですが、早くする方法を教えてください。
さくらスタンダード、 PHP Ver5.2.17(CGI版)で、
$ipaddr=gethostbyname($domain);
の時間を測定すると、通常はマイクロ秒くらいの一瞬で終わるのですが、
ときどき5秒くらいかかることがあります。
同じドメインでも一瞬で終わるときと時間がかかるときがあるようです。
0683nobodyさん2012/02/18(土) 11:40:26.02ID:???
それはPHP関係ないのでは
関数どうこうでなる問題じゃないでしょう
0684nobodyさん2012/02/18(土) 12:10:41.22ID:10KYAU7Y
>>683
やっぱり無理ですか、残念ですがガマンすることにします。
ありがとうございました。
0685nobodyさん2012/02/18(土) 18:36:17.03ID:Agr52FPR
URLのHTMLソースをそのまま取得する方法はありますか?
file_get_contentsだとタグ等を取得できません。
ソースをそっくりそのまま取得するにはどうしたら良いでしょうか?
0686nobodyさん2012/02/18(土) 18:37:10.00ID:AZw1wiBM
どうでもいいじゃん、そんなこと
0687nobodyさん2012/02/18(土) 18:44:16.60ID:???
file_get_contentsでタグを取得できない?なにいってんだ?
0688nobodyさん2012/02/18(土) 18:44:44.12ID:???
403でも返ってきてるんだろ
0689nobodyさん2012/02/18(土) 18:46:05.98ID:???
ローカルからやれば取得できるさ
0690nobodyさん2012/02/18(土) 18:47:33.53ID:???
HTMLソースをそのまま取得しない方法を聞いてるんじゃね
0691nobodyさん2012/02/18(土) 18:58:51.71ID:Agr52FPR
すいません、初心者なので変なこと聞いてしまっているかも知れませんが、
<?php
echo file_get_contents('http://www.yahoo.co.jp/');
?>

これだとソースではなくページを表示しますが、これを下のように

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="content-script-type" content="text/javascript">
<meta name="description" content="日本最大級のポータルサイト。検索、オークション、ニュース、メール、コミュニティ、ショッピング、
など80以上のサービスを展開。あなたの生活をより豊かにする「ライフ・エンジン」を目指していきます。">
<title>Yahoo! JAPAN</title>
etc

とソースを表示させたいです、どうすればいいでしょうか?
0692nobodyさん2012/02/18(土) 19:03:43.03ID:???
>>691
htmlspecialcharでもかませ
0693nobodyさん2012/02/18(土) 19:40:17.07ID:Agr52FPR
>>692ありがとうございます、できました。
0694nobodyさん2012/02/18(土) 20:52:04.00ID:GMcMwBnH
アップローダー作る場合は何か許可等はほしいのでしょうか?
また、利用規約は禁止事項、アダルト禁止や、児童ポルノ画像は
通報する等の警告を書かないとダメだったりしますか?
0695nobodyさん2012/02/18(土) 21:01:41.90ID:???
>>694
アダルトはどこからアウトでどこからセーフかという問題があって難しいですね
少年漫画のパンチラレベルならおkなはずです
アダルト画像判別ライブラリがあるといいのですが
0696nobodyさん2012/02/18(土) 21:15:41.43ID:AZw1wiBM
CGMはユーザがコンテンツをやり取りする場を提供するもの
他人のコンテンツは勝手にいじれない
規約に同意させて特定のコンテンツについて当事者に加えてもらえば自分のもんだから消し放題になる
0697nobodyさん2012/02/18(土) 21:20:25.30ID:???
>>696
ttp://asonofumoto.cocolog-nifty.com/photos/uncategorized/2011/10/19/200511_img_5.jpg
0698nobodyさん2012/02/19(日) 02:22:12.54ID:wQztI7LL
phpでrssリーダーを作りたいんだが、titleを取得してリンクさせるまではできた。
だが、スマートフォンに対応してないニュースサイトがあるため、xmlの中のtitleとbodyを取得して、スマホ向けにデザインを変更したいんだがどうすればいい?
一時的にhtmlを自動生成すればいいの?やり方がわからぬ、、、。
0699nobodyさん2012/02/19(日) 02:23:30.04ID:???
>>698
スレ違い
http://kohada.2ch.net/test/read.cgi/php/1271172618/
0700nobodyさん2012/02/19(日) 10:43:18.52ID:DFHu3tLC
fopenのmodeパラメータですが、
書き込み用モードで開くと自動的に排他制御になるのでしょうか?
同じリソースを使って書き込み/読み込みをしようとa+を指定したとき、
読み込みでも排他制御されてるようです。
これは困るのですが読み込みと書き込みは、
別々のリソースで管理しないとだめなのでしょうか?
0701nobodyさん2012/02/19(日) 11:02:15.97ID:???
>>700
flockは入れてるの?
0702nobodyさん2012/02/19(日) 11:14:52.49ID:ULtF97rd
for文作ってるのですけど、

for(i=0; i<10; i++){
 $data["thanks$i+1"] = $i;
}

だとうまくいかないっす。
i+1をあそこに書くにはどうしたらいいんでしょうか?
07037002012/02/19(日) 11:15:31.80ID:DFHu3tLC
>>701
読み込みには入れてません。
0704nobodyさん2012/02/19(日) 11:23:10.10ID:???
$t=$i+1;
$data["thanks".$t]=$i;
0705nobodyさん2012/02/19(日) 11:32:17.68ID:???
>>704
ありがとう
ちなみに、文の中に数式を埋め込むのは不可なのですか。
関数だったら返り血使って普通にやりますよね?
0706nobodyさん2012/02/19(日) 11:35:07.23ID:???
>>703
排他的ロックってのはロックしてる間読み込みも書き込みもできないようにするロックだよ
0707nobodyさん2012/02/19(日) 11:43:36.84ID:???
>>705
汚いけどできるよ
$data["thanks".($i+1)]=$i;
0708nobodyさん2012/02/19(日) 11:52:20.82ID:???
>>707
できました
あんまり好ましくはないようですね
先に教えてもらった方を使います
どもども
0709nobodyさん2012/02/19(日) 15:38:42.75ID:???
返り血・・・血しぶき ドバーッ て感じだ。
0710nobodyさん2012/02/19(日) 22:01:19.96ID:0c+jTY14
PHPアプリの二重ログイン防止策は、どうのように実装するのが良いのでしょうか?
有名SNSゲームが二重ログインのバグでサービス停止になったらしく気になります。
0711nobodyさん2012/02/19(日) 22:05:18.54ID:???
>>710
その話詳しく
0712nobodyさん2012/02/19(日) 22:08:06.99ID:???
ドリランドの件じゃなくて?
あれは二重ログインとはまた別の話だよね。
二重ログイン防止はセッションをDBで管理すればいいかな。
0713nobodyさん2012/02/19(日) 23:25:00.75ID:TyCjVWx4
>>712
ドリランドの件です。
バグの利用だそうですが、「二つの機器のアカウントを同じにする」とあるので、
二重ログインにも関係していると思いました。
0714nobodyさん2012/02/19(日) 23:49:52.59ID:???
トランザクションかけてなかっただけの話ではなく?
0715nobodyさん2012/02/20(月) 00:32:56.31ID:0kztJ4Qe
>>711
ttp://blog.livedoor.jp/dqnplus/archives/1697409.html
遅れてすみません。

>>714
見る限り、トランザクションは関係ないようです。
デュープとかいう手法でアイテムを複製されるバグのようです。
0716nobodyさん2012/02/20(月) 00:51:48.56ID:???
変数名に$をつけるとかめんどくせーな
0717nobodyさん2012/02/20(月) 01:11:59.90ID:???
>>715
見れば見るほど関係あるように見えるが。
デュープとトランザクションが関係ないという理由は?
0718nobodyさん2012/02/20(月) 01:49:12.03ID:???
>>715
トランザクションでググればみんなが言ってる事が理解できるよ
あんたもプログラマの端くれなら
憶測で物事を決め付けてかかる癖は直しなさい
0719nobodyさん2012/02/20(月) 03:43:08.72ID:???
デュープとかトランザクションとか横文字に知るからゆとりが混乱するんだろうが
排他制御って書いてやれよ
0720nobodyさん2012/02/20(月) 10:15:38.36ID:???
>>713
基本的にこの手のものは二重ログインは防止するものではないよ。
ユーザーがひどく不便になる。
0721nobodyさん2012/02/20(月) 12:18:04.55ID:GErhC2S3
cURLのIDNを有効にするにはどうしたらいいんでしょうか
"curl idn enable"でggってみてそれらしきページはあったんですが何を言ってるのがサッパリでした
OSはwindows vistaでPHPはver.5.3.8、cURLは7.21.7です
0722nobodyさん2012/02/20(月) 12:56:17.89ID:???
>>721
何を言ってるのかサッパリならわからない単語でさらにぐぐらないと。
そうやって技術書をスタックにつんでこそ。
0723nobodyさん2012/02/20(月) 14:12:46.11ID:???
うおー、PHP.netがつながらない。困った。

でも俺だけっぽいな?
0724nobodyさん2012/02/20(月) 14:14:15.72ID:???
ほんとだつながらない
0725nobodyさん2012/02/20(月) 14:19:42.73ID:7zywTD2d
>>723
俺も繋がらないよ (千葉県でOCN回線)
07267232012/02/20(月) 14:23:06.17ID:???
>>724-725
うちは、都内でflet's + Interlinkだ。
普通にさば落ちかな。
0727nobodyさん2012/02/20(月) 14:34:51.94ID:???
www.php.net→タイムアウト
jp.php.net→変なメッセージが出る
jp2.php.net→サーバが見つからない
0728nobodyさん2012/02/20(月) 14:37:32.11ID:???
usの2つは繋がる
http://us.php.net/
http://us2.php.net/
0729nobodyさん2012/02/20(月) 14:40:31.59ID:???
DNS浸透の問題じゃないか?

php.net
繋がらないPCだと[64.246.30.37]
繋がるPCだと[69.147.83.197]
0730nobodyさん2012/02/20(月) 14:42:50.02ID:???
ドドランド詳しく
0731nobodyさん2012/02/20(月) 15:44:56.71ID:???
>>716
同感

普段他の言語使ってるから
PHPで依頼されるとき$にイライラする
0732nobodyさん2012/02/20(月) 15:56:02.91ID:???
そしたらvarで変数定義して、あとで変数に$を付けるスクリプト作れ。
0733nobodyさん2012/02/20(月) 16:01:28.31ID:???
$がないPHPもつくれるだろうが人間の利便性より、解析処理速度を優先したんだろ。
内部コードがUTF16のPHPも作れるが、計画して進展しないのはやはりソースの解析速度だろ。
0734nobodyさん2012/02/20(月) 16:09:55.54ID:???
perlの変数に$がついてるからだろ
0735nobodyさん2012/02/20(月) 16:15:07.69ID:???
JavaScriptには付いてないけど。
PHPはperlに元にしてるのか。
0736nobodyさん2012/02/20(月) 16:15:38.57ID:???
文字列中の展開とかあるしな。
使える記号も選べるほどないし
0737nobodyさん2012/02/20(月) 16:39:46.15ID:???
ドのはなぁ…
規模が小さければトランザクションだ〜とかで済むけど
規模が大きくなると基本が通じなくなる事もあるみたいだしな

ttp://d.hatena.ne.jp/iad_otomamay/20110808/1312805917
見たいな事象もあったりするし

それならそれで手を考える必要はあるんだろうが
その手のライブラリをしっかりと整備出来ていなかったのが痛いな
0738nobodyさん2012/02/20(月) 17:21:34.54ID:???
だから、現金で取引されるようなデータには
固有の値をいれとけとあれほd
07397212012/02/20(月) 19:29:31.34ID:???
>>722
ウウッ(´;ω;`)ヒントだけでも頼むよぉ・・・
0740nobodyさん2012/02/20(月) 19:35:40.43ID:???
>>739
英語だけじゃなくて日本語も読めないの?
0741nobodyさん2012/02/20(月) 19:42:12.40ID:???
PHP.net復活したくさ。
0742nobodyさん2012/02/20(月) 20:14:43.94ID:???
>>721
再コンパイルの仕方がわからないならxamppからPHP抜いて試してみるとよかろう
俺の使ってるXAMPP Lite 1.7.3のPHP5.3.4はONになってる
最新バージョンがどうかは知らないが
最新のxampp1.7.7はPHP5.3.8だし試してみる価値はあるだろう
0743nobodyさん2012/02/20(月) 20:18:08.26ID:???
画像アップロードがほぼ完成して、自分が作ったソースファイルを
読んでたのですか、ifとelseを多用して非常に読みにくくなってました。
php歴2年ですが、これって素人がよくやるようなことなのでしょうか?
なにか解決策はありますか?
0744nobodyさん2012/02/20(月) 20:30:10.23ID:???
>>743
>>595
0745nobodyさん2012/02/20(月) 20:43:06.11ID:NoHq1hRP
正規表現で特定の文字の間の文字を取り出すことはできますか?
例えば、
あいうえおあ
という文字列があったら、あとあの間の文字の(いうえお)を表示する。と言うことは可能でしょうか?
0746nobodyさん2012/02/20(月) 20:46:16.34ID:???
>>745
>>1
0747nobodyさん2012/02/20(月) 20:46:30.08ID:???
可能
0748nobodyさん2012/02/20(月) 20:49:21.61ID:???
>>743
今度からは>>1よめ

ifelse多様してるならswitch文が速いらしい
07497432012/02/20(月) 21:09:36.19ID:Hy6/Os+0
すいません、下げてました。

>>748
switch文をを試してみます。
0750nobodyさん2012/02/20(月) 23:39:14.07ID:???
>>747ありがとうございます。
0751nobodyさん2012/02/21(火) 00:33:40.75ID:???
NginXとFastCGIで、
a.phpで
<?php echo file_get_contents("http://localhost/b.php"); ?>
として、

b.phpで
<?php echo "hello"; ?>

とすると、固まってしまう。
b.phpで、file_put_contentsとかしてみると出力はあるから、アクセスはしてるんだけど、
レスポンスが取得できてないくさい。
fopenやstream_socket_clientもダメだった。
ちなみにa.phpでhtmlやtxtなどの静的コンテンツは取得できた。
a.phpをコマンドラインで実行すると普通にレスポンス返ってきてるんだが・・・
何が原因なのかさっぱりわからん。
0752nobodyさん2012/02/21(火) 01:13:11.18ID:???
>>751
>>595
0753nobodyさん2012/02/21(火) 01:20:19.98ID:???
>>752
>>751のどこに質問と書いてある?
0754nobodyさん2012/02/21(火) 02:58:29.45ID:???
>>737
ねえ、そのリンク先のだとトランザクション管理できないって言ってる?
そうじゃないなら何でそれ出したの?
0755nobodyさん2012/02/21(火) 06:54:25.99ID:6SIN0kwR
WikipediaのSingletonのJavaで書かれた項目をPHPに移植したいのですが、
http://ja.wikipedia.org/wiki/Singleton_%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3

1つ目の例の書き方だと問題ないのですが、
2つ目の例の書き方の2行目をPHPで書くのは無理でしょうか?
同期化コストってのはようするにif文を毎回呼ぶのがよくないってことだと思うのですが、
2つ目の例の2行目の書き方がPHPでだめだとして、改善方法はありますか?

final class Singleton {
    private static final $instance = new Singleton();
    private function __construct() {}
    public static function getInstance() {
        return Singleton::$instance;
    }
}
$s = Singleton::getInstance();
$s2 = Singleton::getInstance();
var_dump($s);
var_dump($s2);

Fatal error: Cannot declare property Singleton::$instance final〜
そこで$instanceのfinalを取ると
Parse error: syntax error, unexpected T_NEW in〜
となります。

外からアクセスできるので質が違いますが、
private static finalに近そうなconstも試して見ましたが同様のエラーが出ます。
0756nobodyさん2012/02/21(火) 07:18:35.44ID:???
>>755
コンストラクタ内でやればいいのでは?
0757nobodyさん2012/02/21(火) 07:19:30.05ID:???
ああごめん、違うか
0758nobodyさん2012/02/21(火) 07:20:50.57ID:???
final外すとか
0759nobodyさん2012/02/21(火) 08:11:46.42ID:???
答える側も基本的な事すら調べないのな…

>>755
> 同期化コストってのはようするにif文を毎回呼ぶのがよくないってことだと思うのですが、
違う、同期化コストはJavaのsyncronized修飾子に対しての言葉
PHPではif文で毎回調べるのが常套手段となっている

http://www.php.net/manual/ja/language.oop5.properties.php
> 宣言時に初期値を設定することもできますが、初期値は定数値でなければなりません。
> つまり、コンパイル時に評価可能な値でなければならず、
> 実行時の情報がないと評価できない値であってはいけないということです。
0760751 2012/02/21(火) 08:31:30.02ID:???
自己解決した。単純な話だった
0761nobodyさん2012/02/21(火) 10:14:06.04ID:???
ルール無視したまま退散か、このlocalhost野郎
0762nobodyさん2012/02/21(火) 10:14:54.16ID:???
ルール守った所でお前みたいな無能には一生わからないからな
07637552012/02/21(火) 10:19:56.57ID:???
>>756-759
レスありがとうございます。

>>759
なるほどそういう意味でしたか。
syncronizedがどういうものかはよくわかりませんが、
PHPでは最初の例が常套手段ということは理解しました。

比較対象のため少しJavaの勉強もしてみようと思います。
どうもありがとうございました。
0764nobodyさん2012/02/21(火) 10:24:44.01ID:otlrgE39
基本的なことかもしれませんが、教えてください。

ftp_get関数を使って、リモートのファイルをローカルに保存したいのですが
うまくいきません。

リモートでPHPの動かしていると、オフィシャルマニュアルのいうところの
「ローカル」というのは、動いている場所を指してしまうのですか?

具体的に書くとレンタルサーバー上のtest.phpの中で、ftp_get関数を使うと
レンタルサーバーの/home/hoge/に「C:\temp\downloaded.txt」 という名前のファイルが
できてしまってローカルには何もダウンロードされないのですが、これは仕様ということですか?
0765nobodyさん2012/02/21(火) 10:37:35.23ID:???
Java知らないのにJavaのコードを移植しようとはこれいかに
0766nobodyさん2012/02/21(火) 10:40:04.48ID:???
んな難しいことじゃないだろ
Javaなんて知らんでも>>755程度ならPHPある程度やってるやつなら誰でも移植できる
0767nobodyさん2012/02/21(火) 10:43:47.00ID:???
でもつまづいてるのは、知らないからだというw
0768nobodyさん2012/02/21(火) 10:57:28.75ID:???
>>764
ローカルとは実行してるコンピュータのこと
当然レンタルサーバーでftp_getを使えばftp_getの引数で指定した先からサーバー(ローカル)にダウンロードされ保存される

0769nobodyさん2012/02/21(火) 10:59:15.38ID:otlrgE39
>>768
やっぱりそうでしたか、目の前の箱だと思っていたのが間違いでしたね。汗
ありがとうございました。べつな方法を考えてみます。
0770nobodyさん2012/02/21(火) 14:39:44.56ID:???
PHPでのチェックボックスでの値の受け取り方や配列の扱い方よくわからないので教えて下さい。htmlの部分で
<input type="checkbox" name="checkbox01[]" value="0"> 〜 <input type="checkbox" name="checkbox01[]" value="2">
とチェックボックスをつくりました。そしてPHPの処理部分では

// チェックボックスに値があれば
if($_GET["checkbox01"]){
foreach($_GET["checkbox01"] as $val){
if($val==0){
$data["A"]='あ';
}
elseif($val=1){
$data["B"]='い';
}
elseif($val=2){
$data["C"]='う';
}
}
// $dataがアレばそれぞれ
if($data["A"]){
print_r($data["A"]);
}
if($data["B"]){
print_r($data["B"]);
}
if($data["C"]){
print_r($data["C"]);
}
}
0771nobodyさん2012/02/21(火) 14:41:32.79ID:???

としたのですが、チェックすべてに値をつけても 「あい」 までしか表示されません。試しに // チェックボックスに値があれば の前で 
print_r( $_GET["checkbox01"]); 
としたら 
Array ( [0] => 0 [1] => 1 [2] => 2 )
と表示され、// $dataがアレばそれぞれ の前でも
print_r($data);
としたら
Array ( [A] => あ [B] => い )
と表示されたため、foreach文ないがおかしいとはおもうのですが解決方法がわかりません。
どのようにしたらいいのでしょうか?

長くなってしまったので連投してすみません、どなたかお知恵をかしてください。
0772nobodyさん2012/02/21(火) 14:43:28.71ID:???
$val=1  → $val==1
$val=2 → $val==2
0773nobodyさん2012/02/21(火) 15:08:48.42ID:???
これは質問者が間違って書いたから訂正してるのか、
別の人の解答なのかどっち?
ID無いからわからんな
07747702012/02/21(火) 15:21:10.42ID:???
>>772
ありがとうございます。こんな凡ミスなんて・・・
あと調べててin_array関数というのもみつけたのですが、foreachで繰り返して探すより

if(in_array("0", $_GET["checkbox01"] ){
}
if(in_array("1", $_GET["checkbox01"] ){
}

といったように内容は同じだとおもうのですがin_arrayで調べたほうがいいのでしょうか?
0775nobodyさん2012/02/21(火) 15:37:57.26ID:???
>>774
全部処理するならforeach使うけどなぁ
in_arrayは検索する時だけ
07767702012/02/21(火) 16:07:46.92ID:???
>>775
ありがとうございます。
結局この場合はどちらがいいのでしょうか?
0777nobodyさん2012/02/21(火) 16:17:22.51ID:???
>>776
この場合はforeach
0778nobodyさん2012/02/21(火) 16:19:18.56ID:???
if($val==0){
$data["A"]='あ';
}
elseif($val=1){
$data["B"]='い';
}
elseif($val=2){
$data["C"]='う';
}

こんなことするなら最初からvalueにあいう入れればいいのに
0779nobodyさん2012/02/21(火) 16:59:54.36ID:???
>>773
質問内容を理解してないから分からないんじゃないのか?
よって君はチェリーボーイ
0780nobodyさん2012/02/21(火) 17:07:19.21ID:???
>>779
>>1読めって言ってんのがわかんねーやつは引っ込んでろよ
07817702012/02/21(火) 17:08:17.74ID:???
>>777
ありがとうございます。
そうじゃない場合はどんなときでしょうか?
0782nobodyさん2012/02/21(火) 17:15:36.37ID:???
>>781
配列にひとつの値があるか検索する時
0783nobodyさん2012/02/21(火) 23:58:50.45ID:QmooF5El
PHPの遅さを解消する方法はありますか?
0784nobodyさん2012/02/22(水) 00:03:26.59ID:???
あなたの頭の回転の遅さを解消しましょう
0785nobodyさん2012/02/22(水) 00:07:59.95ID:???
>>783
無駄な動作をなくせばいい
0786nobodyさん2012/02/22(水) 01:07:04.45ID:HjiaSrjv
>>785
CakePHPを早くするためにはどうしたらよろしいでしょうか?
デフォルトの状態です。

WordPressを早くするためにはどうしたらよろしいでしょうか?
デフォルトの状態です。

OpenPNEを早くするためにはどうしたらよろしいでしょうか?
デフォルトの状態です。

symfonyを早くするためにはどうしたらよろしいでしょうか?
デフォルトの状態です。
0787nobodyさん2012/02/22(水) 01:09:47.45ID:???
また発作か
0788nobodyさん2012/02/22(水) 01:39:15.45ID:HjiaSrjv
結局、言語自体が遅い気がします。
0789nobodyさん2012/02/22(水) 01:42:23.62ID:???
今時体感できるほど遅いなら単にサーバがしょぼいだけだろ
0790nobodyさん2012/02/22(水) 01:44:59.53ID:HjiaSrjv
>>789
他の言語に比較して遅いです。
比較はJavaとPythonです。
0791nobodyさん2012/02/22(水) 01:46:11.48ID:HjiaSrjv
PHPもページ単位で処理が終わるものなら早いですが、
オブジェクト指向を始めると途端にパフォーマンスが悪くなるようです。
0792nobodyさん2012/02/22(水) 01:48:41.94ID:HjiaSrjv
>>789
ローカル環境でも遅いのでどうしようもありません。
0793nobodyさん2012/02/22(水) 01:54:46.01ID:???
じゃ窓からPCでも捨てればいいと思うよ
0794nobodyさん2012/02/22(水) 01:57:04.91ID:HjiaSrjv
PHPでセッションにオブジェクトを格納することは少ないのでしょうか?
アプリケーションスコープが無いのはわかっていますが、セッションはありますよね。
WordPressしかり、Cakeしかり、symfonyしかり、オブジェクト格納場所として
セッションは考えられていないようです。これが結果としDBへの
余分なアクセスを増大させているようです。
0795nobodyさん2012/02/22(水) 01:58:42.03ID:HjiaSrjv
>>793
たとえばOpenPNEが稼働しているサイトで機敏に動くところはありますか?
自分が知っている限り無いと思いますが・・・。
0796nobodyさん2012/02/22(水) 02:10:14.28ID:???
OpenPNE使ってるサイトなんて画像が多かったりコード量が多いサイトがほとんどだろ
なんでもかんでもPHPのせいにすればいいってもんじゃない
0797nobodyさん2012/02/22(水) 02:18:02.00ID:???
>>789
さすがにそれは無いわ。サーバがしょぼいの敷居がよほど高くなければ。
0798nobodyさん2012/02/22(水) 02:18:21.92ID:HjiaSrjv
>>796
書いていますが、デフォルトの状態ですでに重いのです。
一切カスタマイズしていない状態です。ちなみに3.6系の最新版です。
デバックモードで起動するとものすごい数のSQLクエリが発行されています。
>>794についてはどう思われますか?
0799nobodyさん2012/02/22(水) 02:20:08.85ID:HjiaSrjv
PHPのインタープリタが遅いのは承知していますが、
それ以上にクエリをムダに発行しているように思えるのです。
08007972012/02/22(水) 02:20:36.63ID:???
>>798
PHP部に限って言うならopコードキャッシュ使う。
DBアクセス数が多くて、コネクション生成コスト、クエリコストが原因で遅いのであれば、PHP自体の問題ではなくなる
0801nobodyさん2012/02/22(水) 02:21:25.34ID:???
本当にそれが無駄なのであれば改善すれば世界中の人に喜ばれるよ。
0802nobodyさん2012/02/22(水) 02:22:22.14ID:???
>>794についてはどう思われますか?

一人だけで使うなら別にいいんじゃね
0803nobodyさん2012/02/22(水) 02:23:07.36ID:HjiaSrjv
PHPのリソースの捉え方が非常に大雑把で困惑しています。

たとえばJavaであれば
1.アプリケーションスコープ
2.セッションスコープ
3.リクエストスコープ

以上の3スコープに欲するデータが無い場合のみDBへアクセスしますが、
CakeやWordPress、OpenPNEなどの場合はお構いなしに毎回DBへアクセス
しているのが不思議です。
0804nobodyさん2012/02/22(水) 02:26:05.08ID:???
>>803
Webサーバを複数使うことを想定してそうなってるわけじゃなくて?
設定とかで変えられないの?ってか、変えられないからそのように断定しているんだろうけれど。
0805nobodyさん2012/02/22(水) 02:30:02.12ID:???
>>803
ちなみに期待するレスポンスはどの程度で、現状はどれくらい?
同時接続クライアント数など、必要なものを列挙してほしい。ベンチの結果でもいい。
0806nobodyさん2012/02/22(水) 02:32:41.04ID:???
それがわからないから管を巻いてんじゃねえかな
0807nobodyさん2012/02/22(水) 02:40:30.48ID:HjiaSrjv
>>805
>>806
PHPの主要フレームワークやCMSのソースコードリーディングに基づき、
このスレを書き込みしています。実践というわけではありません。

気づいたことはオブジェクトの一時保存場所としてセッションが
使用されていないのが不思議なのです。だからSQL発行が非常に多い。
これはなぜですか?
0808nobodyさん2012/02/22(水) 02:41:22.45ID:???
>>807
>>804の1行目は理解できる?
0809nobodyさん2012/02/22(水) 02:43:20.60ID:HjiaSrjv
>>808
PHPは分散オブジェクトは対応していないのですか?
0810nobodyさん2012/02/22(水) 02:46:14.38ID:???
>>809
Javaのスコープの話が出てきた時点でこうなりそうな気はしていたが。

今後の話をわかりやすくするために「分散オブジェクトに対応する」というのがどういうことか伝えてもらえるかな。
0811nobodyさん2012/02/22(水) 02:50:27.92ID:HjiaSrjv
>>810
複数のコンピュータ間で同じオブジェクトを同一マシーン上で処理が済むことと同じようにすることですよね。
0812nobodyさん2012/02/22(水) 02:53:35.00ID:HjiaSrjv
OpenPNE,WordPress、CakePHPはセッションへオブジェクトを格納する設計になっていないのでしょうか?
0813nobodyさん2012/02/22(水) 02:54:02.25ID:???
>>811
それでいいのなら、対応してる。
0814nobodyさん2012/02/22(水) 02:55:12.88ID:???
>>812
ソースコードリーディングは諦めたの?
0815nobodyさん2012/02/22(水) 02:56:50.78ID:HjiaSrjv
>>812
なぜ同じクエリを何度も発行しているのでしょうか?
OpenPNE3.6系です。
0816nobodyさん2012/02/22(水) 03:00:29.37ID:???
いらなクエリをコメントアウトすればいいんじゃね?
0817nobodyさん2012/02/22(水) 03:02:33.49ID:HjiaSrjv
>>816
その論法で行くと全部コメントアウトになりますが・・・。

私の質問はPHPでは答えにくのでしょうか?
0818nobodyさん2012/02/22(水) 03:04:26.65ID:???
そろそろしんどい。

>>815, 817
繰り返すが、それが本当に無駄なら報告すれば多方面から感謝されるからそうしたらいい。
0819nobodyさん2012/02/22(水) 03:08:04.96ID:HjiaSrjv
>>818
そんなに大げさなことでしょうか?
OpenPNEを試されたことがありますよね?
デバックモードで起動するとSQL発行数がわかりますが、すごい量です。
これはなぜですか?と言っているだけです。だから遅いんじゃないでしょうかと。
0820nobodyさん2012/02/22(水) 03:09:29.52ID:HjiaSrjv
セッションにオブジェクトを格納しない理由があるのでしょうか?
昔はシリアライズのバグの話は聞いたことがありますが、さすがに今は解消しているはずです。
0821nobodyさん2012/02/22(水) 03:09:46.81ID:???
>>819
デバッグモードじゃなければ発行されないの?
何のために使われるクエリなのかは調べてないの?
OpenPNEは使ったこと無いよ。使ったこと無いならレスしないでっていうことなら喜んでレスやめる。
0822nobodyさん2012/02/22(水) 03:09:49.44ID:???
セッション切れるまでリソース保持とかどんな罰ゲーム
0823nobodyさん2012/02/22(水) 03:09:54.82ID:???
x86命令セット渡しても文句言いそうだな
0824nobodyさん2012/02/22(水) 03:11:44.08ID:???
どういう学び方をしたらこんなこじらせた頭になるんだ?
0825nobodyさん2012/02/22(水) 03:11:56.60ID:HjiaSrjv
>>821
デバッグモードで起動するとSQLクエリの発行数がわかります。
0826nobodyさん2012/02/22(水) 03:13:20.43ID:HjiaSrjv
>>822
それならそれでいいんです。
PHPでは罰ゲームレベルという理解でよろしいのですね。
0827nobodyさん2012/02/22(水) 03:13:21.46ID:???
こんなとこで使ったこと無い人相手にがんばるくらいならコード読み進めてみたら?
0828nobodyさん2012/02/22(水) 03:14:30.57ID:HjiaSrjv
結局のところ、
PHPではセッションにオブジェクトを格納するのは一般的ではないという結論ですね。
0829nobodyさん2012/02/22(水) 03:15:13.92ID:???
>>826
Javaだと放置セッションのリソースはいつ破棄されるの?
0830nobodyさん2012/02/22(水) 03:15:30.89ID:???
>>826
だから言っただろ
一人だけで使うなら別にいいんじゃね
って
0831nobodyさん2012/02/22(水) 03:15:45.98ID:HjiaSrjv
よくわかりました。道理でセッションが使用されていないわけだ。
0832nobodyさん2012/02/22(水) 03:16:55.71ID:HjiaSrjv
>>829
アプリケーションサーバーの設定による。
ただし、プログラムレベルでは細かく殺してリソースのムダ遣いを減らします。
0833nobodyさん2012/02/22(水) 03:17:02.95ID:???
他人のコードを読む時の絶望感といったら言葉にならない
らーらーらー ららーらー 言葉になら〜ない
0834nobodyさん2012/02/22(水) 03:17:23.17ID:???
PHPだけの問題じゃないでしょうに
Javaだって同じ事
0835nobodyさん2012/02/22(水) 03:17:48.03ID:???
>>832
PHPも一緒だよ。
0836nobodyさん2012/02/22(水) 03:18:45.31ID:???
基礎知識が足りなさすぎるだろ
もっと幅広く勉強しろよ
0837nobodyさん2012/02/22(水) 03:19:08.08ID:HjiaSrjv
もう大丈夫です。
PHPではセッションにオブジェクトを格納するのは一般的ではないということが
よくわかりました。
0838nobodyさん2012/02/22(水) 03:20:04.33ID:???
どういたしまして。
0839nobodyさん2012/02/22(水) 03:24:16.48ID:HjiaSrjv
セッションにオブジェクトを格納するのはPHPでは一般的では
ないとわかりましたが、それはPHPプログラマにとって尺に触ることでしょうか?
0840nobodyさん2012/02/22(水) 03:27:56.08ID:HjiaSrjv
尺に触ったのであればすみまんでした。特に悪気はありません。
0841nobodyさん2012/02/22(水) 03:30:45.46ID:???
癪に障るかってどういうことだろ。
たとえば一般的ではないことを強要されたら癪に障るかも知れないけれど。
0842nobodyさん2012/02/22(水) 03:38:58.82ID:???
もしかして煽ろうとしていたのか…?
0843nobodyさん2012/02/22(水) 03:57:13.25ID:???
>>840
キレてないっスよ
ペチパーキレさせたら大したもんスよ
0844nobodyさん2012/02/22(水) 04:52:15.14ID:???
PHPでC言語の実装するとか言ってたのはどうなったんだ?
0845nobodyさん2012/02/22(水) 06:32:14.02ID:???
PHPだからとかJavaだからとか関係ないから。
Webアプリケーションの設計の話でしょ。
0846nobodyさん2012/02/22(水) 07:41:18.69ID:???
>>795
JavaとPythonで比較してるなら、OpenPNEに相当するJavaとPythonで実装されたもので
機敏に動くものを知りたい。
0847nobodyさん2012/02/22(水) 08:55:42.21ID:???
もう大丈夫です。
PHPではセッションにオブジェクトを格納するのは一般的ではないということが
よくわかりました。
0848nobodyさん2012/02/22(水) 09:00:26.08ID:???
PHPでなくても一般的ではない
0849nobodyさん2012/02/22(水) 09:03:48.77ID:???
>>848
嘘つくなw
0850nobodyさん2012/02/22(水) 09:10:04.74ID:???
コネクションプーリングってのはそもそもアプリケーション鯖が対応してなければ使えない
0851nobodyさん2012/02/22(水) 09:13:27.28ID:???
>>850
当然。だからphpではコネプール不可。
0852nobodyさん2012/02/22(水) 09:15:30.80ID:???
セッションの話はどうでもいいが、openpneが激重なのは同意。
かなりヤバイレベル。バージョン2の時代はマシだった。
0853nobodyさん2012/02/22(水) 09:17:48.11ID:???
んでコネクションプーリングを実現するのにセッションが必要なんて
そんなヴァカな話があるのか
0854nobodyさん2012/02/22(水) 09:24:03.91ID:???
>>853
たしかに、唐突にコネクションプーリングの話は変だとは思った。
その逆も必要ないかと。
話の流れとは関係ないw
0855nobodyさん2012/02/22(水) 10:49:21.91ID:???
>>852
可能です。
以上。
↓次どうぞ
0856nobodyさん2012/02/22(水) 11:04:16.02ID:yvJnpOho
>>783
CGIじゃなくてモジュールで動作させれば早いと書いてあった。
今のところはCGIで動作の仕様になってる。
0857nobodyさん2012/02/22(水) 11:17:37.00ID:???
頭大丈夫 ?
0858nobodyさん2012/02/22(水) 11:27:57.48ID:???
もう手遅れかと
0859nobodyさん2012/02/22(水) 15:35:04.94ID:???
コネクションプーリングは言語レベルのサポートは無い。
0860nobodyさん2012/02/22(水) 15:37:33.90ID:???
Javaのようなオブジェクト指向言語では普通にオブジェクトをセッションへ格納する。
0861nobodyさん2012/02/22(水) 17:05:21.76ID:???
いいえアプリケーションで管理するのが普通です
0862nobodyさん2012/02/22(水) 17:34:31.83ID:???
setcookie();の挙動について悩んでいます
a.phpで
echo $_COOKIE['testvar1'];
var_dump($_COOKIE);
---
b.phpで
setcookie('testvar1', 'bbb') //a.phpでbbbが出力される
---
c.phpで
setcookie('testvar1', 'ccc') //a.phpでcccが出力されない
setcookie('testvar2', 'xxx') //a.phpでtestvar2自体が確認出来ない

と、以上のようにしてる時、b.php → a.php の順番でアクセスするとechoもvar_dumpも正常な結果を返すんですが、その後
c.php → a.php の順番でアクセスするとechoはbbbを返し、var_dumpは追加したtestvar2自体を返さずtestvar1のみbbbとして返します
※c.php自体の中で echo $_COOKIE['testvar1'];すればcccを返します。また、c.phpのsetcookie();の返り値は1です
※また、b.phpの中でクッキーに入れる値を変更した場合はa.phpで変更後の値が確認出来ますが
c.phpの中で値を変更しても上書きされません(c.phpの中での確認です)

ドメインは全て同じで、原因が全くわかりません
何か考えられる対処法やチェック箇所あるでしょうか?
申し訳ないですが、どなたかご意見お願いします
0863nobodyさん2012/02/22(水) 19:09:47.20ID:???
ブラウザを初期化する
0864nobodyさん2012/02/22(水) 19:28:43.76ID:???
ありがとうございました!
0865nobodyさん2012/02/22(水) 19:35:22.61ID:???
最近は、ID出さなくても答えて貰える様になったのか。
これがゆとりか。
0866nobodyさん2012/02/22(水) 19:44:07.26ID:???
ID指摘したかったら、回答しつつ、ID出すように促せよ。
IDID言うやつ、回答しないんだよな。
0867nobodyさん2012/02/22(水) 19:46:05.87ID:???
>>1
0868nobodyさん2012/02/22(水) 19:46:44.23ID:???
昨日のチェリーボーイが居ますね
08698622012/02/22(水) 20:41:14.26ID:culdIBNJ
すみません、今気づきましたID出してなかったです。すみませんでした
その後もブラウザ再起動などしてやったんですが
やはりc.phpでsetcookie();した値はc.php以外で確認出来ません
なんなんでしょうか?
0870nobodyさん2012/02/22(水) 20:44:30.18ID:???
>>869
問題が再現するコード出して
0871nobodyさん2012/02/22(水) 20:50:21.88ID:???
>>869
たぶんpath
0872nobodyさん2012/02/22(水) 21:49:26.94ID:???
HTTPのヘッダも確認してみれば
0873nobodyさん2012/02/22(水) 22:14:17.30ID:???
fastcgiの動作確認なのですが
php-cgi -b 127.0.0.1:9000 &
として
telnet 127.0.0.1 9000
とかでなんか叩いて動作チェックって出来るものでしょうか?

08748622012/02/22(水) 22:42:10.50ID:culdIBNJ
>>870-872
その後、全てのsetcookie()を setcookie('time', date('Y-m-d H:i:s'), 0, '/', 'example.com');として
有効時間、パス、ドメインを指定したところ解決しました
質問して良かったです、助かりました
本当にありがとうございました
0875nobodyさん2012/02/22(水) 22:51:44.23ID:???
いいってことよ
0876nobodyさん2012/02/22(水) 22:55:02.14ID:???
ほい
0877nobodyさん2012/02/22(水) 23:24:44.58ID:qmf6D6+H
get_included_files()に含まれてないファイルがrequire_onceで読み込まれないんですが、
原因としては何が考えられますか?
0878nobodyさん2012/02/23(木) 00:42:33.05ID:???
>>877
パス間違ってるとかパーミッションがマズイとか。
ちょっと情報少なすぎ。
warningかnoticeも出てないの?
08795532012/02/23(木) 01:24:46.92ID:???
含まれていないんだから、読み込まれないのは問題無いだろw
0880nobodyさん2012/02/23(木) 02:36:14.38ID:???
CakePHPは重いですね
0881nobodyさん2012/02/23(木) 02:52:55.61ID:???
マシンパワーアップしようぜ
i7っでサックサクにしようぜ
0882nobodyさん2012/02/23(木) 07:04:30.49ID:???
>>879
ん?
0883nobodyさん2012/02/23(木) 11:23:14.79ID:???
>>880
同意。WordPressも激重。
0884nobodyさん2012/02/23(木) 11:28:18.18ID:???
スレチ
0885nobodyさん2012/02/23(木) 11:29:42.88ID:???
チッ
0886nobodyさん2012/02/23(木) 11:35:04.06ID:GMJguUp1
セッションを利用したログイン認証について質問です。
ログインページでは、ID(メアド)とパスワードの一致をもって、認証OKとしています。
その後、各ページでは何をもって認証OKとすれば良いのでしょうか?

入門書では、
1.ログイン時に、各ユーザー情報をセッションに保持し、各ページでは、それがあれば認証OKとする。
2.ログイン時に、暗号化した認証キーを作成してセッションに保持し、各ページで再度、認証キーを作成し、セッションの認証キーと照会する。
3.ログイン時に、セッションID(session_id())をセッションに保持し、各ページでは、そのページでのsession_id()と照会する。

などの方法を確認しました。個人的には、1の方法で足りると思うのですが、2や3の方法のほうがセキュリティーは高まるのでしょうか?
0887nobodyさん2012/02/23(木) 12:26:00.63ID:???
ログインフラグだけで十分
08888772012/02/23(木) 13:56:23.63ID:QQ9YytJp
>>878
パスは間違ってないようです パーミッションもちゃんと644になってます
直接関わるwarning・noticeは出ていないようです

情報が少なすぎるとのことなので問題の背景を説明します

レンタルサーバでXOOPSを使いサイトを運用しています
ある日すべてのページが500 Internal Server Errorになるようになりました
"php_flag magic_quotes_gpc Off"とだけ書かれたXOOPS_ROOT_PATH/.htaccessがあったのでこれを削除したところ、
だいたいのページは元通り見られるようになりました

しかし、管理メニューの互換モジュールで
Fatal error: Class 'Legacy_ActionFrame' not found in XOOPS_ROOT_PATH/modules/legacy/admin/index.php
とエラーが発生します
該当する.phpファイルではそのクラスを定義しているXOOPS_ROOT_PATH/modules/legacy/class/ActionFrame.class.phpをrequire_onceしているようなので、
このファイルにでたらめな文字列を書き足してSyntax errorを期待したのですが結果は変わりませんでした
また、require_onceの下にvar_dump(get_included_files());を書き足しても、このファイルは含まれていませんでした
以上にもかかわらず、require_onceの戻り値は1( != FALSE)でした

どうすればこのファイルはrequire_onceで読み込まれるようになるでしょうか?
よろしくお願いします
0889nobodyさん2012/02/23(木) 14:11:01.61ID:???
>>886
どんな入門書読んだのか知らんが、2と3は明らかにおかしなこと言ってるぞ。
もう一回しっかり読め。
セッションとクッキーは別物だということを頭に置いてな。
0890nobodyさん2012/02/23(木) 15:06:37.39ID:pOv6kBFH
smp.tsv
あああ\\t2012.01.23\\tききき\\n
いいい\\t2012.01.23\\tくくく\\n
ううう\\t2012.01.23\\tけけけ\\n
えええ\\t2012.01.22\\tこここ\\n
おおお\\t2012.01.22\\tさささ\\n
かかか\\t2012.01.21\\tししし\\n

今日 = 3
昨日 = 2
一昨日 = 1

このような値を取り出したい場合はどのような手順になるのでしょうか?
よろしくおねがいします。
08918862012/02/23(木) 15:11:52.08ID:AL17q7mx
>>887 889 レスありがとうございます。
3.のコードです。関数化されてます。
これは間違いなのでしょうか?

<?php
##### セッションの開始
function session_idset() {
  session_start();
  $_SESSION['auth'] = session_id();
}

##### セッションのチェック
function session_check() {
  session_start();
  $rtn = TRUE;
  if($_SESSION['auth'] != session_id()) {
    $rtn = FALSE;
  }
  return $rtn;
}
?>
08928862012/02/23(木) 15:23:33.04ID:AL17q7mx
2.のコードです。これもおかしいですか?

//セッションの開始
$_SESSION['login_id'] = $_POST['login_id'] ;
$_SESSION['auth'] = md5($salt . $_POST['login_id']) ;

//セッションの確認
function auth() {
  global $salt;
  if (md5($salt . $_SESSION['login_id']) == $_SESSION['auth'] ) {
    return TRUE;
  } else {
    return FALSE;
  }
}
0893nobodyさん2012/02/23(木) 16:00:34.17ID:???
1〜3は比較する情報が違うだけでやってること同じじゃん
0894nobodyさん2012/02/23(木) 16:26:52.69ID:???
おかしいというか、扉に同じ鍵で開く鍵穴が2つあるみたいなもん。
やるんであれば、例えば、ランダム文字列を生成してクッキーに保存
その文字列をハッシュかけてセッションに保存
確認のときはクッキーのデータにハッシュかけたものとセッションのデータが一致するか
ってやればセッションハイジャックに対して少しは強くなりそう。
0895nobodyさん2012/02/23(木) 16:36:47.58ID:???
>>891
本当にその入門書がその通りに書いているなら今すぐ燃やして他の本から学ぶべきだな

>>894
効果のないものを初心者に教えるな
0896nobodyさん2012/02/23(木) 16:40:30.49ID:???
>>888
requireでは読み込めるってこと?
08978942012/02/23(木) 17:08:07.42ID:???
>>895
何で効果がないのか教えてくれ
0898nobodyさん2012/02/23(木) 17:22:52.85ID:???
>>897
もしかして、セッションファイルを一般ユーザが見られる場所に
保存するシステムを前提に、ローカルユーザからの攻撃対策の話をしてる?
それだと、サーバの設定を見直した方がいいような……
0899nobodyさん2012/02/23(木) 17:29:45.68ID:???
>>897
sidについて触れない時点でハイジャックには何の効果もないんじゃないの?それ
0900nobodyさん2012/02/23(木) 17:31:23.55ID:sgcZLa3B
>>899
セッション固定攻撃に対しては効果があると思うけど。
0901nobodyさん2012/02/23(木) 17:38:14.99ID:???
何で効果があるのか教えてくれ
0902nobodyさん2012/02/23(木) 17:39:09.99ID:???
>>890
一行読んで、\tで分けて、二つ目の要素の日付調べて、該当する日のカウント増やす
09038862012/02/23(木) 17:59:29.91ID:+MEbH08X
1.のコードです。遅れてすみません。
やはり、このシンプルなコードが妥当なのでしょうか?

//$rowにDB取得データ代入済み
// ログイン情報を記録
$_SESSION["login"] = array("user_id" => $row["user_id"]," login_time" => time())

// ログインしているかどうか調べる関数
function is_logined() {
   return isset($_SESSION["login"]);
}
0904nobodyさん2012/02/23(木) 18:09:26.05ID:???
>>890
fgetcsv
array_count_values
09058942012/02/23(木) 18:21:05.98ID:???
>>898
仮にセッションIDが漏れた場合とか想定してるんだけど。
セッションIDだけじゃなくて、発行時のクライアントのチェックとして有効じゃない?
886の対案として出してるだけだから、ベストの方法とは思わんけど。

>>899
論点がぜんぜん違う
0906nobodyさん2012/02/23(木) 18:24:58.57ID:pOv6kBFH
$lines = file($tsv);
for($i = 0; $i < count($lines); $i++){
list(,$day,,)=explode("\t",$lines[$i]);
$today = date("Y.m.d");
$match_tday = preg_match("/$today/",$day);
}

今一歩前へ進めません。次のヒントお願いします。
0907nobodyさん2012/02/23(木) 18:41:27.89ID:???
PHPSESSID決め打ちでそれだけが盗まれたら〜ってこと?
0908nobodyさん2012/02/23(木) 18:42:59.47ID:???
>>900
session_regenerate_id(true)で済む話だろJK…
0909nobodyさん2012/02/23(木) 18:49:26.85ID:???
>>906
$lines = file($tsv);
for($i = 0; $i < count($lines); $i++){
list(,$days[],,)=str_getcsv($lines[$i],"\t");
}
print_r(array_count_values($days));
09108772012/02/23(木) 20:38:51.67ID:QQ9YytJp
>>896
試してみました
requireに書き換えると、多少崩れたページが表示され、
Fatal errorではなくなりました
0911nobodyさん2012/02/23(木) 20:40:13.32ID:???
session_registerって使っちゃまずいらしいけど
じゃあ代わりに何を使えばいいの?
0912nobodyさん2012/02/23(木) 20:54:09.81ID:???
>>911
非推奨なのを知ってるということは
マニュアルを途中まで読んだな?
もっと下まで読めば書いてあるだろw
0913nobodyさん2012/02/23(木) 20:57:03.04ID:???
最近は、ID出さなくても答えて貰える様になったのか。
これがゆとりか。
0914nobodyさん2012/02/23(木) 21:00:17.68ID:???
回答しない自治気取り君お疲れ様です。
俺、アンタみたいな人嫌いですw
0915nobodyさん2012/02/23(木) 21:10:37.40ID:???
お前が言うな
0916nobodyさん2012/02/23(木) 21:44:28.17ID:P+2F5uLF
正規表現で既に取得しているものは取らない方法はありますか?

<?php
$data=
ABCDABCD;
$match='/A|B/';
preg_match_all($match, $data, $matches[0]);
print_r($matches[0]);
?>

結果
Array ( [0] => Array ( [0] => A [1] => B [2] => A [3] => B ) )

これを、AとBをそれぞれ一つだけ取得したいです。 1回取得したものと同一のものは取得しない方法はありませんか?
preg_matchを2回使うと一応できるのですが、それだと

結果
Array ( [0] => A )
Array ( [0] => B )

このようにそれぞれ別になってしまいます。
何かやり方はないでしょうか?
0917nobodyさん2012/02/23(木) 22:13:07.95ID:???
print_r(array_keys(array_flip($matches[0][0])));

print_r(array_unique($matches[0][0]));
0918nobodyさん2012/02/23(木) 22:28:16.08ID:???
>>913
主気取り乙。ずっとこんなところにばかりいないで他いくといいとおもう
0919nobodyさん2012/02/23(木) 22:44:37.14ID:???
自己紹介おつ
0920nobodyさん2012/02/23(木) 22:48:53.56ID:???
>>866です。レスありがとうございました。
>>894さんの「おかしいというか、扉に同じ鍵で開く鍵穴が2つあるみたいなもん」
というご指摘で、2.3.のおかしな点がよく理解できました。

ランダム文字列クッキーを認証に利用する方法は、自分も考えたのですが、
XSSでJSによりクッキーを盗まれる場合には、セッションクッキーとともに
そのランダムクッキーも盗まれるので効果が無いと思いました。
また、セッション固定化攻撃には、>>908 さんのいうsession_regenerate_id(true)が
適切だと考えます。それとともに、php.ini、.htaccessでセッション付きリンクを
使用不可にするのがよいのかなと。
0921nobodyさん2012/02/23(木) 22:51:08.67ID:???
>>920
スレのルールは守ろうな
09228862012/02/23(木) 23:14:53.15ID:NC9JkONA
>>921 失礼しました。>>920 は886です。
0923nobodyさん2012/02/23(木) 23:58:21.36ID:P+2F5uLF
>>917ありがとうございます、できました。
0924nobodyさん2012/02/24(金) 00:05:55.32ID:???
ルール厨うぜー
0925nobodyさん2012/02/24(金) 00:12:55.29ID:???
>>924
スレのルールは守ろうな
0926nobodyさん2012/02/24(金) 00:25:39.45ID:???
おまえがいうな
0927nobodyさん2012/02/24(金) 07:08:08.38ID:???
守ってるじゃん
0928nobodyさん2012/02/24(金) 08:26:18.43ID:???
>>894
それ意味ないじゃん
ハッシュ化したところでクライアントの情報(そのハッシュ化したランダムな文字列)が盗まれれば意味がない
あとその処理自体にセッションハイジャックに強くなる要素が見当たらない

サーバ側でセッションハイジャックされないような対策を考える場合XSSだけに気をつければいい
結局ハイジャックされるかどうかはクライアント側の行動次第
リンクにセッション情報を含めないほうがいいのはクライアント側の行動次第では漏れる可能性が高いから
クライアント側がそれなりの知識を持ってるならリンクにセッション情報を含めても問題ない
0929nobodyさん2012/02/24(金) 08:36:25.74ID:???
>>873
自己解決しますた。
telnetじゃムリでした。
<? phpinfo(); ?>がスルーされたのがそもそもの発端だったんだけど、5.3.8と5.2.13ではshort_open_tagが違うんですね。
pukiwikiとかwordpressって律儀に<?php 〜 ?>ってやってるのかな?
09308942012/02/24(金) 09:27:38.22ID:???
>>928
前半の
>>ハッシュ化したところでクライアントの情報(そのハッシュ化したランダムな文字列)が盗まれれば意味がない
に関しては同意だけど、セッションIDとクライアントの情報を合わせて
盗まれなければ意味があるじゃん。
セッションIDだけ盗まれるってケースは意外とあると思うぞ。
>>920の言うようにクッキーまるごと盗まれたらしょうがないけど。

後半は同意できない。
0931nobodyさん2012/02/24(金) 09:38:18.08ID:???
実質的にセッションIDが漏れるってことはクッキーが漏れることと同義だろ
どこの実装もほぼ100%クッキーでやってるんだから
0932nobodyさん2012/02/24(金) 10:29:02.94ID:BAbDqRA5
eclipse3.7のphpで開発しているのですが、CVSからファイルを持ってきた時に文字化けをしてしまいます。
その為、使用するファイル(Sfit-JIS)を一つずつ選択し、プロパティーから文字化けしないUTF-8に変換しているのですが、
一括ですべてUTF-8にする方法はあるのでしょうか。
使用するフォルダ選択⇒プロパティー⇒リソース⇒テキスト・ファイルのエンコードから修正しても
だめでした。
0933nobodyさん2012/02/24(金) 11:10:06.07ID:???
>>930
それ同じこと思った。
なんでクッキーとセッションが別腹的な考え方なんだろ。
素人の俺にはわからん。
TLSかけるなりしてクライアントとPCの通信の盗聴防がなきゃ意味ない気が。
0934nobodyさん2012/02/24(金) 11:18:03.05ID:???
最新式の複雑な鍵を使ったとしても、
鍵盗まれたら困るってことの対策にはならんもんね。
09358772012/02/24(金) 12:51:09.28ID:i01HfJfE
>>877,888,910です
解決策ありませんか?
0936nobodyさん2012/02/24(金) 14:00:59.55ID:???
>>935
requireで読めたんならそれでいいだろ
2回以上読み込むファイルをrequire_onceで読み込むのがおかしい
0937nobodyさん2012/02/24(金) 17:03:51.32ID:???
>>932
>使用するフォルダ選択⇒プロパティー⇒リソース⇒テキスト・ファイルのエンコードから修正しても
だめでした。
それエクリプスの設定をUTFにしてるだけだし…

PHPでそのPHPファイルをfile_get_contentsで読み込んでエンコード変えて同じファイルに書き出すくらいじゃね?
0938nobodyさん2012/02/24(金) 18:34:59.75ID:???
0939nobodyさん2012/02/24(金) 20:44:15.85ID:???
>>929
毎回<?php って書いてるよ。
<?= とか便利かもって思ったこともあったけど、それが便利だと思える場面に遭遇しなくなった
0940nobodyさん2012/02/24(金) 20:51:14.32ID:???
コードアシストで解決
0941nobodyさん2012/02/24(金) 22:22:57.58ID:???
>>932
nkf使うとか。
0942nobodyさん2012/02/24(金) 23:20:35.88ID:???
$file_name="p/1.html"となってる時、
p/の部分だけを取り除いて、
$file_name2="1.html"とすることはphpでは可能ですか?
0943nobodyさん2012/02/24(金) 23:23:49.74ID:gMrEIIb2
$file_name="p/1.html"となってる時、
p/の部分だけを取り除いて、
$file_name2="1.html"とすることはphpでは可能ですか?


すいません、上げてました。
0944nobodyさん2012/02/24(金) 23:34:42.08ID:???
>>943
basename()がある
0945nobodyさん2012/02/24(金) 23:34:43.65ID:???
実際はディレクトリをのぞいてファイル名だけにしたいとかなんだろうけど
そんな質問の仕方だと
substrで三文字目以降を切り出せとか
p/を空文字に置き換えろとかいう答えが返ってくるぞ
09468772012/02/24(金) 23:48:54.24ID:i01HfJfE
>>936
requireで読むとFatal errorはなくなりますが、ページの表示が正常ではありません
2回以上読まれるかどうかは未検証ですが、
require_onceの前後のどちらでも、get_included_files()に該当するファイルが含まれないのは問題だと思います
0947nobodyさん2012/02/24(金) 23:51:09.90ID:kLSGsgF4
phpから現在動いているmtaが何か取得する方法ってありますか?
sendmailか否かさえ分かればいいのですが。
0948nobodyさん2012/02/24(金) 23:54:48.93ID:gMrEIIb2
>>944
ありがとうございました。
>>945
そうです、ディレクトリ名だけとっぱらいたかったんです。
なんか、適当に作ってたら、mysqlに入れた値が"p/1234.html"
となっていたんです。これはこれで表示されないデータなら
扱いやすいのですが、表示されるデータにディレクトリ名って
欲しいのか?という疑問にぶつかりました。basename()って便利な
関数ですね。
0949nobodyさん2012/02/25(土) 00:21:03.84ID:???
>>946
requireで読めて、require_onceで読めないファイルがあるってことだよね。
それがわかっているなら後は何が原因なのか、どんどんコードを削っていけばたどり着くと思うんだけど
0950nobodyさん2012/02/25(土) 00:55:13.78ID:???
>>947
Linuxなら、exec関数で "ps ax | grep sendmail" を実行して、その出力をチェックする
0951nobodyさん2012/02/25(土) 01:14:42.48ID:a/GXX7hd
メールを連続で送信する場合、マニュアルには、

>mail() 関数は、大量のメールをループ内で送信するには 向いていないことに注意しましょう。
>この関数は 1 通のメールを送信するたびに SMTP ソケットをいったん閉じて開きなおします。これは非効率的です。
>大量のメールを送信する場合は、 ≫ PEAR::Mail および ≫ PEAR::Mail_Queue パッケージを参照ください。

と記述してありますが、PEARを使いたくない場合、
ソケット関数で自分でSMTP処理を書くしか無いですよね?
0952nobodyさん2012/02/25(土) 02:43:21.75ID:???
実現できる方法でどうぞ。
「しか無い」ってのはよほどのことが無い限り無いと思ったほうが。
0953nobodyさん2012/02/25(土) 02:47:59.67ID:???
PEAR::Mail および PEAR::Mail_Queue で必要な箇所を参考・コピペする。
0954nobodyさん2012/02/25(土) 18:02:10.27ID:???
>>912
session_register()使う代わりに
$_SESSION に値をぶっこむのね
ありがとう!
0955nobodyさん2012/02/25(土) 18:56:47.63ID:1lZdYX8R
たとえばですが、
wire.jpというサイトがあります。
内容的には好きなんですが、相当重いサイトです。
こういったPHPで作られたサイトのパフォーマンスを
上げるためにはどうしたらよろしいでしょうか?
0956nobodyさん2012/02/25(土) 19:08:41.43ID:???
キャッシュでも作れば?
0957nobodyさん2012/02/25(土) 19:09:58.04ID:r6BFdbus
RSSからforeachで値を取得したのですが、それをループの外で一つの変数として扱いたいのですが、どうしたらいいでしょうか?

<?php
$array=array(1,2,3,4,5,);
foreach ($array as $value) {
$a=$value;
}
echo $a;
?>

例えばこのようにすると、当たり前ですが結果はループで上書きされて5と表示されます。
foreachで取得したものを一つの変数に入れることは出来ませんか?
0958nobodyさん2012/02/25(土) 19:25:22.22ID:???
>>957
よく分からんけど仮に3つ目の値が取りたいなら
echo $array[2];
0959nobodyさん2012/02/25(土) 19:53:18.83ID:???
>>957

print_r($array);
して表示結果を見てみなはれ

その上で$array[x] ←xのところに対応した数字をいれる。
で出てくる。
0960nobodyさん2012/02/25(土) 20:48:35.56ID:???
$a=$value;を $a[] = $value;
0961nobodyさん2012/02/25(土) 21:26:32.82ID:r6BFdbus
>>960ありがとうございます。
0962nobodyさん2012/02/26(日) 00:47:29.55ID:???
いいってことよ
0963nobodyさん2012/02/26(日) 00:48:27.77ID:???
ほい
0964nobodyさん2012/02/26(日) 00:52:26.79ID:nCX4lbdW
>>956
キャッシュとはどのようなキャッシュですか?
0965nobodyさん2012/02/26(日) 01:35:13.43ID:nCX4lbdW
キャッシュとは言語レベルのサポートですか?

wire.jpはWordPressみたいですから
WP Super Cacheプラグインみたいなプログラムレベルの
キャッシュのことを意味していますか?
0966nobodyさん2012/02/26(日) 01:42:08.72ID:???
( >д<)、;'.・ キャッシュン
0967nobodyさん2012/02/26(日) 01:47:59.96ID:nCX4lbdW
>>956
例としてあげてwired.jpはW3 Total Cacheが入っているようです。
それでも遅い場合はどうしたらよろしいのでしょうか?
0968nobodyさん2012/02/26(日) 01:48:34.31ID:???
>>966
bless you
0969nobodyさん2012/02/26(日) 01:53:36.51ID:???
Thank you!
0970nobodyさん2012/02/26(日) 01:58:30.12ID:???
phpでデータベースを扱うには、何かと方法がありますが
エクセルのシートで外部参照するみたいに、この列はこっちの
データベースから引っ張って、この列はこっちから
というように複数のデータベースから情報を引っ張って
統合して表示、または登録変更をするためには、どんな
方法を使うのが最も適しているのでしょうか?
0971nobodyさん2012/02/26(日) 02:07:02.73ID:???
>>967
オーバークロックしかないな
0972nobodyさん2012/02/26(日) 02:16:44.23ID:oisclph1
質問させてください。
自動返信メールの内容に値を持たせたいんですが
値の入っていないものは表示させないようにしたいです。

<?php
$MESSAGE = "
注文がありました。

商品    個数
[[りんご]]  [[1]]
[[みかん]]  [[0]]
[[ぶどう]]  [[3]]
";?>

実行すると

りんご1個
ーー(みかんの注文が0なので表示されず空白だけできてしまう)ーー
ぶどう3個

というメールが来てしまうで、みかんの部分を上に詰めさせたいです。

メールが来る仕組みなどは人がしたものなのでよく分かってません。
よろしくお願いします。
0973nobodyさん2012/02/26(日) 03:04:07.86ID:???
>>972
$cart=array("りんご"=>"1","みかん"=>"0","ぶどう"=>"3")

$MESSAGE = "注文がありました。\n\n商品    個数\n"
foreach($cart as $key => $val){
  if ($val>0){                          //$valが0以下の時は処理しない
    $MESSAGE.="[[$key]] [[$val]] \n"
  }
}

備考 POST情報はクライアント側で詐称できるので 値段を表示させる場合はPOSTさせないでDBに取りに行ったほうがいいと思うよ
0974nobodyさん2012/02/26(日) 03:34:02.05ID:oyzRHeH9
俺は自分でも結構オブジェクト指向イケてるんじゃないかと思ってたんだが、
今日クラスを作成していたときにクラス名に悩んで、
候補のものをググってたら、C#の同名のクラスが出てきたんだ。
どんなメソッドがあるのかな?とチラっとみてみたら、
俺がクラスに含める予定だった処理が別クラスで処理されていた。
徹底的に細かくオブジェクトを分けていることに俺はショックを受けて絶望した。
これが本当のオブジェクト指向なのかと。
自信が一気になくなった俺はこれからやっていけるでしょうか?
0975nobodyさん2012/02/26(日) 04:34:33.44ID:???
細かく分けることがオブジェクト指向・・・?
0976sage2012/02/26(日) 09:48:27.16ID:???
>>974
そもそも論として
phpでオブジェクト指向実装は後付けの中途半端だし、
最適化されていないのでパフォーマンス悪いよ。

それだったらJava、C#みたいな強制的オブジェクト指向言語で
勉強して方がいい。他の言語で役に立つから。
0977sage2012/02/26(日) 09:49:49.71ID:???
>>975
PHPerから見ると、
オブジェクト指向言語のクラス設計はすべてが細かく見えるかと。
0978nobodyさん2012/02/26(日) 10:03:42.64ID:???
他の言語って、これからいくつ覚えるつもりだよ
一生勉強ってかw
0979sage2012/02/26(日) 10:15:37.18ID:???
>>978
これからもphpオンリー?
スマホアプリとか大丈夫?

サーバーサイドオンリーの人だとしても、
phpだけだったら守備範囲が狭くならないかい?

たとえばfacebookみたいに

phpで作りました。

でもユーザー増えて負荷に耐えられなくなりました。

基幹をC++やJavaに切り替えました。

というケースは無いの?
0980nobodyさん2012/02/26(日) 10:22:20.60ID:???
>>977
そこが本質じゃないのにね
0981nobodyさん2012/02/26(日) 10:29:56.54ID:???
一生勉強って当たり前だろ
0982nobodyさん2012/02/26(日) 10:34:22.17ID:???
いや本質だろ。
継承や再利用を考えると重要。

それより次スレ
0983sage2012/02/26(日) 10:38:06.83ID:???
そもそも論として、
細かく設計するとPHPの場合すぐパフォーマンスが悪くなる。
いずれにしてもPHPのオブジェクト指向は中途半端で使いにくい。
0984nobodyさん2012/02/26(日) 10:39:22.25ID:???
例えばチャットクラスで
書き込みを行うwriteというメソッドがあったとする

PHPerの場合
ここに渡す引数はString型の$messageである

C#erの場合
ここに渡す引数は別クラスで作成したメッセージオブジェクトである
0985nobodyさん2012/02/26(日) 11:12:49.13ID:yp5CCX+k
メールアドレスの「@」より前を取得したいんですけど、自分では
$tmp = explode('@', $email);
$name = $tmp[0];
という書き方しか思い浮かびません。
もっと簡単にできる方法があれば教えて頂きたいです。
0986nobodyさん2012/02/26(日) 11:18:26.38ID:???
echo substr($email, 0, strpos($email, "@"));
複数行になるのが簡単ではないと考えてるなら考えを改めるべし
0987nobodyさん2012/02/26(日) 11:28:57.23ID:???
四年前の爺さんの背広からメガビックボーイが出てきたんだが
一生現役ってことを考えると一生勉強くらい普通だと思った。
0988nobodyさん2012/02/26(日) 11:31:05.44ID:???
preg_replace("/(?=@).*/","",$mail);
とか

explodeでいいと思うけどな
0989nobodyさん2012/02/26(日) 11:34:48.98ID:???
replaceだと元データのメアド使えなくなるやん
0990sage2012/02/26(日) 11:35:02.59ID:???
勉強したくないなら
なぜ潰しが効かない、汎用性が低いphpなのか不思議。
汎用性が高い言語選べばよかったのに。
0991nobodyさん2012/02/26(日) 11:39:39.13ID:???
どの言語でもできることとできないことがある
1つの言語習得すれば金輪際勉強せずに済む言語なんて皆無
0992nobodyさん2012/02/26(日) 11:46:01.70ID:???
>>980
>>1
0993nobodyさん2012/02/26(日) 11:49:03.94ID:???
しょうがないから建ててくるか
0994nobodyさん2012/02/26(日) 11:52:02.39ID:???
http://kohada.2ch.net/test/read.cgi/php/1330224598/
0995nobodyさん2012/02/26(日) 11:56:49.85ID:yp5CCX+k
>>986
ありがとうございます。助かりました。
複数行というより、わざわざ配列にするのが気持ち悪くて…。
0996sage2012/02/26(日) 12:01:13.12ID:???
>>974
phpのオブジェクト指向はなんちゃってレベルだから。
他の言語ではphpの経験は生かせないよ。
0997nobodyさん2012/02/26(日) 12:03:36.76ID:???
そいういうこと書いてるようじゃ
大してオブジェクト指向の考えというのを理解できてないな
0998nobodyさん2012/02/26(日) 12:08:49.02ID:???
>>996
>phpのオブジェクト指向
どれだけあほなこと言ってるかわかるか?もっと勉強しろ。
0999sage2012/02/26(日) 12:24:07.98ID:???
phpのオブジェクト指向機能の実装
1000sage2012/02/26(日) 12:25:05.67ID:???
PHPer、ダメポ。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。