FriendsOfCake / cakephp-upload

画像のアップロードでプラグインを探していたら、が良さそうだったが、ドキュメントcakemanager.orgを見に行っても真っ白なページしか表示されず断念。(2017/09/09現在)

代わりにFriendsOfCake/cakephp-uploadを使う。こちらも良さそう。チュートリアル形式のドキュメントもあるし。

Contents

ComposerでFriendsOfCake/cakephp-uploadをインストール

プラグインとしてロード

コマンドラインで

とするか、直接config/bootstrap.phpの最後に以下を追記する。

テーブル作成

bakeの形式は

picturesテーブルであれば

等。

で、テーブルを作成する。

直接SQLを発行しても良いが、複数サイトを開発していると色々なバージョンで運用することもあり、migrationの仕組みを利用していればバージョン管理の負担が随分と軽減される。

bakeしてソースコードを生成

Behaviorの登録

チュートリアル形式のドキュメントは

となっているが、間違いのようだ。

Templateの編集

bakeで生成されたテンプレートを以下の様に変更する。

またまた、チュートリアル形式のドキュメントでは’file’の部分が

となっているが、シングルクオーテーションの付け忘れだろう。

ディレクトリおよびパーミッションの設定

デフォルトではwebroot/files/<モデル名>/<フィールド名>/のディレクトリにアップロードされるので、mkdirでディレクトリを作成しておく。

注意点としては、<モデル名>は本当にモデル名なので先頭は大文字になる。また、<フィールド名>のディレクトリはWebサーバが動作するowner OR groupの書き込み権限が必要になる。(Redhat系はapache、Ubuntu系などはwww-data等)

以上で基本的に動作するが、色々とカスタマイズ出来るようになっており、AWS S3にアップロードしたい場合は、上記チュートリアル形式のドキュメントで、デフォルト動作の変更やValidation等詳しい説明はCakePHP Upload Documentationに書かれている。

 

コメントをどうぞ

入力されたメールアドレスは公開されません。

This site uses Akismet to reduce spam. Learn how your comment data is processed.