2017-05-16 49 views
0

我對這個Cakephp框架非常陌生,試圖瞭解如何使用cakephp上傳文件。我正在使用josediazgonzalez提供的上傳插件。在查看文件,使用表單助手我有:如何從輸入表單中獲取數據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的數據數組。你可以用它來獲取現場,你有興趣與,如:

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

或者,您也可以直接訪問任何領域,通過使用數據()訪問:

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

從這一點來說,你可以用這個變量做任何你想要的。我們建議使用$ this-> request($ this-> request-> data()和$ this-> request-> data - > getData()代替。使用方法是相似的:

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

1以上問題,你知道的多文件上傳?IM用起來太麻煩,選擇多,但只有1是上傳和存儲 – vicnoob

+0

您正在使用的插件,我不知道,但是你當前的文件輸入不應該允許上傳多個文件。但如果你改變你的文件輸入,如下所示:'$ this-> Form-> input(「photos。」,[「type」=>「file」,「multiple」])'它可以讓你選擇多個文件。提交表單後,在請求數據中會有一個名爲「photos」的數組 - 您可以遍歷它並保存所有文件。 – Szymon

+0

我的問題是,當我在照片後添加一個點時,出現錯誤「無法獲取空白屬性」。你有Skype或什麼,我可以聯繫進一步的信息? :( – vicnoob