2017-05-16 18 views
0

このCakePHPフレームワークでは、cakephpを使用してファイルをアップロードする方法を追って理解しています。私はjosediazgonzalezによって提供されるアップロードプラグインを使用しています。ビューファイルでは、FormHelperの使用して私が持っている:入力フォームからデータを取得する方法Cakephp 3

<?= $this->Form->create($user, ['type' => 'file']) ?> 
<fieldset> 
    <legend><?= __('Add User') ?></legend> 
    <?php 
     echo $this->Form->control('name'); 
     echo $this->Form->control('username'); 
     echo $this->Form->control('password'); 
     echo $this->Form->control('role'); 
     echo $this->Form->input('photo', ['type' => 'file']); 
     echo $this->Form->control('dir'); 
    ?> 
</fieldset> 
<?= $this->Form->button(__('Submit')) ?> 
<?= $this->Form->end() ?> 

は、私は再び私は私のコントローラに送信された値を印刷したい、私は何を書くべきですか?何かのように:

$this->request->data; 

答えて

3

$ this-> request-> dataは、あなたのscirptに渡されるデータの配列です。 、この時点から

$someVariable = $this->request->data("name"); 

:アクセサ)

$data = $this->request->data; 
$someVariable = $data["name"]; 

それとも、あなたが(データを使用することにより、直接、任意のフィールドにアクセスすることができます:あなたが持つことに興味がある分野、例えばを得るためにそれを使用することができますこの変数を使用して任意の操作を行うことができます。

$ this-> request-> dataと$ this-> request-> data()は現在非推奨の状態であり、次のバージョンでは削除されますので、$ this-> requestを使用することをお勧めします代わりにgetData()を呼び出します。使い方は似ています。

$this->request->getData(); //will return array of data passed 
$this->request->getData("field_name"); //access to specific field 
+0

1以上の質問、あなたは複数のファイルについて知っているか、?、あまりにもそれで問題が発生したイムをアップロードする複数の選択だけで1アップロードされ、あなたは、私が知らないプラグインを使用している – vicnoob

+0

保存現在のファイル入力では複数のファイルをアップロードできません。しかし、ファイル入力を '$ this-> Form-> input(" photos "、[" type "=>" file "、" multiple "])のように変更すると、複数のファイルを選択することができます。フォームを送信した後、リクエストデータに "photos"という名前の配列があります。それを反復処理してすべてのファイルを保存できます。 – Szymon

+0

私の問題は、写真の後にドットを追加すると、「空のプロパティを取得できません」というエラーが表示されることです。あなたはスカイプや、私が詳細情報のために連絡できる何かを持っていますか? :( – vicnoob

関連する問題