1 名前:デフォルトの名無しさん mailto:sage [2009/01/23(金) 21:05:34 ] webプログラム板の連中があまりにも 気持ち悪いので、こっちに立てました。
369 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 07:52:45 ] >>368 バイナリは詳しく分からないので getimagesize()で確認してみるとにしました 欲を言えばGDとかで通常のjpgにしたかったんですけど 上書きしたjpgも何故かブラウザで見れなかった〈(。А。)〉
370 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 09:58:10 ] >>369 俺が適当に作って使ってるやつでよければ 大抵のサーバマシンには fileコマンド ぐらい入ってると予想して 無かったらドンマイ function getExtensionByMineType($fname) { $minetype = trim(`file -i $fname | cut -d' ' -f2`); $ext = NULL; switch ($minetype) { case "image/jpeg": $ext = ".jpg"; break; case "image/gif": $ext = ".gif"; break; case "image/png": $ext = ".png"; break; default: $ext = NULL; break; } return $ext; } >>370 コード参照用
371 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 10:00:31 ] 調べて増やせば他の拡張子も対応可能 貼ってから気付いたけどマイムタイプだな
372 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 11:46:57 ] postgresql の COALESCE みたいな関数ってある? $a=""; $b=null; $c="hoge"; xxx($a, $b, $c); hoge と表示される
373 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 13:56:08 ] PostgreSQLのってか標準SQLのな まーないけどこんな感じでなんとかなるんじゃね。 $ret = $a == "" ? ($b == "" ? ($c == "" ? null : $c) : $b) : $a; is_nullとか===にしちゃ駄目よ。 そういやPHPの日本語マニュアル見ると三項演算子ってterniary条件文ってなってるけど ternaryの間違いだよなこれw
374 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 15:21:26 ] やっぱないのか PHP5.3 から ?: ってのが出来てるみたいだね
375 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 15:44:55 ] いや昔からできてるけど
376 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 16:17:00 ] 昔からって三項演算子の省略型が? $ret = $a ?: $b
377 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 16:32:05 ] C++あたりから普通にあるじゃん・・・
378 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 16:46:48 ] 誰がC++の話してんだよ^^;
379 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 16:56:18 ] あぁすまん、Cからあっ(ry C派生なんだからPHPは最初からあったでしょ >三項演算子
380 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 17:04:44 ] >>379 >>376
381 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 17:28:26 ] >Notice: Undefined variable エラーでてコンパイルすら通らなかった。
382 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 17:29:45 ] ちがった、こっちだったw >Parse error: syntax error, unexpected ':'
383 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 18:40:33 ] コンパイルしてるのか
384 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 18:52:20 ] PHPはソースが変更されて最初のアクセスでコンパイルされて中間コードが生成される 二度目以降はこの中間コードを直接見るので一度目より速度は多少速くなる。 実はこれ4.xの途中で変更された仕様で、古いバージョンだと毎度コンパイルしてるから遅い
385 名前:デフォルトの名無しさん [2009/03/14(土) 19:00:23 ] php5でSmartIrcは どうやってつかうのでしょうか おしえてください
386 名前:デフォルトの名無しさん mailto:sage [2009/03/14(土) 19:08:22 ] しらない
387 名前:369 mailto:sage [2009/03/14(土) 19:18:54 ] >>370 遅くなりましたが、ご丁寧にどうもありがとうございます!
388 名前:385 [2009/03/14(土) 19:27:40 ] ttp://www.dotup.org/uploda/www.dotup.org2648.gz ダウンロードしたんだよ 頼むよ、おしえてくれよ
389 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 09:26:40 ] ドキュメント読めばいいじゃん
390 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 19:34:38 ] ageんなカス
391 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 22:49:07 ] 日本を狙う 朝鮮人の原爆ミサイル建造費用は 日本国内の 在日パチンコ屋からの送金 パチンコの市場規模は 年間30兆円 日本の国家予算の 3分の1以上 北朝鮮の国家予算の なんと100年分! これを在日朝鮮人が 自由に動かし パチンコマネーを 北朝鮮に送金している パチンコ屋を 全面営業禁止にしない限り 北朝鮮は制裁など 痛くもカユくもない 在日朝鮮人なら 生活保護もらい放題 毎月二十数万円もらって 毎日遊んで暮らしてる 住宅費・医療費・教育費なんでも無料 税金は1円も払わない 超特権階級(貴族) 民主党は 選挙権まで与える予定 日本は 在日天国 <丶`∀´> ウハウハ〜♪ 2cchan.ham-radio-op.net/kimuchi.html
392 名前:デフォルトの名無しさん mailto:sage [2009/03/28(土) 02:06:58 ] Visual Studio2005( VS.Php 2.6 試用版 )を使用して PHPのデバッグ実行を行おうとしているのですが、PHPスクリプト内に設定した ブレークポイントで止りません。 一体どうすればブレークポイントを止める事が出来ますか? 【ブレークポイント上のエラー】 ・ブレークポイントは、現在の設定ではヒットしません。 Unbound break point 【IEの設定】 次のチェックを外しています。 ・スクリプトのデバッグを使用しない(Internet Explorer) ・スクリプトのデバッグを使用しない(その他) 【php.iniの設定】 [DBG] debugger.enabled = true debugger.profiler_enabled = true debugger.JIT_host = 127.0.0.1 debugger.JIT_port = 7869 debugger.enable_session_cookie = true extension=php_dbg.dll ;;;;;;;;;;;;;;;;;;; ; Module Settings ; ;;;;;;;;;;;;;;;;;;;
393 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 20:35:48 ] 文字列の関数を利用する時は、 非マルチバイト関数を利用する事が ないかとおもいますが。 マルチバイト関数と、非マルチバイト関数対応表と、 マルチバイト関数が存在しない非マルチバイト関数表 とかってどっかにないでしょうか? 例、mb_trimが存在しない。
394 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 22:42:33 ] go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね! go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね! go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね! go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね! go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね! go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね! go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね! go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね! go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね! go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!go-pear.bat 氏ね!
395 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 00:34:44 ] >>393 jp.php.net/manual/ja/ref.strings.php jp.php.net/manual/ja/ref.mbstring.php ここから関数群の差分取るスクリプト書けばおk
396 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 00:48:44 ] >>395 ありがとうございます。 非マルチバイト関数を使うな! といっても、もれが出てしまいます。 皆様どのように解決しておりますでしょうか? 思いつくのは。 ・コーディング後に非mbチェックスクリプトを実行。 ・関数を改造してこけるようにする。 ・対処しない、根性でテスト。
397 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:22:45 ] >>396 0003. セキュリティを考慮して、特定の関数を使用不可能にする方法 ttp://php.to/tips/3/
398 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:47:54 ] >>397 ありがとうございます。
399 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 04:27:20 ] <?php $a=mb_convert_encoding(`ping www.google.com`,"UTF-8","SJIS"); print "<pre>"; print_r ($a); print "</pre>"; ?> ----------------------------------------------- これはおもしろい。 実行すると、PHPからpingを打って、 結果を表示してくれる。
400 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 05:38:29 ] $a = `ping www.google.com`; でいいんじゃないのかと思うが。
401 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 05:44:59 ] >>400 やってみたらできた、ありがとう。 execのコードを一部改変したものですから。
402 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 07:55:39 ] 言い訳スンナヨ
403 名前:デフォルトの名無しさん mailto:sage [2009/04/07(火) 16:33:34 ] Net_UserAgent_Mobileを使って3G端末の識別がしたいんだけど、isFOMA()メソッド を使用したら、「Call to undefined method Net_UserAgent_Mobile_NonMobile::isFOMA()」 って表示された。 本でもネットでも以下の方法しか記載されてないから、わけわからない。 $agent = Net_UserAgent_Mobile::singleton(); if ($agent->isFOMA()) {}
404 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 00:59:15 ] それってPEAR?
405 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 03:12:46 ] >>399 へぇーそんな事も出来るんだ。 面白いね
406 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 11:28:04 ] >>403 Net_UserAgent_Mobile_NonMobile::isFOMA() と Net_UserAgent_Mobile::isFOMA() は違うがな
407 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 14:18:15 ] d.hatena.ne.jp/indiana/20090217/p1 ここにある、かなをローマ字に変換するクラスですが、 うまく動きません。サンプルまでそのまま引きうつして実行しても、 だめです。非常に便利なクラスなのでぜひ活用させてもらいたいの ですが、何か、アドバイスをもらえませんでしょうか。
408 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 14:35:36 ] エスパーじゃないので解りません
409 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 22:36:15 ] 使えない人ですね
410 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 23:00:59 ] >>407 文字コードは設定と一致してる? クラスの先頭にある var $charset='utf-8'; の 'utf-8' を 'shift_jis' に変えてみるとか
411 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 23:40:42 ] >>410 ファイルはすべてUTF-8にしています。 文字コードを試しに変えてみましたが、だめなようです。 エラーは出ませんが、何も表示されません。
412 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 23:42:24 ] >>411 display_errors error_reporting
413 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 00:46:02 ] 手元のインタプリタで試したけどそのままで動いてる (utf-8 => shift_jisのみ修正) > class kana2roma { // var $charset='utf-8'; var $charset='shift_jis'; … > $roma=new kana2roma(); echo $roma->conv('アキハバラあったかまつり'); akihabaraattakamatsuri null このクラスは漢字を単純に捨ててるので、認識できない文字の 場合も同様に捨ててるだけ(エラーがでない)の可能性も高い だとすると文字化けした場合、すべての文字が単純に捨てられてる だけの可能性がある なので以下の2点を確認することを勧める 1) 半角英字の文字がそのまま出力されるか 2) 関数 _baseOne() の最後を書き換えて文字を確認する return NULL; => return $str; これで漢字などの変換対象でない文字もそのまま出力するはず これで文字化けなどが起こっているなら文字コード回りを再度見直した ほうがよいと思う
414 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 07:45:35 ] PHPのCLI版おもすれー
415 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 10:08:47 ] CLI ってまぎらわしい。 Common Language Infrastructure (いわゆる .NET) Command Line user Interface (いわゆる DOS窓) Command Line Interpreter (いわゆる CMD.EXE、COMMAND.COM)
416 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 10:10:01 ] あと、Client (Client application) を CLI と略すこともある。 まぎらわし〜〜〜
417 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 11:33:27 ] <html> <head> <title>フォームのデータを受け取る</title> </head> <body> <?php echo "<p>入力内容:".@$_POST["text1"]; ?> <form method = "POST" action = " <? = $_SERVER["PHP_SELF"]?> "> <table> <tr> <td><input type = "text" name = "text1"></td> <td><input type = "submit" value = "送信" name = "sub1"></td> </tr> </table> </form> </body> </html> 本で読んで上のようなコードを書いたんですがうまくいきません 原因分かる方いたら教えてほしいのですが phpは5.2 アパッチは2.2を使ってます
418 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 12:10:24 ] Access forbidden! 要求されたオブジェクトへのアクセス権がありません。 読み込みが許可されていないか、 サーバが読み込みに失敗したかでしょう。 サーバーの障害と思われる場合は、ウェブ管理者までご連絡ください。 Error 403 localhost 04/09/09 12:08:32 Apache/2.2.11 (Win32) PHP/5.2.9-1 書き忘れたのですが、上のようなエラー文が出ます
419 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 14:20:28 ] >>417-418 apacheのerror.logさらせ話はそれからだ
420 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 14:39:05 ] [Thu Apr 09 14:36:08 2009] [error] [client 127.0.0.1] (20024)The given path is misformatted or contained invalid characters: Cannot map POST /%3C?%20=%20$_SERVER['PHP_SELF']?> HTTP/1.1 to file, referer: localhost/rcvform2.php POSTがちゃんと働いていないということでしょうか?
421 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 15:40:26 ] <? = $_SERVER["PHP_SELF"]?> を普通にファイルへのパスにしたらどうなりますか。
422 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 15:54:37 ] >>421 うまくいきました! ということは<? = $_SERVER["PHP_SELF"]?>の部分記述の仕方に問題があったんですね お騒がせしてすみませんでした。
423 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 17:04:02 ] ブラウザからメールアドレスを入力してもらって、 そのアドレス宛にメールを送るプログラムを書いているのですが、 メールの件名の7文字目だけ抜けるという現象に見舞われています。 (文字化けは起こしていません) 文字コードなど怪しいところは調べたのですが解決に至っていません。 スクリプト内で設定した件名:パスワード再発行URL メーラで表示されている件名:パスワード再行URL ヘッダ内のsubject =?utf-8?Q?=e3=83=91=e3=82=b9=e3=83=af=e3=83=bc=e3=83=89=e5=86=8d=e7=99?= =?utf-8?Q?=ba=e8=a1=8cURL?= 文字コード以外で調べるべき箇所があるのでしょうか。 アドバイスなどありましたらお願いします。
424 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 22:42:50 ] >>422 その場合、phpのショートタグなんちゃらが 無効になっている。
425 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 22:44:18 ] >>423 あいうえおかきくけこ といれて、抜けるかどうか調べる
426 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 05:23:33 ] ソ
427 名前:407=411 mailto:sage [2009/04/10(金) 08:12:20 ] >>413 ご指摘、ありがとうございます。 当方の環境では、半角英字も全て、出力されません。 やはり文字コード周りが怪しいので、PHP.iniを見直して みたいと思います。 このクラスは、utf-8などの文字コード設定と内部コードが あっている必要があるということでしょうか?
428 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 22:38:57 ] <?php print "Type your name , please?.\n"; $a=fgets(STDIN); $b=trim($a); print "Your name is " . $b . ", ok?\n"; ?> ------------------------------ CLI用。 これを、アパッチ経由でなくて、 WindowsのMS-DOSプロンプトで動かす。 「1.php」とかの名前で保存して、 その保存したディレクトリにDOSで移動して php 1.php って打ち込む。 すると Type your name , please?. samansa Your name is samansa, ok? とかってDOSプロンプト上でphpプログラムを実行できる。
429 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 22:39:41 ] $a=fgets(STDIN); この行でDOSプロンプトからの キーボードからの入力を受け付けることができる。 ただし日本語は文字化けする。
430 名前:デフォルトの名無しさん mailto:sage [2009/04/10(金) 23:52:51 ] なにを言いたいのかよくわからないけど、 プログラムの簡単な確認なら php -a で組込みのインタラクティブシェルが起動するので、 対話的にプログラムを実行できる あと、Windowsだと、ASConsole というのもある。これもインタラクティブシェル なんだけど、複数行の入力をサポートするので関数とかのコピペが簡単に できて結構便利 ちなみに自分の環境では>>428 のプログラムで日本語文字化けしなかった
431 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 03:19:32 ] ソースコードをutf-8で書いて、 それをDOSプロンプトで出力したので 文字化けしたのかな? (DOSプロンプトはシフトJIS出力なので) おそらくソースコードもシフトJISで保存すれば 文字化けしないんだと思う。
432 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 08:55:19 ] windowsのphpに脆弱性upでとよろ
433 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 09:40:17 ] 入社面接に応募したらPHPで100行くらいの自作コードを送るように言われたんだけど、 JAVAの経験はあるのですがPHPの経験がなくてどんなの作ったらいいかわからないので、 なにか意見いただけませんか?
434 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 10:55:16 ] 100行って微妙だな。
435 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 11:55:38 ] 質問です。 ニュースサイトなどでよく見かける、「あるページに、内容が関連する他のページの見出しを表示」がしたいのですが、 これはどのような仕組みで実現しているのでしょうか。教えてください。
436 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 12:41:22 ] 比較する記事から形態素解析で使われている単語を抽出して、ある程度一致したものを列挙するだけ 形態素解析エンジンはChasenとかKakasiとかMeCabとかYahooAPIとか色々あるんで 好きなのを選ぶといいよ
437 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 12:47:44 ] 一方俺はタグを使った
438 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 13:28:06 ] ブログツールのMovableType使ってた時は、タグの類似度でやってたな。
439 名前:435 mailto:sage [2009/04/11(土) 15:39:09 ] おー、「形態素解析」初めて聞きました。そういうのがあるんですね。 わかりました。挑戦してみます。ありがとうございます。
440 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 18:57:59 ] >>434 100行で魅せろって意味だとしたら相当難しいな
441 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 19:48:21 ] ある意味良課題
442 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 20:07:46 ] 君たちやってみたまえ
443 名前:デフォルトの名無しさん mailto:sage [2009/04/11(土) 21:25:31 ] 100行ならメール専用画像アップローダぐらいは作れそうだな
444 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 06:51:16 ] バイナリセーフでない正規表現系の関数は、 基本的に危険だから使わないほうが良い?
445 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 06:51:58 ] 危険、という意味は、ヌルバイト攻撃されるから。 ¥nを入れられると、その後ろに’(シングルクオーテーション)等を 自由に入れられてしまう。
446 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 07:09:31 ] 教科書読んでると、たまに 「*Windows版では動作しません」 って書いてある関数があるんだが、これを実験するには、 やはり、自分のパソコンにLinuxを入れるしか ないのだろうか?
447 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 10:07:43 ] >>445 素のままのデータを使うなよw
448 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 17:06:43 ] >>446 Cの時は読み飛ばした 今ならVMWare使って遊ぶ
449 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 17:08:41 ] VMwareかぁ、、、 危険ではないのかな?
450 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 18:11:14 ] php初心者です。 画像などのファイルをアップロードしてデータベースに格納したものをダウンロード して表示させるときにcontent-typeをつけて表示していますが、ファイルがいろいろな種類のときに ダウンロードしてきたデータのmime-typeを判定する方法があったら教えて下さい。 お願いしますm(_ _)m
451 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 19:12:40 ] 自分のパソコンの中で判定するってこと?
452 名前:デフォルトの名無しさん mailto:sage [2009/04/16(木) 19:53:42 ] >>451 判定結果をcontent-typeの後につけて、出力をしたいと思っています。
453 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 17:28:42 ] >>449 何が?
454 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 18:29:25 ] >>453 Windowsが起動しなくなるとか、、、
455 名前:デフォルトの名無しさん mailto:sage [2009/04/18(土) 21:33:38 ] >>454 phpの方が危険度高いぞw
456 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 23:10:44 ] php初心者ですがアドバイスをいただきたくm(_ _)m 今までC言語6年とJava1年やってきてますので、完全なコンピュータ素人では ないつもりです。が、Web系は関わった事が無いのでhtmlとかxmlとかは素人です。 今度担当するプロジェクトでphpを覚える必要が出てきまして、入門用の書籍を 探しています。 今日色々とPHP本を漁って、オライリーの「プログラミングPHP」が良さそうかな、 と思いました。 そこで質問が2つ。 ○先輩に「PHP5徹底攻略(マンモス本?)」を薦められたのですが、執筆された 時期が5年以上前なので、情報が古くないかと心配です。 ○上記の2冊以外でオススメの入門書がありましたら教えてください。 以上、よろしくお願いいたします。
457 名前:デフォルトの名無しさん mailto:sage [2009/04/20(月) 23:50:26 ] phpの言語仕様はC言語に毛が生えた程度。 クラスの概念がC言語には無いけど、Javaやってたようだから何とかなると考えれば、 入門書に頼らずとも、本家サイト(php.net)の言語リファレンス(www.php.net/manual/ja/langref.php )よめば、何とかなる様に思えます。 むしろ大変なのは、phpの外の世界。 html, http, セキュリティ対策(XSS, SQL-Injection等)、Javascript、CSSなど、理解しなければならないことが山の様にあります。
458 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 00:43:24 ] >>456 俺も>>457 にほぼ同意。そんだけ経験あればマニュアルとか、買ってもリファレンス系で足りるはず。 下手に入門本とか買うとかえって混乱すると思う。(オライリー系ならいいけど) むしろWEBアプリならではのセキュリティとかMVCとかの方が面倒。
459 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 02:53:59 ] 削除したはずの要素までファイルに記録されてしまう。削除した要素を無視する方法があったら教えてほしい。 $names["test"]=123; $names["a"]=1235; unset($names["a"]); save_namefile($names); function save_namefile($a) { $fp = @fopen("./names.txt","w"); flock($fp,LOCK_EX); foreach($a as $key => $v){ $buf = $key . "<>" . $v . "\n"; fputs($fp,$buf); } flock($fp,LOCK_UN); fclose($fp); }
460 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 02:55:48 ] 457が言いたいことを全部言ってくれた >>459 WebProg板のくだスレで質問してた人?
461 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 02:57:23 ] >>460 違うが。
462 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 03:07:37 ] もしかして、既に出てる質問なのか。 もし、そうなら、そこのURLを教えてほしい。 該当する板に行ったがなかった。
463 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 05:57:45 ] >>456 俺も似たような状況だったけど、webフレームワーク憶えたらすぐに実戦にもっていけた。 PHP憶えるついでに、CakePHPとかやってみたらどうかと思う。 MVCフレームワーク一度も使ったことないなら、CodeIgniterの書籍が超わかりやすいからお勧め CodeIgniter自体は軽量すぎてあまりオススメしないがw Amazon.co.jp: CodeIgniter徹底入門: 河合 勝彦, 鈴木 憲治, 安藤 建一: 本 www.amazon.co.jp/dp/4798116769 images-jp.amazon.com/images/P/4798116769.09.MZZZZZZZZZ.jpg
464 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 06:09:03 ] >>456 ●はじめてのphp言語 プログラミング入門 ●独習PHP ●実践マスターPHP+MySQL ●速効!図解プログラミングPHP + MySQL
465 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 09:56:06 ] >>456 マンモスの徹底攻略4ならPDFで公開されているから、何か買う前にダウンロードしてみたらどうだい。
466 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 14:07:58 ] >>459 そのサンプルを実行してみると君がいったような動作には ならない。予想では 0. サンプルが実際のコードをあらわしていない (実際のコードにはつまらないタイプミスがある、など) 1. names.txtへの書き込みが失敗している 2. web上で動かしていて上書きされている
467 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 19:05:47 ] >>464 独習PHPは、わかりにくかったでしゅ
468 名前:456 mailto:sage [2009/04/21(火) 23:13:35 ] 皆様ありがとうございます。 ここの意見も参考に色々な本を試し読みしまくって、結局「プログラミングPHP」と PHPのセキュリティに関する本を買いました。 私にとってレベルが高すぎず低すぎず、文体とか読んだ感じとかのフィーリングが 好きだったので。 今回の仕事にPEARとxmlが絡む事は確定しているんで、その辺もフォローしている本の 方が良いかな?と結構迷いましたが、基本とセキュリティ知識をある程度身につけて からにします・・・不器用なんでw
469 名前:デフォルトの名無しさん mailto:sage [2009/04/21(火) 23:13:46 ] >>466 うむ・・・。 スクリプト一式をこちらにおいておきます。 www6.atpages.jp/~autonomydoll/chat/ (chat_error.phpがうまくいかないほうです)
470 名前:デフォルトの名無しさん mailto:sage [2009/04/22(水) 00:22:51 ] >>469 すみません。後になって気付いたので訂正します × 空の要素が記録されてしまう ○ 空の要素が<>の形で記録されてしまう
471 名前:デフォルトの名無しさん mailto:sage [2009/04/25(土) 18:17:06 ] www.itmedia.co.jp/enterprise/articles/0809/10/news038.html 「PHPの「mt_rand()」機能の脆弱性では、 ユーザーが新しく作成したパスワードを 攻撃者が予測できてしまう可能性がある。」 これってどういうことかな?
472 名前:デフォルトの名無しさん mailto:sage [2009/04/25(土) 18:50:54 ] mt_randの中がどうなってるか柱泣けど 通常PCで発生させる乱数ってのは擬似乱数って言って 同じ条件なら同じ乱数が出るようなタイプの乱数だから パスワード再発行したときと同じ日時で乱数発生させたら 同じパスワード出来ちゃうとかそんな感じじゃないかね
473 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 20:28:34 ] >>471-472 ここが分かりやすいかな。 ttp://blog.ohgaki.net/php-python
474 名前:466 mailto:sage [2009/04/26(日) 20:33:34 ] >>470 >>469 のアドレスをアクセスするとソースが見えないんで想像だけど (というか見えるようにしてもらっても全部を見る気はない w)、 「値が空の要素は除外したい」だったら foreach()のブロックの最初に if (strlen($v) == 0) continue; を追加すればいいと思う。
475 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 22:26:20 ] <?php $link = mysql_connect('localhost', 'root', 'pass'); //データーベース コネクト $db_selected = mysql_select_db('bbb', $link); //テーブル選択 $result = mysql_query('SELECT c FROM ddd'); //クエリー発行 print mysql_result($result, 0); //表示 ?> ----------------------- これだけで、MySQLに接続して テーブルを選択して、 クエリーを発行して、 結果を表示できるよ! PHP、マジで超カンタン
476 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 22:29:07 ] ちなみにテーブル構造です ホスト名 localhost ユーザー名 root パスワード pass データーベース名 bbb テーブル名 ddd テーブル構造 | a | b | c -------------------- 0| 111|222 | 333
477 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 22:33:09 ] この場合、 bbbというデーターベースに接続して、 dddというテーブルを選択して、 cというカラムを選択して、 行番号0の行を選択して、 そこのデーターを取ってきて、 画面に表示した。
478 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 22:34:51 ] いやちょっと説明違うな。 bbbというデーターベースに接続して、 dddというテーブルを選択して、 その中のcというカラムを選択して、 データーを全部取ってきた。そして その中の、行番号0の行を選択して、 そのデーターだけを画面に表示した。
479 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 22:52:07 ] <?php $b="a"; for($i=1;$i<60;$i++): print $b++; print "\n"; usleep(1000000/2); endfor; exit; ?> ------------------------------------------------ これをCLIモードで実行すると、 ちょっとおもしろいよ。
480 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 23:03:57 ] <?php print "文字を入力してください\n"; $in = fgets(STDIN); $c = rtrim($in); print $c . "、、、ですと?!"; ?> ------------------------------ これも実行すると ちょっと面白い例。 CLIから実行。 PHPで対話的アプリが実装できる。
481 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 04:16:01 ] またお前か 全然成長してないな
482 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 04:45:11 ] 俺も25年前くらいにBASICで同じようなことやって一喜一憂してたから気持ちはわかる
483 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 11:19:40 ] ここはプログラム板。 キチガイは入れない場所ですぞ
484 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 16:33:09 ] <?php `CLS`; ?> なんでこれで 画面がクリアされないのか、 理由がわからないづら
485 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 16:51:34 ] 行番号がないからだろ
486 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 18:46:26 ] >>479 笑いどころはここらへん? >exit; >?>
487 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 17:55:58 ] MSSQLに接続できん・・・・・ もう2日はトライしてるわ・・・
488 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 18:05:51 ] つ PDO
489 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 18:20:54 ] >>448 mysql使ってたんだけど、コマンドラインからの操作が面倒くさすぎてMSSQLserverにしたら 2005年版は何かphpとの接続にパッチやら入れないといけないらしく、上手くいかない・・・・ あぁ〜PCやりすぎて目が痛いよう
490 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 21:17:34 ] そんなあなたのためにphpmyadminというものがあるが使わなかったんか?
491 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 21:32:28 ] MySQL Admnistratorでいいと思う ちゅうかなんでその理由でPostgreSQLなどに行かずに 急にSQLServerに飛ぶのか解らんが
492 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 21:48:04 ] >>490 >>491 あ〜そんな物があったのか・・・・丸二日費やしたのが馬鹿みたいだぜ。 なんとなく目に留まったのがMSSQLだったからorz ちょっと試してみます
493 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 22:07:18 ] xamppだったら 最初からついてるよね。
494 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 22:19:05 ] 最近のテスト環境構築丸々入ってるよ〜系なら大抵ついてくるね>phpmyadmin というか、ほんとに便利だから入れないと移行とか大変すぎる
495 名前:492 mailto:sage [2009/05/05(火) 16:23:27 ] MySQL Admnistratorは英語って以外は中々使いやすいね。 日本語のかねやんMySQLAdmin使いたいんだけど何か接続できないから諦めた。 それにしてもphpは自分の設定であってるかどうか不安だわ。 少しでも調べないで変えると戻すのも苦労する
496 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 17:51:51 ] 自PCの環境で完成した〜と思って、サーバにあげて実行してみたら Fatal error: Call to undefined function zip_open() ・・・まあ、PHP暦1週間の初心者なので・・・(´・ω・`)
497 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 21:15:31 ] コマンドのインストールに失敗する前にWebmin使ってみよう! ・・・ファイアウォールの設定はしっかりとね。
498 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 21:42:23 ] >>495 Tools→Options→GeneralOptions 右上LanguageをJapaneseにしてアプリ再起動 1%だけ日本語になるぜw
499 名前:484 mailto:sage [2009/05/09(土) 01:25:34 ] データベースには接続できるのですが、テーブルにアクセスできません・・・・。 毎回接続までしか試しておらず、MYSQLからMSSQLに設定を変えて、またMYSQLに戻した からかもわからないのですが、いつからアクセス出来なくなったのかわかりません。 どなたかエスパーしてください・・・・・何を聞いていいのかもわかりません。 INSERT INTO 生徒 (id,名前) values (0001,'鈴木'); とコマンドラインからSYSQLに同じ命令を打ったら You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO c”?a?’ (id,a??a‰?) values (0001,'e?´a?¨') LIMIT 20 OFFSET 0' at line 2 とエラーが出てきました。 これはphpのエラーじゃないのでしょうか?
500 名前:デフォルトの名無しさん [2009/05/09(土) 01:59:47 ] >>499 >You have an error in your SQL syntax ってエラーが出てるから、SQL文に問題あるのでは?
501 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 02:03:30 ] >>499 項目名にマルチバイト文字なんて使えるのか?
502 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 02:19:37 ] >>499 `項目名` あと mysql_real_escape_string を忘れずに
503 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 02:32:09 ] >>502 それはバッククオートで囲め、て意味? ただコードを書くだけでは意思が伝わらないことが多いよ
504 名前:デフォルトの名無しさん [2009/05/09(土) 02:33:30 ] テーブル名もマルチバイト文字だな。
505 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 02:56:10 ] SQLのオブジェクトにマルチバイト文字を使うのは面倒。 エンコーディングでいかようにでも化けちまうきがすんだけど ''で括ってもどうなるか、EUCになるならいいが、最近はUTF-8もあるから。
506 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 02:58:37 ] >>503 テーブル名や項目名をバッククオートで囲む、これ癖つけておいたほうがいいよ `table`.`index` という感じで PostgreSQLから移ってきた時に、これで丸2日ほどつぶしてしまったよ俺。。。
507 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 03:36:11 ] 別にマルチバイトでも問題ないよ OracleやAccessじゃよくある
508 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 11:07:26 ] ただ文字化けしてるだけじゃん。文字コードの設定を統一すればいいよ。 > とコマンドラインからSYSQLに同じ命令を打ったら コマンドライン版の PHP.EXE のこと? PHPで直接、SQL の INSERT 文が発行できたっけ??? もしコマンドライン版の mysql.exe なら、mysql.ini で文字コードを設定する。 自分が何をしているのか、相手に伝えられないと答えようがないよ。
509 名前:499 mailto:sage [2009/05/09(土) 14:24:17 ] 皆さんありがとうございます。 マルチバイトを使わずにアクセスした所、アクセス出来たので設定がおかしいのだと思います。 あああああああああああああああああ何でこんなに設定がめんどくさいんだpg歩ディfgしあhふぃさdhfじゃs」dpfは 環境設定だけでプログラム全く書いてねえぇぇぇぇぇぇl!!!!!!!!!!!!!!!!!!!
510 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 15:52:55 ] わからんなら、何かフレームワーク使った方が楽だし憶えやすいぞ。
511 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 16:33:32 ] 設定が面倒くさいんじゃなくてマニュアル読んで手順通り設定してないだけだろ 文字コードさえ一致してればマルチバイトであろうがなんであろうが動く むしろマルチバイトで動かないけどアスキーにしたら動いたってのは何も解決して無くて まだどこかで文字コードの不一致が起きたまま動いていると言うことだ
512 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 16:44:33 ] データベース名やテーブル名、フィールド名に2バイト文字を使うのは今では普通なのか? 今まで使ってはいけないと思って使ってなかったけど・・・。 テーブル名やフィールド名を考えるのがメンドイんだよな〜
513 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 16:58:02 ] 好きか嫌いかだろうな。 別にローマ字でもいいと思ってるし。 要は間違えなければいい。
514 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 17:18:10 ] 今では普通じゃなくて昔から使えたし別に今更禁止する意味もない 禁止なのは開発の規約上アルファベットで揃えるから禁止とか 日本人しか理解できないから禁止とかそういう理由であって システム的に動かないから禁止ってわけではない
515 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 17:19:12 ] あとはシステム的に開発環境などをスキル低い人が設定できないから トラブル避けるために禁止ってのもあるけど
516 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 18:01:45 ] DBで設定してる文字コードと違うことは良くあるね だから接続したあとに設定するわけで MySqlだけど置いときます <?PHP //DB接続 $_DB = mysql_connect( "localhost", "root" )or die("Could not connect"); //テーブルを選択 mysql_select_db( "table" ); //DBとの接続間で使う文字コードをセット mysql_set_charset("utf8"); ?>
517 名前:デフォルトの名無しさん [2009/05/09(土) 18:07:32 ] 仕事で日本語テーブル名、日本語項目名で作られたデータベース使ったことあるけど、最低、最悪だったよ SQL文書くのに面倒くさくて、見たくもない、日本語禁止。
518 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 18:10:37 ] 秀丸で手入力でもしてるのか? ツール使えよ 仮にカラム名が英文だったとしても打ち間違ってバグの元になるぞ
519 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 22:24:57 ] 移植性を考えるとマルチバイト文字はオヌヌメできぬ。
520 名前:499 mailto:sage [2009/05/10(日) 00:55:00 ] スレチギリギリにも関わらず皆さん本当にありがとうございます。 テーブル名やカラム名をマルチバイトを使わずに、挿入するデータだけを マルチバイトを使ったら、挿入できたのですがテーブル内容を表示するとき 文字化けが起こりました。 また、mysql_uery,mysqli_set_charset関数はエラーが出て使えませんでした・・・。 Call to undefined function mysql_query() と出ます。 環境は PHP Version 5.2.8 Apache 2.0.63 NetBeans 6.5 MySQL 5.1 MySQL Administrator です
521 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 01:00:51 ] つ >むしろマルチバイトで動かないけどアスキーにしたら動いたってのは何も解決して無くて >まだどこかで文字コードの不一致が起きたまま動いていると言うことだ
522 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 01:01:28 ] なんか初心者スレ案内したほうがいいような気がしてきた
523 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 01:04:16 ] >>520 ちゃんとphpとmysql(のDB)と文字コード合わせてる?
524 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 01:05:49 ] PHPの文字周りは難しいので ある程度の学習が必要です。 ttp://www.oreilly.co.jp/books/9784873113654/ 個人的には、全文字エンコードを統一し、 フレームワークの利用を推奨です。 ・全文字エンコードの例 htmlのcharset phpのファイル php.ini DBのcharset
525 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 01:56:29 ] こういう場合にSQL周りをクラスでラップしてると 文字コード関係の問題解決は楽なのよねぇ
526 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 02:26:38 ] リリース後に運用でgdgdになって火消しに行くこと多いんだけど PHPの場合DB周りも含めて実装が意味不明な事が多いんだよねぇ せめてPEARでも使ってよと思うんだけど、何故かそうしてる所が少ない… 独自実装の方がどう考えても面倒でしょうに
527 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 02:40:24 ] mysqli_set_charset を使うには php に mysqli をインストールすること。 デフォルトではインストールされない。 mysql_uery なんて関数ははじめから無い。 たぶん mysql_query か mysqli_query の間違いだろ。 とにかく、php.ini、my.ini の設定を最初っからやりなおせ。 そうすれば文字化けも直る。 入門書・解説サイトなどをよく読め。
528 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 02:42:07 ] PEAR など既存のライブラリを使いたがらないのは 他人の書いたコードのデバッグをしたくないからだろ。 PEAR に100%バグが無いと保証あるなら別だが。
529 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 02:46:57 ] うちはSmartyぐらいしか使ってないなぁ
530 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 02:47:24 ] こんなとこだと思うw ・有名なライブラリの存在を知らない。 ・自分が作ったほうがバグが少ないという 根拠のない自信。 ・作ってみたい。 ・コスト意識がない。
531 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 02:55:26 ] 最近はメンテや機能追加ばっかりだから 追加でライブラリ使うことを向こうから止められる 開発楽になりますよって言っても聞かないしー
532 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 02:59:47 ] その辺のSI会社のプログラマが書いたライブラリより PEARにバグが無い確率の方が低いだろJK
533 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 03:01:39 ] PERA_DBやPEAR_MDBに今さら重大なバグあったら世界がひっくり返るわw 少なくとも、文字コードが良く解りませんって言ってる奴が 直接SQL発行するよりも1億倍マシ。
534 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 03:02:38 ] >>532 PEARにバグが有る確立の方が低い の間違いか?
535 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 03:05:49 ] 日本語が不自由だからPEAR()笑なんてカスみたいな勝手ライブラリ使うんだろ どう考えても上級PGがノウハウもって書いた独自ライブラリの方が優れてる
536 名前:デフォルトの名無しさん [2009/05/10(日) 03:06:37 ] >>500 ですけど、朝まで続くの?
537 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 03:14:08 ] >>533 ペラDBってなんですか?www
538 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 05:17:55 ] <?php $a = mysql_connect(localhost,root,pass); $d= mysql_select_db(aaa,$a); for ($index = 1; $index <= 100; $index++) : $e=rand(); $f=rand(); $sql = "insert into bbb (id,name,value) VALUES ('','$e','$f') "; $c = mysql_query($sql,$a); endfor; ?> ---------------------------------- ↑このスクリプトを実行すると、 データーベースに100のレコードを追加する。 idはオートインクリメントで、バリューはランダムで生成。 できあがてから、phpmyadminで見ると、すげーおもしろいよ。
539 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 05:20:16 ] データーベース構成 サーバー localhost ユーザー名 root パスワード pass データーベース名 aaa テーブル名 bbb テーブル構成 id | name | value idはプライマリーキーで、 オートインクリメント。
540 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 05:38:32 ] 面白くはないと思うけど
541 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 05:39:06 ] ×自分が作ったほうがバグが少ないという ○自分が作ったライブラリなら、バグ出ても自分で直せる
542 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 05:40:54 ] PEAR_DBくらい何処でも使われてるライブラリなんて そもそも使って困るようなバグなんて絶対にないし 仮に万が一出ても速攻で修正されるわ
543 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 05:44:38 ] >>541 次の行もみてねw あと>>530 は、オープンソース限定の発言でした。>失礼
544 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 05:57:14 ] <?php $a = mysql_connect(localhost,root,pass); mysql_select_db(aaa,$a); $d = rand(1,300); $e = mysql_real_escape_string($d); $sql = "select name from bbb where id='$e' "; $b = mysql_query($sql); $c = mysql_fetch_assoc($b); print_r($c); ?> ------------------------------------------ ↑これがデーターを 取り出すときのコードね。 データーベース構造は>>539 と同じ。
545 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 06:18:35 ] <?php $a = mysql_connect(localhost,root,pass); mysql_select_db(aaa,$a); $d = rand(1,300); $e = mysql_real_escape_string($d); print "id=" . $e; print "<br>"; $sql = "update bbb set name='12345' ,value='67890' where id='$e' "; $b = mysql_query($sql); var_dump($b); ?> ------------------------------------------------------------------ ↑これが、データーをアップデートするときのコード。 データーベース構造はさっきとおなじ。
546 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 06:20:09 ] これで、SELECT,INSERT,UPDATE、の 3つの構文が使えるようになりました。 あとはもうオレ様無敵状態。
547 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 06:22:08 ] >>546 つせめてPEARでも使ってよと思うんだけど
548 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 06:23:16 ] >>546 DELETE あと何が凄いってコネクションクローズしてないことだな
549 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 06:38:13 ] PDOをつかえば、sqlサーバ入れ替えられるよって云ってみたが、 お勧めのSQL鯖との親和性を証明できぬ。
550 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 06:55:33 ] SQLサーバってまさかDBMSのこと?
551 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 07:37:23 ] deleteとかって、 普通、使わないと思うんだよね。
552 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 08:17:10 ] なんで?
553 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 09:13:27 ] 確かにupdateで削除フラグ立てるケースが多いな。メンテ時とかに一括削除したり。
554 名前:デフォルトの名無しさん [2009/05/10(日) 12:29:40 ] スレ間違いならスマン PHP4を使ってるんだが、 $output = '<emoji=1>'; print($output); のようにすると、<emoji=1>が出力されない。空。 <br />のようなHTMLは出力されるけど、独自タグが出力されない。 これって、サーバー側とかPHPで何か設定とかあるのか?
555 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 14:44:16 ] >>553 DBによってはupdateって、コピー先のデータを書き換え、元のところに システム側でのDeleteのフラグを立てるんだよね この辺は仕様把握しておかないとボトルネックになる ウチだと元に戻せること前提だから、消すこと事態がないんだけど
556 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 15:22:12 ] ホスト変数が使えない旧mysql APIとか へんてこ仕様山盛りのunified ODBC APIは もう捨てちゃえばいいのに。
557 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 15:33:05 ] >>474 サンクス。その方法でやったらうまくいった。
558 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 23:51:00 ] 今日はOOPの勉強するかな。
559 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 00:20:27 ] もしかして、 クラスの、メンバ変数定義のところで、 $a=$a*2; とかって、計算をしたら、ダメなのかな?
560 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 00:24:14 ] やったこたないが、検証してみれば分かるだろ?
561 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 20:26:30 ] マニュアル読めば分かるだろ?
562 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 22:52:36 ] ここはプログラム板ですよ。 「マニュアル読め」しかいえないキチガイは かえってください!
563 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 23:33:51 ] じゃあ google-toi, s'il te plait
564 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 01:13:37 ] >>559 メンバー変数定義? class test { private $a = $a * 2; private $b; function __construt() { ~~~~ } } ってことか?
565 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 01:15:52 ] =w=)コンストラクタでやりゃいいだろ・・・
566 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 01:46:58 ] >>565 おお。 そのためにコンストラクタってあるんだ?
567 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 01:51:38 ] なんなんだが・・・
568 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 02:50:29 ] わしゃーてっきり self:$:hogera かと
569 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 19:00:13 ] つーか前後関係の説明がさっぱりないから、意味不明
570 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 20:13:44 ] >>562 プログラム板だとなぜにマニュアル読まないんだ? あと,マニュアルに書いてあることをなぜわざわざ質問するんだ?
571 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 21:36:41 ] 「マニュアル」 しか言えない人はこなくていいです。 帰ってください。
572 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 21:50:12 ] まあその程度でも給料もらえるんだよね、PHPプログラマって。 ドキュメント読んで探すより回りのデキる奴に聞いたほうが早い (邪魔だが朝出した簡単な課題に1日かけられるよりマシかも知れない)
573 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 21:53:46 ] 他人を逆引きリファレンスにするのはだーれだ! おれら、生き字引じゃ、なーいんだ!
574 名前:520 mailto:sage [2009/05/13(水) 00:42:29 ] 未だに設定が上手くいきません・・・・ skip-character-set-client-handshake を書いてみたりしたのですが、全く変化ありません。 色々なサイトの情報を全て試したので元に戻せるのかも微妙です^q^ どこかにまとめて記述してあるサイトを教えてください。
575 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 01:10:26 ] 何を? っていうか現状どうなってるか書かねーからこっちも何も言いようが無いんだけど
576 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 07:22:14 ] >>574 >色々なサイトの情報を全て試したので元に戻せるのかも微妙です 戻せないなら全部消してインストールしなおしがおすすめです。 これを機会にバージョン管理ツールの使い方をちょっとかじって 楽に戻せるようにしておきましょう。
577 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 20:04:31 ] >>574 最初の質問がどこにあるかわからないから、 もう一回最初から質問書いて。
578 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 21:33:33 ] svn使ってるけど、本番サーバのフォルダにリポジトリと同期させるのが コマンドラインでやるしかなくなったことでひるんでる。 作業用クライアントマシンにPHP環境仕込んだけど、やっぱサーバの 環境とはかなり違う・・・憂鬱。
579 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 21:44:08 ] svnで本番環境に展開するのと クライアントにPHP入れたことに何か関連性があるのか?
580 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 22:33:48 ] >>579 ない。
581 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 22:34:42 ] $a_a++; ってやったら、プラスされないんだけど、 なんで?
582 名前:520 mailto:sage [2009/05/13(水) 22:45:39 ] php.ini default_charset = "UTF8" extension=php_mbstring.dll mbstring.language = Japanese mbstring.internal_encoding = UFT8 mbstring.http_output = UFT8 my.ini default-character-set=utf8 mysql.default_charset = UTF-8 上記を設定したのですが、MySQLにマルチバイト文字を追加しAdministoratorなどで見てみると文字化けが起こります。 やりたい事は、マルチバイトでレコードの追加と表示とブラウザへの表示です。 フレームワークのコード設定がおかしいのでしょうか? 環境↓ PHP Version 5.2.8 Apache 2.0.63 NetBeans 6.5 MySQL 5.1 MySQL Administrator
583 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 22:46:38 ] UFT8
584 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 22:53:04 ] > MySQLにマルチバイト文字を追加し 発行したSQLくらい書け
585 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 23:16:26 ] >>583 早速直しました。ありがとうございます。 >>584 INSERT INTO `test` (id,name) values (0012,'ああ') でphpから挿入しようと試みました。 マルチバイト以外は正常に挿入できたので文法に間違いはないと思います。 utf8で全て揃えたら今度は挿入時にエラーが発生するようになってしまいました・・・・
586 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 23:31:22 ] >>585 ・・・・・・・・・・。で、エラー文を書く気は無いのかい。
587 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 23:34:07 ] PHP暦2週間でくだらない質問すいません。 File_Archive::extract ↑このコロン二つってどういう意味なんでしょう? 文法とか調べたけど全然載ってないので・・・・
588 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 23:39:19 ] >>586 すましえん try{ $dbh=new pdo($dns,$user,$password); $st=$dbins->query("INSERT INTO `test` (id,name) values (0012,'ああ');"); if($st){ print "よい"; } else{ print "だめ"; var_dump($st); } }catch(pdoexception $e){ print"エラー :".$e->getMessage(); die(); } で実行すると だめbool(false) と出てきます。 少し前までは文字化けしながらも挿入できたのですが・・・
589 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 23:41:55 ] >>585 INSERT INTO `test` (`id`,`name`) values ('0012','ああ'); こうじゃダメかい?
590 名前:デフォルトの名無しさん mailto:sage [2009/05/13(水) 23:42:19 ] >>587 親クラスのメソッドとか、メンバに アクセスするってこと。 たとえば 親クラスA{ unko- } だったら、子クラスがBだったら、 親クラスAのメソッドunko-にアクセスしたかったら、 A::unko- って書く。
591 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 00:00:59 ] >>589 出来ませんでした・・・。 INSERT INTO `test` (id,name) values (0012,'aa'); にするとすんなり挿入できるのですが・・・・ utf8 UTF8 UTF-8 など表記の違いがあるのでしょうか
592 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 00:05:55 ] ソースがutf8nじゃ無いとか面白いことしてないよな。
593 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 00:13:44 ] >>591 うーん、とりあえず自分の晒してみる $query = " INSERT INTO inline ( `day_index`, `write_day`, `edit_day`, `text`, `flag` ) VALUES ( ". $ID .", ". time() .", ". time() .", '". mysql_real_escape_string( $post_array["text"] ) ."', '1' ) ";
594 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 00:25:09 ] >>592 sjisだったりしてなぁ。
595 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 00:40:15 ] staticキーワード ttp://php.plus-server.net/language.oop5.static.html
596 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 00:52:53 ] >>591 phpinfoで設定確認をされました?
597 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 00:55:16 ] PHPてBOMに対応してないんだ、 勉強になった>結構はまりますよね。
598 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 01:12:33 ] >>591 あと、mysql_set_charset関数は、ためしました? mysqli_set_charseじゃないよ。 ttp://www.phppro.jp/phptips/archives/vol42/1
599 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 01:17:08 ] すみません、>>598 は間違いかも。 ttp://arumtaunsaram.tumblr.com/post/102893729/php-mysql
600 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 01:29:38 ] ごめんなさい、ごめんなさい。 >>599 も見なかったことに。。。 ROMにもどります・・・ ttp://blog.ohgaki.net/set_namesa_mcb_asc
601 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 01:53:26 ] >>600 の続き。(連投すみません) また違う指定されてる方もおられました。 MySQL、PDOとSET NAMESの組み合わせで、 鉄板の指定てあるのかな? ttp://d.hatena.ne.jp/jrofbyr/20081228/p1
602 名前:デフォルトの名無しさん [2009/05/14(木) 09:53:34 ] for文とwhile文ってみんな使い分けてるの? for文の方がコード少なくていいから、 while文使った事ほぼないんだけど。
603 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 11:21:04 ] というか用途が全然違うでしょ
604 名前:デフォルトの名無しさん [2009/05/14(木) 12:14:15 ] while文で例えばインクリメントで加算していく処理とか。
605 名前:デフォルトの名無しさん [2009/05/14(木) 13:51:30 ] while は テキストファイルを読み込む時 とか DBからデータを取り込むとき hashの処理とか が多い(while not eof) for は配列処理とか(個数が決まっているとか)が多いかも
606 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 16:41:49 ] foreachもたまには思い出してあげてください・・・
607 名前:デフォルトの名無しさん [2009/05/14(木) 17:58:22 ] すまん そだね
608 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 20:03:55 ] >>602 ファイルからデーター抜くときはwhile
609 名前:520 mailto:sage [2009/05/14(木) 20:29:30 ] レス下さった方ありがとうございます。 phpinfoで確認した所、ちゃんとutf8に設定されていました。 mysql_set_charset()などの関数が使えればいいのですが、別途にインストールが 必要なのでしょうか? Fatal error: Call to undefined function mysql_set_charset() とエラーが出てしまいます。
610 名前:デフォルトの名無しさん mailto:sage [2009/05/14(木) 20:40:03 ] >>609 ちなみにPHPのバージョンは? 古いと関数自体ないよ ttp://www.phppro.jp/phptips/archives/vol42/1 >mysql_set_charset関数はPHP-5.2.3から追加された >MySQLのクライアント側の文字コードまで設定することができる関数です。
611 名前:デフォルトの名無しさん [2009/05/14(木) 23:50:19 ] sql でcharset指定できなかったっけ? #postgresと間違えているか?
612 名前:520 mailto:sage [2009/05/15(金) 00:20:02 ] 諦めて一度全てアンインストールしてみます。 XAMMPでまとめて入れてみます。
613 名前:デフォルトの名無しさん mailto:sage [2009/05/15(金) 01:00:43 ] XAMMPインストールしたらデフォルトでマルチバイトが扱えました!!!!!1111 どうもお騒がせしました。 これからもよろしくお願いします
614 名前:デフォルトの名無しさん mailto:sage [2009/05/15(金) 01:06:07 ] いままでxampp使ってなかったの?
615 名前:520 mailto:sage [2009/05/15(金) 01:15:09 ] すいません、追記ですが $dbh->query("SET NAMES 'utf8' ;") を書いたらマルチバイトが扱えるようになりました。 書かなかったら使えませんでした。 >>614 phpの入門書的な本に、それぞれ単体でインストールする方法が載っていたのでXAMMPは存在自体 知りませんでした。 設定をいじくると怖いので、しばらくこれでいきます。 どうせローカルでの用途しかないので。 皆さんありがとうございました。
616 名前:デフォルトの名無しさん [2009/05/15(金) 07:32:52 ] 一応 my.cnf の default-character-set はちゃんと調べたほうが いいと思う