mysqlから引っ張ったblob型の画像が途中で途切れるのはPDOのせいだった

mysqlにblob型(バイナリデータ)で格納した画像を、PHPで表示させるときに丁度1MBの所で途切れる現象でハマったのでメモ。
PDOはディフォルトで、1つのクエリーに対して1MBのデータしか取得できない模様。
インスタンス生成時にPDO::MYSQL_ATTR_MAX_BUFFER_SIZEで設定を変えることができた。

スポンサードリンク

$dbh = new PDO(DSN,DB_USER,DB_PASSWORD,array(PDO::MYSQL_ATTR_MAX_BUFFER_SIZE=>1024*1024*10));

第4引数にarrayで追加する。この場合10MBまで引っ張れる(10を20にすれば20MBまでとなる)。

ググっても中々原因を特定できなかった。レンタルサーバー(ロリポップ)の制限されているのか?とか、ブラウザが原因か?とかひたすらハマった。
てな感じで検索ワード多めに書きました。

以下、大変感謝です!!

PDOで1MB以上の画像が表示できない…

PDO で1MB以上のカラムを取得できない場合

スポンサードリンク

コメント

タイトルとURLをコピーしました