複数ファイルアップロードフォーム
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();
?>
関連記事
-
-
数値系バリデーション
CakePHP 2になっていくつか数値用バリデーションルールが追加されています。 数値用 (コア)バリデーション decimal - 十進数であること numeric - 数値であること
-
-
Jsヘルパーを使用してAjax更新
更新処理でページ遷移を伴う場合、ページ全体をレスポンスするのに対して、Ajax処理ではページの一部のレスポンスが可能となるためサーバからの通信量を抑えることが可能となります。デモ head
-
-
radioボタンを実装
Radioボタンの実装は、セレクトボックスとほぼ同じです。 個人的にはラジオボタンをすすんで使用することは少ないのですが、2択くらいの選択肢であれば非常に便利ですよね。 今回は、その実装方法 デモ
-
-
checkボックスを実装
selectボックスに引き続いてcheckボックスの実装方法をおさらいしてみます。 コードは、CakePHP 2と1.3両方で実装可能です。デモ モデルは、こちらも以下 CREATE TA
-
-
hasOne アソシエーション
hasOneアソシエーションはテーブル間で1つのレコードに対して他のテーブルに紐付くレコードが1つの場合にjoinする場合に使用します。 CakePHPのドキュメントにならってUserモデルとP
-
-
CakePHP 2.x インストール
現在まで私が商用・非商用にリリースしているCakePHPアプリケーションは全て1.3.xベースで作成しています。 まだまだロードマップ的には大丈夫そうですが、お客さん向けに納品しているアプリケーショ
-
-
Markdown Plugin
「Markdown CakePHP Plugin」は、MarkDown書式をレンダリングしてくれるビューヘルパーです。MarkDownについて勉強しているうちに出会ったので試し打ちです。 ダウンロー
-
-
(メール・URL・電話・郵便・IP) データ バリデーション
今回は、プロフィール情報に使用されるデータに絞ったバリデーションルールです。 バリデーションルール 以下の5つのバリデーションルールがコアに用意されています。 email メールアドレス
-
-
CSS/JSをひとまとめにして軽量化するプラグイン「Minify plugin for CakePHP」
「Minify plugin for CakePHP」は、インクルードするCSSもしくはJSファイルをひとまとめにしてキャッシュ化してくれるプラグインです。 導入 ダウンロード・解凍し
-
-
FormヘルパーのMagicOption (マジックオプション)
Formヘルパーでは、「フィールド名」,「テーブルカラムのデータ型」もしくはモデルの「バリデーション設定」によりフォーム要素を決定したり、自動で属性を付与する「マジックオプション」と呼ばれるものがある


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