1 名前:nobodyさん mailto:sage [2012/01/20(金) 05:43:23.62 ID:???] 質問者はまず>>1 を良く読むこと(必須!) 過去スレ、関連スレ、FAQなどは>>2-10 辺り 次スレは>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。 ◆前スレ 【PHP】下らねぇ質問はID出して書き込みやがれ 114 kohada.2ch.net/test/read.cgi/php/1325437405/ ◆質問用テンプレ 【OS名】CentOS 【PHPのバージョン】5.3 【連携ソフトウェア】MySQL ImageMagick 【質問内容】 ◆質問する時の注意 ・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す) ・ 己の行った操作、変更などを詳しく明記すること。 ・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。 ・ 質問者として、態度をわきまえること。 ・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。 (PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。) ◆質問後の注意 ・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。 ・解決しなくても回答をもらった場合はお礼を言うこと。 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。) ◆回答者への注意 ・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。 【その他諸注意】 ・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
416 名前:nobodyさん mailto:sage [2012/02/06(月) 00:36:16.14 ID:???] ちょっと古いauがなー
417 名前:nobodyさん [2012/02/06(月) 00:37:45.04 ID:O5qz7xhM] >>416 どのくらい古いとアウトですか?
418 名前:nobodyさん mailto:sage [2012/02/06(月) 01:00:04.26 ID:???] ちょっと古い symple.jp/113.html
419 名前:nobodyさん [2012/02/06(月) 01:06:28.25 ID:O5qz7xhM] >>418 ありがとうございます。 よくわかってないんですが、最初からwordpress使えば スマホ、携帯サイトも簡単にできちゃうんですかねえ?
420 名前:nobodyさん [2012/02/06(月) 02:39:19.20 ID:poXN+WMF] PHPを実行しているサーバーがMacか、環境変数などから自動的に判断するいい方法ってありますか? Windowsは分かりやすいんですが、macとlinuxの切り分けが難しい。
421 名前:nobodyさん mailto:sage [2012/02/06(月) 02:41:27.00 ID:???] >>420 php.net/manual/ja/function.php-uname.php
422 名前:nobodyさん [2012/02/06(月) 22:53:18.01 ID:C3dZcj35] 最近PHP始めたんですが、Smartyってフレームワークはマニアックなんでしょうか?
423 名前:nobodyさん mailto:sage [2012/02/06(月) 23:13:44.85 ID:???] 質問にならない質問はご遠慮下さい
424 名前:nobodyさん mailto:sage [2012/02/07(火) 01:32:37.59 ID:???] >>422 まじめ話アブノーマルだと個人的には思う デザイナーとの仕事が分担できてない環境下だと 結局プログラマがHTMLに仕込んだりしてただただしんどいだけ
425 名前:nobodyさん mailto:sage [2012/02/07(火) 03:38:23.51 ID:???] フレームワークじゃないよって突っ込むところじゃないのか?
426 名前:nobodyさん mailto:sage [2012/02/07(火) 13:10:03.09 ID:???] 【OS名】CentOS 【PHPのバージョン】6.0 【連携ソフトウェア】MySQL 【質問内容】 PHPからselect * INTO OUTFILE を行うと文字化けしてしまいます。 DBもスクリプトもUTF8で統一しているのですが、どのあたりから調査すればいいのか検討がつきません。 文字化け解消についてアドバイスいただけないでしょうか。
427 名前:nobodyさん mailto:sage [2012/02/07(火) 21:05:42.57 ID:???] >>426 >>1
428 名前:nobodyさん mailto:sage [2012/02/07(火) 23:02:38.45 ID:???] >>426 コンソール立ち上げて直接入れろそれ位
429 名前:nobodyさん [2012/02/07(火) 23:53:37.99 ID:+mH02aFr] >>424 デザイナーさんとの仕事分担ってどんな感じなんですか? 現状、デザイナーさんがデザインして、ファイルをもらい、 自分がそこにPHPのコードを埋め込んでいく感じですが、 普通の現場だとどうしてるんですかね。
430 名前:nobodyさん mailto:sage [2012/02/08(水) 01:08:26.67 ID:???] ようするにテンプレートが何かという質問だろそれ smartyスレにでもいけよ
431 名前:nobodyさん mailto:sage [2012/02/08(水) 02:44:51.80 ID:???] スクリプト使えないデザイナーってなに?絵描きさんみたいなもんか
432 名前: 忍法帖【Lv=9,xxxP】 mailto:sage [2012/02/08(水) 03:13:14.01 ID:???] readfile()でダウンロードさせたいんですが うまくダウンロードするウィンドウがでるときと readfile()で読み込んだファイルの内容が出力されるときがあります どうしてこのようになるのかわかりません 説明不足だと思いますがエスパーの方いたらお願いします
433 名前:nobodyさん mailto:sage [2012/02/08(水) 03:58:08.72 ID:???] gzipだから
434 名前:nobodyさん mailto:sage [2012/02/08(水) 03:59:26.28 ID:???] >>432 header('Content-Type: application/octet-stream');
435 名前:nobodyさん [2012/02/08(水) 10:22:32.40 ID:3EF2N74K] クッキーについてお尋ねします。 setcookie("TestCookie", "something", time()+3600); で、クッキーをセットしているのですが、firefoxのアドオン View Cookies1.10.3 で見ると Expires が Session になっています。ブラウザを閉じると全部消えます。 どんな間違いが考えられますか?
436 名前:435 [2012/02/08(水) 10:26:44.75 ID:3EF2N74K] セッションスタートすると、そちらで上書きされてしまうってこともありますか?
437 名前:435 [2012/02/08(水) 10:30:54.77 ID:3EF2N74K] すみません、解決しました。 ブラウザの設定の問題でした。
438 名前:nobodyさん [2012/02/08(水) 16:44:06.52 ID:vfdEsjRW] Smartyスレが見当たらない(消えた?)のでこちらで・・・ Smartyで外部ファイルを読み込む場合、テンプレートとして読み込む(include等)と 変数割り当て等の解析が必要ない場合でもコンパイルされて、 外部ファイルが(別プログラムによって)変更された場合などには、再コンパイルするコードが必要になってしまいます。 Smarty内でこれを解決する(解析不要でただ読み込む)ことって可能でしょうか。 単純にPHPスクリプトで読み込んで変数に割り当てる方法でも対応できますが、 Smarty内からの関数呼び出しで他のテンプレートと同じように扱えればと思いまして・・
439 名前:nobodyさん [2012/02/08(水) 17:59:23.48 ID:2t5iqwD7] マルチタスク(スレッド)の勉強をしているのですが、 curl系の関数を使う方法しかないんですかね? curlだとURL指定で並列実行になりますが、 URLから実行せず、絶対パスで指定できたらと思っています。 curl以外の方法かライブラリがあれば教えてください。
440 名前:439 [2012/02/08(水) 18:24:02.84 ID:2t5iqwD7] 自己レスです。fsockopen使う方法で出来ました。 簡単なので、こちらの方法で行きます。
441 名前:nobodyさん mailto:sage [2012/02/08(水) 18:54:52.14 ID:???] PHPでマルチスレッドの話になるとすぐcurlってなってるけど、 平行してWebリソースにアクセスすることとマルチスレッドが同義であるという理解が広まってんのかな
442 名前:nobodyさん mailto:sage [2012/02/08(水) 19:06:03.75 ID:???] >>438 fetch
443 名前:nobodyさん mailto:sage [2012/02/08(水) 20:27:56.40 ID:???] >>441 じゃ、どうするのが良いの?
444 名前:nobodyさん mailto:sage [2012/02/08(水) 20:54:21.52 ID:???] >>443 何をするのに?
445 名前:nobodyさん mailto:sage [2012/02/08(水) 20:59:17.10 ID:???] >>444 いや、マルチスレッドの話だろ?
446 名前:nobodyさん mailto:sage [2012/02/08(水) 21:04:25.70 ID:???] アスペ注意
447 名前:nobodyさん mailto:sage [2012/02/08(水) 21:22:54.15 ID:???] アスペの意味を分かってないかわいそうな奴
448 名前:nobodyさん mailto:sage [2012/02/08(水) 21:29:29.38 ID:???] お前のことなんて分かりたくもないよw
449 名前:nobodyさん mailto:sage [2012/02/08(水) 21:33:05.09 ID:???] >>448 アスペ乙w
450 名前:nobodyさん [2012/02/08(水) 22:12:19.41 ID:skUmVjLK] >>444 こええ。わざとだよね?
451 名前:nobodyさん mailto:sage [2012/02/08(水) 22:48:45.68 ID:???] 前も誰かが言ってただろ PHPはマルチスレッドに対応していない curlで出来るのはマルチスレッドモドキだって
452 名前:nobodyさん mailto:sage [2012/02/08(水) 22:51:01.40 ID:???] マルチスレッドキモイに見えた
453 名前:nobodyさん mailto:sage [2012/02/08(水) 23:44:16.03 ID:???] マルチタスクとマルチスレッドを混同する人、多いね。
454 名前:nobodyさん mailto:sage [2012/02/09(木) 01:41:30.50 ID:???] 多い? 混同してるのは質問者だけじゃん
455 名前:nobodyさん mailto:sage [2012/02/09(木) 02:47:23.28 ID:???] ググったら混同している人が多いから、=多いという解釈でも良いと思う
456 名前:nobodyさん mailto:sage [2012/02/09(木) 02:54:23.71 ID:???] >>445 ,450 ん?並列処理を行うことが目的なの? 目的によって手段を変えるのは当たり前なんだから>>444 は別におかしくないだろ
457 名前:nobodyさん mailto:sage [2012/02/09(木) 02:56:55.02 ID:???] >>441 が言っている 「並列処理=並列してWebリソースにアクセスすること」 って考えしかないからそうなるのかな。 それが目的ならcurlでいいんじゃね、とは思うけれど。
458 名前:438 [2012/02/09(木) 09:29:47.73 ID:vkcl0tGl] >>442 ありがとうございます。万事うまくいきましたー
459 名前:nobodyさん [2012/02/09(木) 10:48:15.39 ID:/qdirMi/] PHPerの常識 マルチタスク=マルチスレッド
460 名前:nobodyさん [2012/02/09(木) 11:01:18.23 ID: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
461 名前:nobodyさん mailto:sage [2012/02/09(木) 11:16:27.50 ID:???] $a = NULL; $a['host'] = NULL; で、上の行は意味が無いし、 $a = parse_url("www.google.com"); で上の2行が意味なしになるのですが、分かります?
462 名前:460 mailto:sage [2012/02/09(木) 11:19:34.68 ID:???] >>461 はい。値が上書きされてしまうので意味なしになるだろうとは思いました。 こういう場合、一般的にどう対応されているのかなー と思いまして。
463 名前:nobodyさん mailto:sage [2012/02/09(木) 11:26:51.20 ID:???] isset( $a['host'] ) でチェックかな。 あと、そもそものNotice: が出るのは、 parse_urlの仕様では、'host'が必ず含まれるわけではないからだね。 初期化の話じゃないのよ。 php.net/manual/ja/function.parse-url.php でhostが出るような例をみるといーよ。
464 名前:nobodyさん mailto:sage [2012/02/09(木) 11:48:50.45 ID:???] 本当にくだらない質問なんだけど、皆は <?php の次の行はインデントする派? しない派?
465 名前:460 mailto:sage [2012/02/09(木) 11:56:22.30 ID:???] >>463 回答ありがとうございます。 やはり、怪しい関数は全て割り出してissetでチェックですかねー。 parse_urlでは'host'を使うなら'host'をissetでチェックして セットされているか確認する必要がありそうですね。 上記の例では'path'にwww.google.comが入るみたいですね。
466 名前:nobodyさん [2012/02/09(木) 12:06:12.88 ID:vkcl0tGl] >>462 頻繁にではないけど、もともとの$aを初期値としてセットしといて 関数の戻り値を$aにマージするようなコードを書くことはあるよ。 $a = array('host'=>null); // 初期値 if (($b = parse_url('...')) !== false) { $a = $b + $a; // or $a = array_merge($a, $b); }
467 名前:460 mailto:sage [2012/02/09(木) 12:52:42.76 ID:???] >>466 なるほど。そういう方法もあるわけですね。
468 名前:nobodyさん mailto:sage [2012/02/09(木) 14:13:49.01 ID:???] >>464 しない
469 名前:nobodyさん mailto:sage [2012/02/09(木) 15:55:27.21 ID:???] >>464 したことないなぁ。
470 名前:nobodyさん mailto:sage [2012/02/09(木) 18:16:16.58 ID:???] >>464 俺はしてる。 大した理由なんて無いよ、ただ何となく、見た目の問題。
471 名前:nobodyさん mailto:sage [2012/02/09(木) 19:45:03.31 ID:???] netbeansをデフォルトの設定で使ってるけどしてないな。
472 名前:nobodyさん mailto:sage [2012/02/10(金) 00:34:21.63 ID:???] >>464 してない
473 名前:nobodyさん mailto:sage [2012/02/10(金) 01:21:29.34 ID:???] >>464 ないわー
474 名前:nobodyさん mailto:sage [2012/02/10(金) 01:24:38.27 ID:???] やっぱしないほうが多数なのか。 俺もそうしよう。 回答有難う
475 名前:nobodyさん mailto:sage [2012/02/10(金) 01:31:09.96 ID:???] >>461 そんなことするなら if(empty($a) && isset($a['host'])){ echo $a['host']."\n"; }else{ echo "parse_url is false\n"; } でいいんじゃ?
476 名前:nobodyさん [2012/02/10(金) 12:33:14.85 ID:LrusZM1c] バグがでるのは仕方が無いことだと思うのですが、 バグを最小限に押さえるのに良い方法ってありますか。
477 名前:nobodyさん mailto:sage [2012/02/10(金) 13:33:19.68 ID:???] >>476 書く前によく考える
478 名前:nobodyさん [2012/02/10(金) 14:16:48.87 ID:LrusZM1c] >>477 考えて考えて、 とりあえず書いてみて でも、ゆわれるまで気づきません。
479 名前:nobodyさん mailto:sage [2012/02/10(金) 14:46:01.17 ID:???] >>476 圧縮バッグ
480 名前:nobodyさん mailto:sage [2012/02/10(金) 15:08:52.50 ID:???] 超低レベルの質問で恐縮です。 配列の中身が Array という文字列で出力されてしまうのですが、これはどうしてでしょうか?
481 名前:nobodyさん mailto:sage [2012/02/10(金) 15:09:31.57 ID:???] 中身が配列じゃないの?
482 名前:nobodyさん mailto:sage [2012/02/10(金) 15:30:01.53 ID:???] >>481 そのとおりでした。 ありがとうございます。 m(__)m
483 名前:nobodyさん [2012/02/10(金) 16:29:00.81 ID:LrusZM1c] d.hatena.ne.jp/tt_clown/20111025/ng_programmer 当てはまりすぎるんですが、ヤバイですか?
484 名前:nobodyさん mailto:sage [2012/02/10(金) 17:21:29.90 ID:???] いえ、キミはプログラマではないのでヤバくないです
485 名前:nobodyさん [2012/02/10(金) 18:45:58.39 ID:e8YNZNTF] >>483 プログラマと呼べるレベルじゃないのにほとんど当てはまらなかった
486 名前:nobodyさん mailto:sage [2012/02/10(金) 19:26:49.48 ID:???] >>483 これ面白いな。GJ
487 名前:nobodyさん mailto:sage [2012/02/10(金) 19:30:17.25 ID:???] 逆に、こういうのを経験してこなかったプログラマ使い物にならん気もするけどな。
488 名前:nobodyさん mailto:sage [2012/02/10(金) 19:42:29.54 ID:???] >変数名が女の名前 これおまいらもやってるのか?www
489 名前:nobodyさん [2012/02/10(金) 21:44:07.87 ID:2T73dJDE] 関数がFALSEを返すのFALSEはfalseと定義されてるけど、 FALSEがfalseではなくなるかもしれないから FALSEであることを期待してfalseと比較なんかしちゃってると 痛い目に遭いますよという事で良いですよね?
490 名前:nobodyさん mailto:sage [2012/02/10(金) 21:49:35.75 ID:???] php.net/manual/ja/function.strpos.php ぜんぜん違う。
491 名前:nobodyさん mailto:sage [2012/02/10(金) 21:49:43.60 ID:???] >>489 falseと比較するときはFALSEを書くべきなんじゃまいか?
492 名前:nobodyさん [2012/02/10(金) 22:45:10.70 ID:2T73dJDE] あーわかった。 zend_constants.c上ではTRUE, FALSE, NULLと全部大文字で 定数に登録しようとしてるけど、大文字小文字は無視してるから 小文字に変換されて登録されてて、zend_compile.cで使う時も 小文字に変換し直してハッシュから定数を引っ張り出すだけだったw
493 名前:nobodyさん mailto:sage [2012/02/10(金) 22:47:02.97 ID:???] FALSEとfalseが違うものだと思ってたの?
494 名前:nobodyさん mailto:sage [2012/02/10(金) 23:47:10.19 ID:???] ところでFALSE って、なんて読んでる? フォールス?フォルス?フォールズ? うちじゃ、ホルスw って読んでる人が一番多いようなw
495 名前:nobodyさん mailto:sage [2012/02/11(土) 00:28:43.74 ID:???] フォルス一択
496 名前:nobodyさん [2012/02/11(土) 02:22:50.24 ID:nzSgga7d] フォルス
497 名前:nobodyさん [2012/02/11(土) 13:25:30.90 ID:dnJZM8FP] すみません、ここが適当でなければ誘導をお願いします。 Mac OS XのXAMPP環境にpeclでmemcacheをインストールしたのですが、有効になりません。 php.iniにはextension="memcache.so"が追加されています。(自動で追加されていた) 試しに、pecl install mongoしてみたら、こちらは問題なく有効になりました。(phpinfo()で確認) 何が原因か分かりますでしょうか?
498 名前:nobodyさん mailto:sage [2012/02/11(土) 13:46:54.27 ID:???] >>497 初心者はXAMPP使うな
499 名前:nobodyさん [2012/02/11(土) 14:06:29.61 ID:dnJZM8FP] すいません、初心者じゃないんで、XAMPP使います。
500 名前:nobodyさん mailto:sage [2012/02/11(土) 14:15:29.85 ID:???] じゃ好きにしてくれ
501 名前:nobodyさん mailto:sage [2012/02/11(土) 14:49:26.56 ID:???] >>497 vimwareでも買ってcentosでも入れて勉強した方が良いと思うな
502 名前:nobodyさん mailto:sage [2012/02/11(土) 15:08:08.04 ID:???] 逆ギレくっど
503 名前:nobodyさん mailto:sage [2012/02/11(土) 15:12:31.66 ID:???] >>494 ファルセ
504 名前:nobodyさん [2012/02/11(土) 15:15:21.43 ID:dnJZM8FP] >>501 vimwareって何ですか?
505 名前:nobodyさん mailto:sage [2012/02/11(土) 15:32:18.38 ID:???] >>504 書き間違えって奴だ
506 名前:nobodyさん [2012/02/11(土) 15:55:57.42 ID:dnJZM8FP] あー書き間違いですか。 じゃぁ、CentOSってくだりも書き間違いかな? CentOSはpeclでインストールするよりyumの方がいいから。
507 名前:nobodyさん mailto:sage [2012/02/11(土) 17:30:38.33 ID:???] 有効になっていないことをどう確認したのかと、パスの通ったところにsoがあるのかを確認したらどうか。
508 名前:nobodyさん mailto:sage [2012/02/11(土) 18:05:45.75 ID:???] 超くだ質ですが、英語の変数名・関数名だと長くなる場合、どうしてますk? 「設立日」の値を保存する変数があったとして、 $establishment_day → 英語変換 $est_day → 短縮 $setsuritsu → ローマ字 などに出来ますが、長すぎると読みづらいし、 短縮文字だとわかりづらい場合があります。 (messageをmsgにするなど、一般的な短縮文字ならわかるのですが・・・ みなさんはどうしてますか?
509 名前:508 [2012/02/11(土) 18:06:06.37 ID:bam167aq] sageてました・・・
510 名前:nobodyさん [2012/02/11(土) 18:11:09.41 ID: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 にリネームすると、無効になるので、このパスで合っているはず。
511 名前:nobodyさん [2012/02/11(土) 18:15:17.70 ID:dnJZM8FP] >>508 あまり一般的な短縮名でなければ、長いままにしておきます。 一々仕様書やコメントを読まなければいけないのは、他人に不便だと思うので。 長い関数名や変数名はスペルミスや覚えられないという問題もあると思いますが、 入力補完してくれるエディターを使えばいいと思います。
512 名前:nobodyさん [2012/02/11(土) 18:35:54.65 ID:dnJZM8FP] あ、わかったかも。 PHPのコンパイルオプションに、--enable-memcacheが付いてないからかな?
513 名前:nobodyさん [2012/02/11(土) 19:08:10.33 ID:F655tJI8] >>508 俺なら$e_day
514 名前:507 mailto:sage [2012/02/11(土) 19:10:56.25 ID:???] >>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のオプションにあるならつけないとだめかも
515 名前:nobodyさん mailto:sage [2012/02/11(土) 19:20:50.28 ID:???] >>513 俺もたぶんそうする。 ちなみに今使ってる変数名 $t_name $t_t_name $r_name 入力補完もあるし、他の人が読むことを考えると、 もっとわかりやすい方がいいんだろうけど。
516 名前:nobodyさん mailto:sage [2012/02/11(土) 20:08:28.77 ID:???] コメントに変数の正式な意味を書いておけばよさそう