2008年7月14日月曜日

Zend Framework とBLOB

Zend FrameworkでBLOB、バイナリデータを扱ってみました。

環境は以下

PHP 5.1.6 (PHPの構築で--with-pdo-pgsqlを忘れずに)

ZF 1.5.1

DB postgresql 8.1



ここはやっぱりZend_DBの出番、、、が、微妙に見つからない(^^;

なのでZend_DBの元となったPDOの関数を使用。

見つかるまで(あるんかな?)こいつ
//DBに接続
$db = Zend_Db::factory($dbConfig);
$db->beginTransaction();

//画像ファイルのファイルポインタ
$siteImageFp = fopen("/path/image.jpg",'r')

//SQL生成
$sql = "INSERT INTO image (id,image)";
$sql .= " VALUES (:id,:imagename)";
$stmt = $db->prepare($sql);
$stmt->bindValue('id',$db->nextSequenceId('t_image_seq'));

//3つ目の引数にLOB型だという情報を設定
$stmt->bindValue('image',$siteImageFp,Zend_DB::PARAM_LOB);

//登録
$stmt->execute();
$db->commit();

0 件のコメント :

コメントを投稿