我使用Zend_Form,Zend_Form_Element_File将附件添加到电子邮件表单。 我的文件表单元素是这样的:
$file = new Zend_Form_Element_File('file'); $file->setLabel('File') ->setRequired(true) ->addValidator('NotEmpty');
我的发送表单控制器附件部分是:
$at = $mail->createAttachment(file_get_contents($value['file']));
$at->disposition = Zend_Mime::DISPOSITION_INLINE;
$at->encoding = Zend_Mime::ENCODING_BASE64;
$at->filename = $value['file']; // get this from posted form
$mail->send();
我的问题是:表单向控制器发送文件名是没用的,电子邮件发送时附有空文件。
我的问题是:如何通过Zend_Form将完整的文件内容发送给Controller?或者在发送之前上传文件?
答案 0 :(得分:2)
从tmp
文件夹中获取文件。尝试添加以下内容:
$fname = $_FILES['file']['name'];
$ftempname = $_FILES['file']['tmp_name'];
并将以下行更改为:
$at = $mail->createAttachment(file_get_contents($ftempname));
$at->filename = $fname;