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 で完全なファイル コンテンツを Controller に送信するにはどうすればよいですか? または、送信する前にファイルをアップロードする必要がありますか?

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 に答える