タグ

ブックマーク / www.1x1.jp (24)

  • Shin x blog

    PHPでWEB+DBシステムの開発をやっています。

  • PHPからPostgreSQLに大量のデータを登録する

    PostgreSQLに大量のデータを登録する際はINSERTを使って一件づつ処理するより、COPYを使って一気に登録した方が実行速度が(かなり)速いです。 そこでPHPでもCOPY文を使ってみましょう。 pg_copy_fromを使う 登録するデータが配列に入っているならpg_copy_fromだけで一気に処理できます。 配列の1要素が1レコードに対応しています。1要素内では各カラムをデリミタ(デフォルトは”\t”)で連結します。 <?php $values = array(); $values&#91;&#93; = "1\tname1"; $values&#91;&#93; = "2\tname2"; $values&#91;&#93; = "3\tname3"; $db = pg_connect("dbname=hogedb"); pg_copy_from($db, 'table',

  • CakePHP Screencastまとめ | Shin x blog

    CakePHPを解説するScreencastをまとめてみました。 フレームワークを理解するのにソースやドキュメントを見て触るのが一番良いのは間違いないですが、動画や音声での解説はイメージを頭に作るのにとても役立ちます。 私も今はソースやファイル構成が(ざっくりですが)頭に入っていますが、Screencastを見るとより理解が深まるように感じます。 1. Admin Routing Admin Routingの使用法です。(/adminでadminアクションを呼び出す方法) bakeでMVCを生成して、adminアクションに対応させていきます。 2. Episode 1: Using Debug Messages URLに対応するMVCが無い場合に表示されるエラーメッセージに従ってアプリケーションを構築していきます。 序盤はMVCをbake&エディッタで書いていきますが、途中からscaffo

  • CakePHPでCSRF対策

    CakePHPでCSRF対策を行う方法です。 フレームワークに含まれているSecurityコンポーネントを使います。 Security#requestAuth()にアクションを記述しておくと、アクション実行前に正規リクエストかどうかをチェックします。チェックの方法はCSRF対策で一般的なワンタイムトークン方式です。 まずController#beforeFilter()にてチェックを行うアクションを指定します。 [app/controller/test_controller.php] < ?php class TestController extends AppController { var $name = 'Test'; var $components = array('Security'); function beforeFilter() { $this->Security->req