2016-03-25 32 views
0

我使用CakePHP 3與Cake \ Network \ Email \ Email。發送圖像電子郵件cakephp沒有存儲它

我有一個表單發送帶有兩個輸入字段的消息。這些字段存儲在數據庫中。 我想加入一張圖片到這個表格而不存儲它:只在附件中。 這裏是我的輸入文件:

<?php echo $this->Form->file('photo', ['class' => 'form-control','value'=>'','accept'=>'image/*']); ?> 

我的控制器:

$Email = new Email('default'); 
$Email->theme('Front') 
    ->template('my_template1') 
    ->viewVars(['sender'=> $user, 'recipes'=> $recipes]) 
    ->attachments([$this->request->data['photo'] => $this->request->data['photo']['tmp_name']]) 
    ->emailFormat('html') 
    ->to('[email protected]') 
    ->from($user['email']) 
    ->send(); 

文字輸入以及存儲和發送。但沒有圖像附加在我的電子郵件...

有什麼不對?

謝謝!

+0

從啓用調試模式開始,您在那裏做的事情在任何情況下都會觸發錯誤。 – ndm

+0

我得到一個警告:「非法偏移類型」附件 –

+0

我有同樣的問題,調試($ this-> request-> data);你沒有得到你認爲你得到的東西 – artSir

回答

0

我在這裏堅持,我得到它,在你創建表單中添加

'enctype'=>'multipart/form-data' 

所以應該

echo $this->Form->create($email, ['enctype'=>'multipart/form-data']); 

這在其他控制器默認添加,但是當你使用模式少的形式它不這樣做。