Php 附件已使用wp_mail函数在Worpdress中被破坏

Php 附件已使用wp_mail函数在Worpdress中被破坏,php,wordpress,Php,Wordpress,在本地,当我使用带有附件的wp_mail()时,它可以工作,但在prod上则不行 我在电子邮件中收到的文件是.dat文件。我读到这是因为有一个传输问题 有人有主意吗 function sendEmail() { $email = $_POST['email']; $fileName = $_FILES['cv']['tmp_name']; if (!empty($_POST['subject'])) { $subject = '[C.V] ' . $_P

在本地,当我使用带有附件的wp_mail()时,它可以工作,但在prod上则不行

我在电子邮件中收到的文件是.dat文件。我读到这是因为有一个传输问题

有人有主意吗

function sendEmail() {
    $email = $_POST['email'];
    $fileName = $_FILES['cv']['tmp_name'];

    if (!empty($_POST['subject'])) {
        $subject = '[C.V] ' . $_POST['subject'];
    } else {
        $subject = '[C.V]';
    }

    $header = [
            'Reply-To' => $email . ' <' . $email . '>',
            'From: ' . $email . ' <' . $email . '>',
    ];

    $message = 'My message';

    add_filter( 'wp_mail_content_type', 'set_content_type' );
    if (wp_mail('myemail@email.com', $subject, $message, $header, $fileName)) {
        return true;
    } else {
        return false;
    }
}
函数sendmail(){ $email=$_POST['email']; $fileName=$_文件['cv']['tmp_名称']; 如果(!空($_POST['subject'])){ $subject='[C.V].$_POST['subject']; }否则{ $subject='[C.V]'; } $header=[ '回复'=>$email', '发件人:'.$email', ]; $message='我的消息'; 添加过滤器(“wp\U邮件内容类型”、“设置内容类型”); 如果(wp_邮件myemail@email.com“,$subject,$message,$header,$fileName)){ 返回true; }否则{ 返回false; } } 编辑

下面是.dat文件的第一行

    %PDF-1.5
%âãÏÓ
12 0 obj
<<
/Linearized 1
/L 227667
/H [ 1346 222 ]
/O 14
/E 189602
/N 2
/T 227300
>>
endobj

xref
12 41
0000000017 00000 n
0000001289 00000 n
0000001568 00000 n
0000002081 00000 n
0000002218 00000 n
0000012212 00000 n
0000012252 00000 n
0000014915 00000 n
0000025948 00000 n
0000035396 00000 n
0000046815 00000 n
0000056000 00000 n
0000066681 00000 n
0000077517 00000 n
0000086394 00000 n
0000095281 00000 n
0000096108 00000 n
0000096943 00000 n
0000097770 00000 n
0000098470 00000 n
0000098763 00000 n
0000124547 00000 n
0000124713 00000 n
0000124743 00000 n
0000124951 00000 n
0000125033 00000 n
0000125341 00000 n
0000125439 00000 n
0000138448 00000 n
0000138772 00000 n
0000139520 00000 n
0000139807 00000 n
0000169417 00000 n
0000169578 00000 n
0000169608 00000 n
0000169847 00000 n
0000170149 00000 n
0000170254 00000 n
0000184698 00000 n
0000185046 00000 n
0000001346 00000 n
trailer
<<
/Size 53
/Prev 227289
/Info 11 0 R
/Root 13 0 R
/ID [<99f020cdcb4e3a58ad9fef46b6a7a7cd><99f020cdcb4e3a58ad9fef46b6a7a7cd>]
>>
startxref
0
%%EOF
%PDF-1.5
%âãÏÓ
12 0 obj
>
endobj
外部参照
12 41
00000001700万元
000000 1289 00000 n
0000001568000000 n
000000208100000N
00000022180000000N
0000012212 00000N
000001225200000N
0000014915 00000N
0000025948 00000N
00000 35396 00000 n
0000046815 00000N
0000056000000000N
0000066681 00000N
0000077517 00000N
0000086394 00000N
00000 95281 00000 n
000009610800000N
00000969430000N
00000977700000N
000009847000000N
0000098763 00000N
0000124547 00000N
0000124713百万元
0000124743 00000N
0000124951 00000N
00001250300000N
0000125341 00000N
0000125439 00000N
0000138448 00000N
0000138772百万新西兰元
00001395200000N
0000139807 00000N
0000169417 00000N
000016957800000N
00001696000000N
00001669847 00000N
000017014900000N
0000170254 00000N
0000184698百万新西兰元
0000185046 00000N
000000 13460 00000 n
拖车
>
起始外部参照
0
%%EOF

我会将您上传的文件移动到wp内容中的某个位置,然后尝试该目录。这可能是一个权限限制,因为您正试图从tmp目录中正确读取文件。使用move_uploaded_file来移动它,并在新位置尝试。

你的意思是在move_uploaded_file之后用新目录更改$fileName值吗?是的,请尝试一下。你还可以用.dat文件的结果编辑你的文章吗?你是对的,它工作得更好,但不知道为什么在本地可以,但在prod上不行