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

StackOverflow https://stackoverflow.com/questions/1522066

Вопрос

Я знаю, как прочитать файл на сервере и прикрепить его к электронному письму на 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');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top