2013-01-14 38 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