0

我正在使用 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 将完整的文件内容发送到控制器?或者文件应该在发送前上传?

4

1 回答 1

2

从文件夹中获取tmp文件。尝试添加以下内容:

$fname = $_FILES['file']['name'];
$ftempname = $_FILES['file']['tmp_name']; 

并将以下几行更改为:

$at = $mail->createAttachment(file_get_contents($ftempname));
$at->filename    = $fname;
于 2012-12-23T14:25:52.743 回答