PHP создать файл и отправить как вложение, не создавая файл - PullRequest
4 голосов
/ 05 октября 2009

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

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

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

1 Ответ

10 голосов
/ 06 октября 2009

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

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

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

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

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

$myEmail->attach('php://memory/myFile');
...