Изменить имена вложений: wp_mail PHP - PullRequest
0 голосов
/ 05 июня 2018

Я использую wp_mail для отправки писем с формой, которая есть на моем сайте.Но когда я прикрепляю некоторые файлы, имена похожи на "phpr0vAqT" или "phpFO0ZoT".

$files = array(); //Array pour les fichiers
$count = count(array_filter($_FILES['fichier']['name'])); //Compte le nombre de fichiers

        for($i=0;$i<$count;$i++){ //boucle sur chaque fichier

            array_push($files, $_FILES['fichier']['tmp_name'][$i]); //insere le fichier dans l'array $files

         }

Я думаю, что проблема исходит от: ['tmp_name'], но я не знаю, что я могу изменить, потому что wp_mail нужен путь.

Затем я делаю это:

wp_mail($to, $subject, $message, $headers, $files);

для отправки почты.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 17 июля 2018

Вышеуказанный подход верен, вот пример того, как вы можете сделать это в php / wp.Надеюсь, что это поможет!

if(!empty($_FILES['upload-attachment']['tmp_name'])){
            //rename the uploaded file
            $file_path = dirname($_FILES['upload-attachment']['tmp_name']);
            $new_file_uri = $file_path.'/'.$_FILES['upload-attachment']['name'];
            $moved = move_uploaded_file($_FILES['upload-attachment']['tmp_name'], $new_file_uri);
            $attachment_file = $moved ? $new_file_uri : $_FILES['upload-attachment']['tmp_name'];
            $attachments[] = $attachment_file;
 }

И после того, как закончите с приложением, вы должны очистить

unlink($attachment_file);
0 голосов
/ 06 июня 2018

Вы не можете изменить имена вложений с помощью wp_mail.

Возможное решение:

  1. сохранить файлы с правильным именем.
  2. отправить новые файлы сwp_mail.
  3. удалить файлы.
...