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');