CakePHP2.x系で画像のアップロードフォーム

CakePHP2.x系で画像のアップロードフォームを作りたかったので調べたところ、アップロードの先の格納方法が2通りある事に気づき、両方やってみたのでメモしておきます。

スポンサーリンク

①アップロードした画像をデータベースに格納する方法

テーブル定義例

front_image_nameはファイル名になります。

front_image_contentsはファイルになります。blobだと64KBほどしか保存できないようなので、mediumblob(16MBくらい)にしました。

フォーム(add.php)

コントローラー(TestsController.php)

$this->request->data[‘Test’][‘front_image’][‘tmp_name’]は「/tmp/ふぁいるめい」みたいな感じになっていたので、file_get_contentsでバイナリデータにしてDBに格納できました。

②アップロードした画像をディレクトリに格納する方法

テーブル定義例

①と比べ、画像に関する項目がいらなくなりました。

フォーム(add.php)

①と同じです。

コントローラー(TestsController.php)

指定ディレクトリを決めて、その中にIDなどでファイル名をつけて格納しました。

画像アップロードのコントローラーとビューのコードをまとめました。

CakePHP2.x 画像アップロードフォームの実装まとめ
CakePHP2.x 画像アップロードフォームを実装したのでまとめておきます。 ユーザマイページにユーザアイコンを登録する良くある箇所...

参考サイト様

http://bashalog.c-brains.jp/10/06/05-074544.php

http://kwski.net/cakephp-2-x/1152/

http://blog.s-giken.net/24.html

http://www.almondlab.jp/labs/1043