2009-10-05 76 views
4

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

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

奖励:可能还需要创建多个文件,这对服务器来说可能太多了吗?我不是说GB,而是像5个1000行的文件?

回答

10

是的,你可以做到这一点,只要你使用的任何电子邮件库支持它。如果你不使用一个,你应该!
没有,5个文件将不会太大为您的服务器,除非你在1993年

买了它希望您的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'); 
+0

如何在执行此类操作时获取文件引用? – 2009-10-05 20:04:20

+0

感谢这有助于正确的方向 – 2009-10-05 20:09:46

+0

@Phill如果它可以帮助您,请将其标记为接受答案! – AntonioCS 2010-01-21 13:21:47