无法使用wp_mail获取附件

时间:2016-05-23 作者:Riffaz Starr

我正在尝试创建一个表单,该表单可以由带有附件的用户发送。表单工作正常,提交时发送电子邮件,但没有附加文件。

我的表格是:

<form method="post" class="flat-p-form p-form-flat-extra5color4" action="<?php the_permalink(); ?>" data-js-validate="true" data-js-highlight-state-msg="true" data-js-show-valid-msg="true">
    <div class="form-group">
        <label for="fotoattachment" class="p-label-required">Attachment <span style="color: red">(Attach Your Photos as A ZIP File.)</span></label>
        <div class="input-group p-has-icon">
            <input type="file" class="file form-control" id="fotoattachment" name="fotoattachment" required="required"/>
            <span class="input-group-state">
                <span class="p-position">
                    <span class="p-text">
                        <span class="p-required-text"><i class="fa fa-star"></i></span>
                    </span>
                </span>
            </span>
            <span class="p-field-cb"></span>
            <span class="input-group-icon"><i class="fa fa-paperclip"></i></span>
        </div>
    </div>
    <button class="btn" type="submit" name="confirm"><i class="fa fa-share-square-o"></i>&nbsp;Submit</button>
</form>
我的PHP是:

if(isset($_POST[\'confirm\'])){
    $fullname = $_POST[\'sudentname\'];
    $email = $_POST[\'email\'];
    $comment = $_POST[\'comment\'];
    $batch = $_POST[\'batch\'];
    $mailbody = \'Name :\'. $fullname . "\\r\\n".\'Email: \'.$email. "\\r\\n".\'Comment: \'.$comment. "\\r\\n".\'Batch: \'.$batch;


    /*  attachment */   
    move_uploaded_file($_FILES["fotoattachment"]["tmp_name"],WP_CONTENT_DIR .\'/uploads/\'.basename($_FILES[\'fotoattachment\'][\'name\']));
    $attachments = array(WP_CONTENT_DIR ."/uploads/".$_FILES["fotoattachment"]["name"]);

    $to = \'[email protected]\';
    $subject = \'Feedback from  Website\';
    $headers = \'From: \'.$fullname.\' <\'. $email. \'>\';

    wp_mail( $to, $subject, $mailbody, $headers, $attachments );
}
我收到的是电子邮件,但不是附件。为什么会这样?

[UPDATE]

当我在提交表格后这样检查时:

foreach ($attachments as $key => $value) {
                echo "$key = $value\\n";
            }
输出是Array

1 个回复
SO网友:flero

文件是否正确保存?

是否尝试通过静态路径附加文件?类似于:

$attachments = array(WP_CONTENT_DIR ."/uploads/myfile.pdf");

相关推荐

Remove duplicate attachments

情况是这样的:我有一个自动脚本,可以上传附件并将每个附件链接到特定的帖子。由于错误,脚本运行了多次,我有以下内容媒体库中针对单个文件的多个附件帖子(不同的附件帖子具有相同的文件URL)。这些附件中有一个实际上是附在帖子上的。我想做的显然是清理媒体库。我需要在不删除文件的情况下删除附件帖子,并且确保我不删除那些实际附加到他们帖子的帖子。有什么想法吗?