Я использую 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);
отправить письмо.
Благодарю.
Вы не можете изменить имена вложений с помощью wp_mail.
Возможное решение:
С уважением, Бьорн
Вышеуказанный подход верен, вот пример того, как вы можете сделать это в 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);