Intereting Posts
Как сгенерировать объект «WP_Error» для входа пользователя? Как удалить все экземпляры edit_post_link Разработка плагина API-интерфейса WordPress – добавление пользовательской конечной точки Каковы различия между «Последние сообщения» и «Статическая страница»? Как проверить, опубликовано ли сообщение сегодня? Хорошая рекомендация книги по разработке темы WordPress Меню пользовательских сообщений link wordpress и stackoverflow Как перезаписывается URL-адрес W3 Total Cache CDN? Использование стандартных бэкэнд-элементов в плагине множественная установка wordpress с совместным использованием в другой базе данных Что помешает пользовательской роли просматривать сообщения (как стандартные, так и пользовательские)? Убедитесь, что тег используется для сообщений Ограничить контент даже конкретному пользователю поиск данных представляет собой последний набор данных

Как создать CSV на лету и отправить в виде вложения с помощью wp_mail?

Я пытаюсь создать файл CSV из представления формы и отправить этот файл автоматически по электронной почте конкретному пользователю. Само письмо отправляет штраф, но я не могу получить приложение, чтобы пройти. Возможно ли создать вложение без предварительного сохранения файла на сервере?

function create_csv() { $fd = fopen('php://temp/', 'w'); if($fd === FALSE) { die('Failed to open temporary file'); } $records = array( array('dummy', 'data', 'found', 'here') ); fputcsv($fd, $headers); foreach($records as $record) { fputcsv($fd, $record); } rewind($fd); $csv = stream_get_contents($fd); fclose($fd); return $csv; } $to = $email; $subject = 'Subject'; $message = 'Message'; $headers = 'From: ' . $other_email; $attachment = create_csv(); $sent = wp_mail($to, $subject, $message, $headers, $attachment); 

Solutions Collecting From Web of "Как создать CSV на лету и отправить в виде вложения с помощью wp_mail?"

Это связано с тем, что wp_mail ожидает, что вложение будет именем файла (путь к файлу), который он может подключить и отправить. Вы поставляете строку, содержащую содержимое файла:

 function create_csv() { $filepath = '/path/to/the/file.csv'; $fd = fopen($filepath, 'w'); if($fd === FALSE) { die('Failed to open temporary file'); } $records = array( array('dummy', 'data', 'found', 'here') ); fputcsv($fd, $headers); foreach($records as $record) { fputcsv($fd, $record); } rewind($fd); fclose($fd); return $filepath; } 

решит вашу проблему. См. http://codex.wordpress.org/Function_Reference/wp_mail