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

Phi*_*ord 5 php on-the-fly email-attachments file-generation

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

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

额外奖励:可能还需要创建多个文件,这对服务器来说是否太过难以处理?我不是说GB,而是像5个文件,每个1000行?

Gre*_*reg 11

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

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

$myEmail->attachData('file.name', 'mime/type', $data);
Run Code Online (Sandbox Code Playgroud)

如果它确实需要文件路径,那么你可以使用php://内存文件:

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

$myEmail->attach('php://memory/myFile');
Run Code Online (Sandbox Code Playgroud)