CakePHP中的文件附件

时间:2015-12-07 15:14:42

标签: file email cakephp

Random中的logo.png图像如下: enter image description here

我想在我的电子邮件正文中导入它,如下所示:

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); 错误。这很简单。文件路径不正确。但是我的代码中有什么问题?

1 个答案:

答案 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'
)

另见