php создать файл и отправить его как вложение без фактического создания файла
-
19-09-2019 - |
Вопрос
Я знаю, как прочитать файл на сервере и прикрепить его к электронному письму на PHP, но мне хотелось знать, могу ли я прикрепить файл, созданный моим скриптом, но не созданный на сервере (что-то вроде временного файла).
Поэтому создайте файл в памяти и прикрепите его к электронной почте.
Бонус:возможно, потребуется также создать несколько файлов, не будет ли это слишком много для сервера?Я не говорю о ГБ, а о 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');