こんにちは、戸田です。
遅くなりましたが、PHPからDBのBLOB列にデータを入れるのは、
CodeIgniterでは特別なことは何もやっていなくて、
PHPの、各RDBMSへの接続ライブラリーの仕様に依存しています。
CodeIgniter流というより、PHP単体でのやり方がわかっていれば、そのままやれます。
このため、MySQL などですと、普通にファイルのバイナリーデータが保持された変数を
プリペアードクエリーなどに渡せばOKなのですが、
SQL Server などですと PHP からではそのやり方は対応していなくて、うまくいきません。
RDBMSの種類など、環境への依存度を下げるやり方として、
私は BASE64 などの printable ascii な文字列でエンコードしたデータを
長い文字列を保存できる列(LONGTEXTとかVARCHAR(max)とか)に保存するやり方を、
BLOB列に保存する代替策としてよく使っています。
このような処理をModelクラスに隠蔽すると良いでしょう。
BASE64 にエンコードするとだいぶデータ量が増えてしまうので注意が必要ですが、
PHPに組み込み関数があるので実装は非常に簡単です。
2015年4月18日土曜日 9時52分59秒 UTC+9 ken ken: