Cakephp发送附件为0字节的电子邮件

Cakephp发送附件为0字节的电子邮件,cakephp,dompdf,Cakephp,Dompdf,我正在使用dompdf动态生成pdf文件,并将这些文件附加到电子邮件并发送。但在邮件中,我总是收到0字节的附件。我正在创建蛋糕的tmp文件夹下的文件,它正在成功创建。我使用cakephp 2.x并使用CakeEmail发送邮件。dompdf文件夹位于插件文件夹中。我已对lib/font目录授予了必要的权限。创建后文件不会立即作为附件发送。使用dompdf时是否会有任何类型的锁定/延迟,因为cakeemail无法获取文件的内容(但文件存在) Im作为fread()获取错误:CakeEmail中的长

我正在使用dompdf动态生成pdf文件,并将这些文件附加到电子邮件并发送。但在邮件中,我总是收到0字节的附件。我正在创建蛋糕的tmp文件夹下的文件,它正在成功创建。我使用cakephp 2.x并使用CakeEmail发送邮件。dompdf文件夹位于插件文件夹中。我已对lib/font目录授予了必要的权限。创建后文件不会立即作为附件发送。使用dompdf时是否会有任何类型的锁定/延迟,因为cakeemail无法获取文件的内容(但文件存在)


Im作为fread()获取错误:CakeEmail中的长度参数必须大于0。如果我创建一个示例文本文件而不是pdf,它将被附加,大小将大于0。我正在使用github.com/ceeram/CakePdf插件创建pdf。

这里也有同样的问题()。顺便说一下,这不是一个锁定问题。如果你把你的PDF文件写入数据库,你可以做一个难看的变通方法。查看此处:

您确定
$path
$filename
正确吗?如果是这样,您是否在
send()
之后删除创建的文件?感谢您的快速回复。我确信这条路是正确的。如果硬代码中包含先前生成的文件名,则会附加该文件。我没有删除该文件。同样在我的本地机器中,css和图像显示在pdf中,但当我进入生产时,这些都不会显示。它是否会影响这一点?我已经实现了类似的东西,当找不到文件时,我得到了0字节的附件。你查过日志了吗?为什么不发代码?也许有一个比理论上讨论更好的方法可以帮助你。有没有可能你的文件没有被解锁——并且由于这个文件锁,无法从CakeEmail或任何其他类访问它$CakePdf->write()之后可能需要一些文件解锁?
App::uses('CakePdf', 'CakePdf.Pdf');
$CakePdf = new CakePdf();

$orderDetails = array('1' => 'myproduct');
$CakePdf->viewVars(compact('orderDetails'));      

$CakePdf->template('view_ticket_pdf', 'default');
$filename = TMP . $data['Billing']['order_id'] . '.pdf';
$pdf = $CakePdf->output();
$CakePdf->write( $filename);

$email = new CakeEmail('smtp');
$desc = $email->template('order_mail');
$email->emailFormat('html');
$email->from(array(ADMIN_EMAIL => 'Admin'));
$email->to('user@gmail.com');
$email->attachments(array($filename));
$email->subject('Your order');
$content = $email->send();