フォームの中で添付したファイルをメールに添付して送信したいです。
html
1<?= $this->Form->create('', ["enctype" => "multipart/form-data"]); ?> 2 <div> 3 <input type="file" id="" name="file" value=""> 4 </div> 5 <div> 6 <input type="submit" name=""> 7 </div> 8<?= $this->Form->end(); ?>
php
1Controller 2 3if ($this->request->is(['patch', 'post', 'put'])) { 4 $data = $this->request->getData(); 5debug($data); 6exit; 7 $emailbody = <<<EOF 8EOF; 9 $email = new Email('default'); 10 $email->attachments($data['file']); 11 $email->to($data['email']); 12 ->send($emailbody); 13 }
ちなみにrequest dataの中のfileをdebugすると
'file' => [
'tmp_name' => '/tmp/phpMTdXPt',
'error' => (int) 0,
'name' => 'hogehoge.pdf',
'type' => 'application/pdf',
'size' => (int) 24033028
]
$email->attachmentsでうまく添付ファイルの送信ができませんでした。
File not found: "0" というエラーが出ます。
Controller側でどのような処理が必要でしょうか?
ご教示いただけると幸いです。
回答2件
あなたの回答
tips
プレビュー