phpmailer附加两个pdf文件

时间:2018-05-12 20:11:25

标签: php pdf phpmailer

我使用phpmailer附加pdf文件并发送带有pdf附件的电子邮件。正在附加一个pdf文件而另一个未附加。 我正在使用代码

$attachedfile = $_SERVER["DOCUMENT_ROOT"] . '/wp-content/plugins/xyz-user-registration/images/iraq_visa_form_test.pdf';
$mail->addAttachment($attachedfile, 'Visa Application'); 
$attachedfile2 = $_SERVER["DOCUMENT_ROOT"] . '/wp-content/plugins/xyz-user-registration/images/iraq_visa_form.pdf';
$mail->addAttachment($attachedfile2, 'Visa Application 2'); 

只附加了一个pdf文件,其他一个正在附加。 它也适用于单个pdf文件附件。 我也使用以下代码

$attachedfile = array($_SERVER["DOCUMENT_ROOT"] . '/wp-content/plugins/xyz-user-registration/images/iraq_visa_form.pdf',$_SERVER["DOCUMENT_ROOT"] . '/wp-content/plugins/xyz-user-registration/images/iraq_visa_test.pdf'); foreach($attachedfile as $attachment){ $mail->AddAttachment($attachment); }

但它再次附上一个pdf文件

请帮助

1 个答案:

答案 0 :(得分:1)

您提到PHP返回1,而对addAttachment的两次调用没有任何内容。这就是PHP用作truefalse的文本表示的内容:PHP无法读取您的某个文件,因为文件丢失,路径错误或缺乏足够的所有权或许可。仔细检查您的路径和权限。

当我说不要构建你的路径时,我的意思是只使用 文字字符串作为路径。您可以编写一个独立的PHP脚本来检查它们:

<?php
$path1 = '/var/www/mysite/wp-content/plugins/xyz-user-registration/images/iraq_visa_form_test.pdf';
$path2 = '/var/www/mysite/wp-content/plugins/xyz-user-registration/images/iraq_visa_form.pdf';
var_dump($path1, is_file($path1), $path2, is_file($path2));

在你的shell中检查它们:

ls -al /var/www/mysite/wp-content/plugins/xyz-user-registration/images/iraq_visa_form_test.pdf /var/www/mysite/wp-content/plugins/xyz-user-registration/images/iraq_visa_form.pdf

如果这些都没问题,请返回原始脚本并var_dump生成的路径,并比较它们 - 包括长度,以防您意外包含一些非打印或零宽度字符