2013-01-14 41 views
1

如下問題:在內存中生成(帶密碼)文件(.zip)附件

我想用PHP生成內存用於商業應用的附件。附件必須是密碼保護以及。之後,我想用電子郵件發送此郵件。

我做了一些關於php的.zip附件的研究。似乎這種類型的附件不可能不使用像exec()等命令行包裝器。我寧願避免使用pdf(對pdf安全性不感到滿意)。

任何意見,我怎麼可以實現與某種包?

在此先感謝!

+0

定義「附件」。 – zerkms

+0

附件是一個密碼保護的容器,我可以加密。在這種情況下,容器的「類型」並不重要。唯一重要的是加密。例如:我把我的機密數據放在一個文本文件中,然後我將這個文本文件放入一個容器(即一個zip存檔)中。然後爲此容器調用密碼保護。該容器的目的只是爲了保護數據(在本例中是文本文件)。希望這有助於更好地理解它。 – whereismydipp

回答

0

如果您可以使用「系統」功能執行命令,這很容易。

<?php 
echo system('zip -P pass file.zip file.txt'); 
?> 

但是您已經提到您對命令不感興趣。

下面是一個不錯的庫,用於生成zip文件:http://www.devco.net/code/zipfile.inc.txt。但它錯過了添加密碼的能力。

另一種選擇是DotnetZip。它支持帶密碼的AES加密! 但它只在Windows上運行。我不確定你使用哪個平臺。這是示例代碼http://code.google.com/p/earlgrey/source/browse/trunk/vendor/DotNetZipLib-DevKit-v1.9/Examples/PHP/CreateZip-DotNetZip.php?r=571

+0

正如我所提到的,這不是我正在尋找的解決方案。我想避免命令行,該命令正在硬盤上生成文件,而不是在內存中。 我使用燈作爲環境。無論如何thx :)。 – whereismydipp