2012-03-04 304 views
4

我能够在php中使用ziparchive lib创建zip文件。有什么办法可以为我创建的zip文件指定一个密码?有没有其他自定义库可以做到这一点?如何在php中密码保护zip?

我的php运行在安全模式,我的托管服务提供商不允许我改变它。所以我无法执行shell_exec()函数。使用任何其他库还有其他解决方法吗?我检查了DotNetZip库,但它表示它只支持.net基于语言,并且在windows中,没有提到与php相关的任何内容。另外我正在使用一个Linux服务器。

该应用程序是我有几个动态生成的xml文件,需要压缩,我的客户端将下载它。但我需要输入密码,以便即使任何人拦截它,它们也无法打开它。

或者还有其他方法吗?

+0

用PHP创建一个加密的ZIP压缩文件 - http://stackoverflow.com/questions/646195/create-an-encrypted-zip-archive-with-php – blackpla9ue 2012-03-04 16:18:11

+0

我认为这是会变得棘手,因为压缩可能是在本机代码中执行的,而且您似乎只能使用PHP代码,或者我在这里丢失了什么? – 2012-03-04 17:29:18

回答

3
shell_exec('zip -qjP <password> <archive> <file1> <file2> ... <file_n>'); 
+1

我的php运行在安全模式,我的托管服务提供商不允许我改变它。所以我无法执行shell_exec()函数。使用任何其他库还有其他解决方法吗?我检查了DotNetZip库,但它表示它只支持.net语言,并且在windows中,没有提及与php相关的任何内容。另外我使用的是Linux服务器。 – hablema 2012-03-04 17:08:21

+0

@hablema请使用评论中提供的信息来更新您的问题 – 2012-03-04 17:27:24

0

使用本:

system('zip -P password zipfile.zip file.extension'); 

传球密码,file.extension将被压缩到zipfile.zip。

适用于Windows和Linux