我正在尝试编写一个 php 脚本,该脚本使用 php mail_runner 发送附件,附件来自子目录中的文件。
这是多步骤方法的一部分,我使用 imagettftext 获取模板 jpg 培训证书,用学习者数据填写它,然后将文件保存到服务器,我已经这样做了,例如:
$filenamedate = date('Ymdhi');
$file=$filenamedate." ".$name." (".$CourseDescription .")";
$file_path="Certificates/".$file.".jpg";
是否成功将.jpg保存到/Certificate文件夹中,以下文件名为例:
202303070135 Jonathan Green(D1 司机政策和规则).jpg
我可以使用 mail_runner 发送基本的电子邮件,这对于这个项目来说是必须的,这包括正常的字段,例如 to、msg、from 等
但是,我正在努力让代码能够附加上面保存的文件。我正在尝试的大致是:
$from = "[email protected]";
$to = "[email protected]";
$msg = "Test Documents Attached.";
$subject="Documents";
$attachments = array();
// Attachments description. The 'path'(a path to the attachment) is required. Others parameters are optional:
//'name' overrides the attachment name, 'encoding' sets a file encoding, 'type' sets a MIME type
$attachments = array('path' => getabspath('$file_path'),
'name' => 'testcertificate.jpg',
'encoding' => 'base64',
'type' => 'application/octet-stream');
$ret = runner_mail(array('from' => $from, 'to' => $to, 'subject' => $subject, 'body' => $msg, 'attachments' => $attachments));
不幸的是,这不起作用并给我以下错误:
致命错误:未捕获的类型错误:无法访问字符串类型的偏移量 在弦上
我所做的唯一其他修改导致电子邮件以附件形式发送,但无法打开它。
那么,我需要做什么才能从服务器抓取这个文件并作为附件发送?
但是,我正在努力让代码能够附加上面保存的文件。我正在尝试的大致是:
`$from = "[email protected]";
$to = "[email protected]";
$msg = "Test Documents Attached.";
$subject="Documents";
$attachments = array();
// Attachments description. The 'path'(a path to the attachment) is required. Others parameters are optional:
//'name' overrides the attachment name, 'encoding' sets a file encoding, 'type' sets a MIME type
$attachments = array('path' => getabspath('$file_path'),
'name' => 'testcertificate.jpg',
'encoding' => 'base64',
'type' => 'application/octet-stream');
$ret = runner_mail(array('from' => $from, 'to' => $to, 'subject' => $subject, 'body' => $msg, 'attachments' => $attachments));`
不幸的是,这不起作用并给我以下错误:
致命错误:未捕获的类型错误:无法访问字符串类型的偏移量 在弦上
我所做的唯一其他修改导致电子邮件以附件形式发送,但无法打开它。
那么,我需要做什么才能从服务器抓取这个文件并作为附件发送?