のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,331,505人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    851 : nobodyさん - 2012/11/14(水) 02:53:09.72 ID:??? (+3,-29,-10)
    echo date("Y年m月d日", strtotime("2012-10-25"));
    852 : nobodyさん - 2012/11/14(水) 09:09:07.23 ID:??? (-2,-30,-18)
    PHP 5.4 (5.4.9RC1)
    VC9 x86 Thread Safe (2012-Nov-07 22:35:53)
    http://windows.php.net/qa/
    853 : nobodyさん - 2012/11/14(水) 10:37:53.58 ID:??? (-11,-30,-22)
    >>848
    print vsprintf("%04d年%02d月%02d日" ,sscanf("2012-08-21","%d-%d-%d") );
    854 : nobodyさん - 2012/11/14(水) 11:32:53.97 ID:??? (+64,+29,-26)
    >>850
    自分のやってる正規表現で置換する以外の賢い方法を知りたかったので

    >>851,853
    おおー、両方とも知らなかったです
    ありがとうございました
    855 : nobodyさん - 2012/11/14(水) 12:24:11.16 ID:??? (+13,-23,-14)
    >>854
    速度は正規表現の方が劇的に速い
    856 : nobodyさん - 2012/11/14(水) 12:48:39.37 ID:??? (+57,+29,-7)
    存在しない日付のとき問題出るしな
    出たほうがいい場合が多いが
    857 : nobodyさん - 2012/11/14(水) 13:30:38.94 ID:??? (-1,-29,-2)
    >2012年08年21日
    年月日じゃなくて年年日にしたいそうだぞ
    858 : nobodyさん - 2012/11/14(水) 13:37:42.81 ID:??? (+51,+28,-1)
    こういうやついるよな
    860 : nobodyさん - 2012/11/14(水) 14:28:32.15 ID:??? (+54,+26,-50)
    一般的なデータベースにはバイナリ文字列は入れられないのが普通。
    エスケープ、エンコードして入れるのが安全。
    861 : nobodyさん - 2012/11/14(水) 14:31:16.69 ID:??? (-2,-30,-31)
    utf8_unicode_ci → utf8_general_ci
    862 : nobodyさん - 2012/11/14(水) 14:31:40.40 ID:??? (-3,-30,-96)
    mysql_real_escape_string (PHP 4 >= 4.3.0, PHP 5)
    SQL 文中で用いる文字列の特殊文字をエスケープする
    代替策について
    この拡張モジュールを使うことはおすすめできません。 MySQLi あるいは PDO_MySQL を使うべきです。
    詳細な情報は MySQL: API の選択 や それに関連する FAQ を参照ください。
    http://phpspot.net/php/man/php/function.mysql-real-escape-string.html
    864 : nobodyさん - 2012/11/14(水) 14:38:50.94 ID:??? (+3,-29,+0)
    怪しい入力を残しておくとこうなる可能性。


    SQLインジェクション - Wikipedia
    SQLインジェクションとは、アプリケーションのセキュリティ上の不備を意図的に利用し、
    アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法のこと。
    また、その攻撃を可能とする脆弱性のこと。

    実例
    2005年5月に発生した、価格.comのWebサイト改竄 クラブツーリズム事件の犯人は価格.comへの不正アクセスも行っていた。
    2005年8月に判明した、静岡新聞社アットエスの個人情報漏洩 - クラブツーリズム事件と同一犯
    2005年11月に発生した、ワコールオンラインショップのクレジットカード情報を含む個人情報漏洩
    2005年11月に発生した、キッズオンラインのアカウント情報漏洩
    2006年1月に判明した、スカイソフトのクレジットカード情報を含む個人情報漏洩 スカイソフトは閉店へと追い込まれた。
    2007年7月に判明した、@SOLAショップのクレジットカード情報を含む個人情報漏洩
    2008年3月に発生した、トレンドマイクロ、@nifty、クリエイティブメディアのWebサイト改竄
    2008年3月に発生した、サウンドハウスのクレジットカード情報を含む個人情報漏洩
    2008年4月に発生した、カービューのWebサイト改竄
    2008年5月に発生した、アイドラッグストアー、アイビューティーストアーのクレジットカード情報を含む個人情報漏洩
    2008年5月に発生した、富士山マガジンサービスのWebサイト改竄
    2008年6月に発生した、アイリスプラザのクレジットカード情報漏洩
    2008年7月に判明した、ナチュラムのクレジットカード情報を含む個人情報漏洩
    2008年7月に発生した、米国向けプレイステーションのWebサイト改竄
    2008年7月に発生した、独立行政法人石油天然ガス・金属鉱物資源機構のWebサイト改竄
    2008年10月に発生した、ゴルフダイジェスト・オンラインのWebサイト改竄
    2010年1月に発生した、モンベルのクレジットカード情報漏洩
    2010年7月に発生した、コーエーテクモホールディングスのGAMECITY会員の個人情報漏洩
    2011年4月から発生している、ソニーのプレイステーションネットワークの個人情報漏洩に始まる、ソニーグループの個人情報漏洩。
    865 : nobodyさん - 2012/11/14(水) 14:43:17.89 ID:??? (+44,+24,-9)
    >>863
    安全な文字列へ変換してもダメなのか。そしたらわからん。
    866 : nobodyさん - 2012/11/14(水) 14:47:43.98 ID:??? (-1,-29,-34)
    とりあえずbase64でエンコードしてみてダメか確認してみては?
    base64関数は使いこなされていてバグは考えられず、確実に安全な文字列になる。
    867 : nobodyさん - 2012/11/14(水) 14:50:12.58 ID:??? (+28,+8,-80)
    >>863
    データベースへ送信するコマンド全体をエスケープしとけ。
    エスケープしてる部分としてない部分が混合すると不具合が出る可能性ある。
    868 : nobodyさん - 2012/11/14(水) 14:51:06.06 ID:??? (-1,-29,-7)
    まー、多分そういうことじゃないと思うよ。
    まず、
    echo 'インサート失敗'.mysq_error(); にしてみ。
    869 : nobodyさん - 2012/11/14(水) 15:00:32.51 ID:??? (+0,-30,-61)
    え、何?
    お前ら全角チルダと波ダッシュのよくある問題パターンでしょ・・・
    見当はずれの書き込み多すぎワロタ
    870 : nobodyさん - 2012/11/14(水) 15:09:30.07 ID:??? (+58,+29,-2)
    >>869
    あれはいつもの人でしょ?
    872 : nobodyさん - 2012/11/14(水) 15:24:05.18 ID:??? (+3,-30,-69)
    >>869
    データベースには正しくエンコードしたら、jpgでもzipでも入れられるが。
    任意のバイナリデータでは波ダッシュも全角チルダも含む可能性があるが、そんな問題に出会ったことがない。
    挿入以外の文字コード変換でエラーになってるのでは?
    873 : nobodyさん - 2012/11/14(水) 15:36:45.31 ID:??? (+23,-4,-14)
    文字化けじゃなくて、DBの設定があってないだけですね。
    874 : nobodyさん - 2012/11/14(水) 15:44:04.85 ID:??? (-1,-29,-13)
    スクリプトファイルの文字コードがUTF-8じゃないんだろ
    875 : nobodyさん - 2012/11/14(水) 17:18:39.07 ID:??? (-6,-29,-1)
    EFBD9Eね
    なるほど
    876 : nobodyさん - 2012/11/14(水) 17:22:58.46 ID:??? (+0,-29,-23)
    Rawデータ、無変換データをbase64でテキストにしとけ
    878 : nobodyさん - 2012/11/14(水) 21:25:11.35 ID:??? (+2,-29,-76)
    >>876
    いまだにこういうレベルの低いノウハウがサイトに山盛り残ってるんだよな。
    間違った対処法で誤魔化したりしてるから、一向に正しい知識がつかない上に、トラブルの元でしかない。

    Incorrect string value のエラーを返してるのは mysql側 で \xEF\xBD\x9E が受け取れないって言ってる、
    そのうえ、UTF8の他の字ならいいんだろ? DBの設定違い以外に無いじゃないか。
    DBの設定をどうやって確認して、どうなってたのか見せてみ。
    880 : nobodyさん - 2012/11/14(水) 22:20:55.34 ID:??? (+7,-30,-113)
    文字コードの設定やデータベース仕様に左右されるのは面倒。
    base64_encode(gzdeflate($bindata, 1))か
    base64_encode(gzcompress($bindata, 1))
    でテキストにして挿入しとけ。
    データベース固有のエスケープ(エンコード)関数と比べ、サイズも速度も良い場合が多い。
    882 : nobodyさん - 2012/11/15(木) 02:14:55.08 ID:??? (+58,-30,+0)
    gzdeflateとgzcompressを計測してみた。圧縮率に差はでなく速度でgzdeflateが有利ぽい。

    <?php
    define('repeat', 1000);
    $urls=array(
    'http://www.youtube.com/', 'http://www.yahoo.co.jp/', 'http://www.amazon.com/', 'http://jp.msn.com/',
    '',
    '',
    '');

    $fncs = array('gzdeflate','gzcompress');
    $tmp = array('time'=>0, 'size'=>0);
    $cnt=array('gzdeflate'=>$tmp,'gzcompress'=>$tmp);
    foreach($urls as $url) {
    echo "downloading...$url\n";
    $data = file_get_contents($url);
    foreach($fncs as $fnc) {
    echo "measuring in progress...$fnc\n";
    timer();
    for($n=0;$n<repeat;$n++) $cnt[$fnc]['size']+=strlen($fnc($data, 1));
    $cnt[$fnc]['time']+=timer(); }
    print_r($cnt); }

    function timer() {
    static $flg=0,$start=0;
    if(!$flg) { $flg=1; $start = microtime(true); return; }
    $t0=microtime(true); $t1=$t0-$start; $start=$t0;
    return $t1; }
    883 : nobodyさん - 2012/11/15(木) 09:09:15.92 ID:??? (+9,-29,-70)
    質問させてください。
    PHPでMySQLのデータを処理するにあたってですが、
    一回のselectクエリで最大何件くらいのデータを取得するのがプログラム的に妥当ですか?
    例えば5万件のデータがあるテーブルなら、100件とか1000件とかをLIMIT句で順々に取得した方が安全ですか?
    884 : nobodyさん - 2012/11/15(木) 10:26:29.66 ID:??? (+48,+30,+0)
    885 : nobodyさん - 2012/11/15(木) 10:31:30.90 ID:??? (+68,+29,-49)
    >>882
    そういうのは、自分のblogかなにかでやってください。
    削除依頼メンドクサイです。

    >>883
    1件のデータ量と、マシンの能力と、それで何をするかによる。
    そもそも、危険だと思ったのはなぜですか? どこかに書いてある?
    886 : nobodyさん - 2012/11/15(木) 11:11:43.95 ID:yORZGjm1 (+26,+29,-8)
    >>880
    これさ、後でデータを人間が探す時に苦労しねぇ?
    887 : nobodyさん - 2012/11/15(木) 11:28:43.46 ID:lInARbbJ (+30,+26,-60)
    質問ではないのですが、
    5.3から導入されたネームスペースって
    バックスラッシュ区切りですけど、
    Perlみたいにコロン2つにできなかったんでしょうか?
    何か構文的に問題があるんでしょうか?
    888 : nobodyさん - 2012/11/15(木) 12:30:03.26 ID:??? (+65,+28,-3)
    データビューアーを別途作るハメになる
    889 : nobodyさん - 2012/11/15(木) 12:36:09.34 ID:??? (+54,+17,-34)
    コロン2つってクラスメソッドとかクラス変数呼び出すときに使うじゃん
    890 : nobodyさん - 2012/11/15(木) 12:48:27.17 ID:??? (+62,+30,+0)
    891 : nobodyさん - 2012/11/15(木) 12:54:48.50 ID:??? (+64,+29,-3)
    >>889
    それと同じ記号ではいけない理由は?
    892 : nobodyさん - 2012/11/15(木) 13:47:11.66 ID:??? (+47,+19,-55)
    x.xxから導入されたネームスペースって
    コロン2つ区切りですけど、
    xxxxみたいにバックスラッシュにできなかったんでしょうか?
    何か構文的に問題があるんでしょうか?

    という質問に変わるだけだw
    893 : nobodyさん - 2012/11/15(木) 16:54:55.29 ID:??? (+62,+29,-124)
    メインの実行ファイルからクラスを読み込んでインスタンス作成した後、そのインスタンス中で別のクラスが必要になる時にはどのように呼ぶのが適切なのでしょうか?

    1. requireはメインに戻ってする? ローダークラスなど作ってその中でrequire?
    2. newはインスタンス内でする? メインでnewしてインスタンスに渡す?

    こういった孫オブジェクト的なものの扱いがよくわかりません。どうかご教授ください。
    894 : nobodyさん - 2012/11/15(木) 22:32:28.41 ID:??? (+57,+29,-23)
    >>1もスレタイすらも読まないのは何故なのでしょうか。どうかご教授ください。
    895 : nobodyさん - 2012/11/16(金) 17:29:17.42 ID:??? (+66,+29,-4)
    >>888
    お前みたいな荒らしをあぶりだすためですはい
    896 : nobodyさん - 2012/11/16(金) 19:13:09.15 ID:3ZAHI2sw (+32,+28,-36)
    スクレイピングを行う場合、
    外部ライブラリを使わずに地道にHTMLコード解析して文字列操作で
    今取得していますが、こういったスクレイピング方法はやはり邪道なのでしょうか?
    897 : nobodyさん - 2012/11/16(金) 21:23:01.15 ID:??? (+52,+29,+1)
    いいえ邪道ではありません。
    898 : nobodyさん - 2012/11/16(金) 23:14:10.21 ID:??? (-2,-25,+0)
    888のどこが荒らしやねん
    899 : nobodyさん - 2012/11/17(土) 11:02:06.99 ID:??? (+67,+29,-27)
    >>896
    邪道も何もそこらにあるライブラリより優れてるものなら自分で作ればいい
    有名なHTMLパーサでも一部のHTML解釈できなかったりするしね
    それ以下のものしか使えないなら外部ライブラリに頼ってもいい、その程度
    900 : nobodyさん - 2012/11/17(土) 11:54:05.69 ID:??? (+57,+29,-80)
    厳密に解析してDOMツリーまで作るか、
    速度重視で正規表現で狙うか、
    作ったものを再利用するか、
    対象HTMLの構造はコロコロ変わるか、
    とかいろいろある
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について