所以我有一个脚本,我正在工作,其中包括循环通过一个文件夹,并将文件夹中的所有图片添加到电子邮件正文。我让它工作得很好,但是每次我运行它,它都会显示这个错误
PHP Notice: file_get_contents(): read of 8192 bytes failed with errno=21 Is a directory in /home/fromituc/public_html/vendor/phpmailer/phpmailer/src/PHPMailer.php on line 3358
请有任何想法,这是我想出的代码,为我嵌入图片。
$newFiles = scandir("$mypath");
foreach($newFiles as $files19) {
$cid_name= (mt_rand(10,99));
$body.="<img alt='PHPMailer' src='cid:$cid_name'> ";
$mail->AddEmbeddedImage("$mypath$files19", "$cid_name", "$files19");
}
如前所述,代码可以工作,但总是显示错误。所发送的电子邮件已按需要在正文中嵌入图片。
还没有人回答,但万一以后有人需要这个。我找到了答案。
$arrFiles = array();
$iterator = new FilesystemIterator("$mypath");
foreach($iterator as $entry) {
$arrFiles[] = $entry->getFilename();
$cid_name= (mt_rand(10,99));
$body.="<img alt='PHPMailer' src='cid:$cid_name'> ";
$mail->AddEmbeddedImage("$entry", "$cid_name", "$entry");
}
这段代码允许我扫描一个图片文件夹,然后将它们添加到我的电子邮件正文中。