CakePHP2.0は初めてです。以前のバージョンからの変更が多すぎます。CakePHP2.0の基本的な機能の実装に多くの問題があります。CakePHP 1.3と2.0で同じコードを実行しましたが、出力が異なるため、問題が発生します。
以下に示すように1つのフォームを作成しました。
<form name="User" method="post" action="http://192.168.1.24/project/api/documents/sub" ENCTYPE="multipart/form-data">
<table>
<tr><td><label>username:</label></td><td><input type="text" name="username"></td></tr>
<tr><td><label>password:</label></td><td><input type="text" name="password"></td></tr>
<tr><td><label>email:</label></td><td><input type="text" name="email"></td></tr>
<tr><td><label>Image:</label></td><td><input type="file" name="image"></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="submit" value="Submit" />
このフォームは、CakePHP1.3と2.0の両方のアプリケーションに使用しました。CakePHP1.3のコントローラーコードは次のとおりです。
function api_sub()
{
$this->layout = false;
$this->data['Document'] = $this->params['form'];
pr($this->data); die();
}
上記のコードの出力は次のとおりです。
Array
(
[Document] => Array
(
[username] => mack
[password] => meack
[email] => mack@gmail.com
[submit] => Submit
[image] => Array
(
[name] => 01manta.jpg
[type] => image/jpeg
[tmp_name] => C:\wamp\tmp\phpF586.tmp
[error] => 0
[size] => 636306
)
)
)
CakePHP2.0のコントローラーコードは次のとおりです。
public function api_sub()
{
//$this->layout = false;
$this->request->data['Document']= $this->request->data;
pr($this->request->data); die();
}
上記のコードの出力は次のとおりです。
Array
(
[username] => mack
[password] => meack
[email] => mack@gmail.com
[submit] => Submit
[User] => Array
(
[username] => mack
[password] => meack
[email] => mack@gmail.com
[submit] => Submit
)
)
ここで問題となるのは、CakePHP 2.0では、画像配列が出力にないことです。CakePHP 2.0でその画像配列を取得する方法を教えてもらえますか?コーディングでどのような変更を行う必要がありますか?