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

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

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

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

1 ответ

Решение

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

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

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

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

 $f = fopen('php://memory/myfile', 'w');
 fwrite($f, '...');
 fclose($f);

$myEmail->attach('php://memory/myFile');
Другие вопросы по тегам