php创建文件并作为附件发送而不实际创建文件

时间:2009-10-05 19:58:45

标签: php on-the-fly email-attachments file-generation

我知道如何在服务器上读取文件并将其附加到PHP中的电子邮件中,但我想知道我是否可以附加由我的脚本创建但不在服务器上创建的文件(有点像临时文件)文件)。

因此,请在内存中创建文件并将其附加到电子邮件中。

奖励:可能还需要创建多个文件,这对于服务器来说是否会过多?我不是在说GB,而是像5个文件,每个1000行?

1 个答案:

答案 0 :(得分:10)

是的,只要您使用的电子邮件库支持它,您就可以这样做。如果你没有使用它,你应该! 不,除非你在1993年购买,否则5个文件对你的服务器来说不会太多。

希望您的lib不需要文件引用 - 您可以执行以下操作:

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

如果确实需要文件路径,那么您可以使用php://memory文件:

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

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