2009-10-05 96 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