我想在我的电子邮件正文中导入它,如下所示:
webroot/img/
但是,我收到 $Email->template('welcomeReseller')
->emailFormat('html')
->from(array($from => $cus_name))
->attachments(array(
array(
'file' => $this->webroot . 'img/logo.png',
'mimetype' => 'image',
'contentId' => '12345'
),
array(
'file' => $this->webroot . 'img/logo.png',
'mimetype' => 'image',
'contentId' => '123456'
),
array(
'file' => $this->webroot . 'img/logo.png',
'mimetype' => 'image',
'contentId' => '1234567'
),
))
->viewVars($email_data)
->to($tests)
->subject($subject);
$Email->send($body);
错误。这很简单。文件路径不正确。但是我的代码中有什么问题?
答案 0 :(得分:3)
Request::$webroot
既不是app/webroot
文件夹的路径,也不是本地文件系统路径,它是指向应用程序根入口点的URL片段,通常是服务器文档根目录或包含app
文件夹的文件夹,只有禁用URL重写,它可能指向webroot
文件夹,但它仍然只是一个URL片段。
使用路径常量,它们包含实际的文件系统路径,如WWW_ROOT . 'img' . DS
(也适用于Cake 3.x)或IMAGES
(虽然已弃用)。
array(
'file' => WWW_ROOT . 'img' . DS . 'logo.png',
'mimetype' => 'image',
'contentId' => '12345'
)
另见