php создать файл и отправить в виде вложения без фактического создания файла

Я знаю, как читать файл на сервере и прикреплять его к электронной почте на PHP, но я хотел знать, могу ли я прикрепить файл, который был создан моим скриптом, но не создан на сервере (вроде как временный файл).

Поэтому создайте файл в памяти и прикрепите его к электронной почте.

Бонус: возможно, потребуется создать несколько файлов, будет ли это слишком много для обработки сервера? Я не говорю о GB, но как 5 файлов с 1000 строк каждый?

Да, вы можете это сделать, если какая-либо библиотека электронной почты, которую вы используете, поддерживает ее. Если вы не используете его, вы должны быть!
Нет, 5 файлов не будут слишком много для вашего сервера, если вы не купили его в 1993 году.

Надеемся, что вашей библиотеке не понадобится ссылка на файл – вы можете сделать что-то вроде:

$myEmail->attachData('file.name', 'mime/type', $data); 

Если ему нужен путь к файлу, вы можете использовать файл памяти php: // :

  $f = fopen('php://memory/myfile', 'w'); fwrite($f, '...'); fclose($f); $myEmail->attach('php://memory/myFile');