複数ファイルアップロードフォーム
CakePHP 2.0からはHTML5が標準でサポートとなり、複数ファイルアップロードのためのフォーム記述が容易になりました。
View (ビュー)
<?php
echo $this->Form->create( 'Upload', array( 'type'=>'file', 'url' => '/uploadmulti', 'enctype' => 'multipart/form-data'));
echo $this->Form->input( 'files.', array( 'type' => 'file', 'multiple'));
echo $this->Form->submit( 'upload');
echo $this->Form->end();
?>
配列
Array
(
[files] => Array
(
[0] => Array
(
[name] => bg-home.png
[type] => image/png
[tmp_name] => /var/tmp/phpdxbKr6
[error] => 0
[size] => 353271
)
[1] => Array
(
[name] => bg-home.jpg
[type] => image/jpeg
[tmp_name] => /var/tmp/phpkWir95
[error] => 0
[size] => 52376
)
)
)
CakePHP 1.3での方法
View (ビュー)
以下のようにForm->inputのフィールド名をかえると(ドットの後にスペース)、コントローラが受け取る配列は2.xと同じになります。
<?php
echo $form->create( 'Upload', array( 'type'=>'file', 'url' => '/upload/multiupload', 'enctype' => 'multipart/form-data'));
echo $this->Form->input( 'files. ', array( 'type' => 'file', 'multiple' => 'multiple'));
echo $this->Form->submit( 'upload');
echo $form->end();
?>
関連記事
-
-
CakeEmailでメール送信(@gmail)
CakePHP 2になって追加されたクラスCakeEmailがシンプルに使えます。これを使用してメール送信を行う処理を実装してみました。 CakeEmailクラスの読み込み /app/Config
-
-
バリデーション前後に処理を追加できる「beforeValidate」「afterValidate」
CakePHPでは、「beforeValidate」「afterValidate」というバリデーション処理の前後で追加の処理を実装できるコールバック関数が用意されています。 beforeVali
-
-
ユーザ登録(仮登録・メール・本登録)
以前1.3版で投稿した「ユーザ登録」処理の2.x版を作成しました。フローは同じで以下のようにします。 1. メールアドレス・パスワードでユーザ登録 2. この時点では仮登録として、本登録用のU
-
-
selectボックスを実装
今まで、selectボックスのgroupを作成するのにSet::Combineを使用していましたが、意外と簡単にできることに気付いてしまったので、ご紹介。(自分だけ知らなかったことに気付いた と言った
-
-
ネストしたリストを出力「nestedList」
DBやJSONからデータを取得して、そのデータをもとにメニュー表示などネストしたリストを出力させたい場合に「nestedList」が便利です。 ヘルパーに渡すデータは連想配列である必要があります。(
-
-
hasOne アソシエーション
hasOneアソシエーションはテーブル間で1つのレコードに対して他のテーブルに紐付くレコードが1つの場合にjoinする場合に使用します。 CakePHPのドキュメントにならってUserモデルとP
-
-
Cookieログイン
今回は、ログイン画面でよくみかけるクッキーログインの機能を使ってみます。 CakePHPには、Cookieコンポーネントがあります。(PHPのsetcookieメソッドのラッパー)メソッドはwr
-
-
独自のバリデーションルールを作成
CakePHPで組み込みバリデーションルールをつくる方法は、正規表現を定義する方法と独自メソッドを定義する方法の2つがあるようです。 参考 Custom Validation Rules 正規
-
-
Js/Cssファイルの読み込みや出力する方法
CakePHPのHTMLヘルパーにはjsファイルやcssファイルを読み込むためのメソッドが用意されています。ファイルを読み込むのに加えて、出力先を複数指定できるようになっています。 また、インライン
-
-
CakePHP 2.x インストール
現在まで私が商用・非商用にリリースしているCakePHPアプリケーションは全て1.3.xベースで作成しています。 まだまだロードマップ的には大丈夫そうですが、お客さん向けに納品しているアプリケーショ


Comment
[…] CakePHP 2.x – 複数ファイルアップロードフォーム […]
メモ / 複数ファイルアップロードフォーム http://t.co/LLM7Y5cneB
複数ファイルアップロードフォーム http://t.co/r8Mip2xbk2