在PHP中创建受密码保护的ZIP文件

时间:2013-03-04 07:37:01

标签: php

您好我正在使用以下代码用于创建受密码保护的zip文件

$password = 'pass';
$outfile = 'download.zip';    
$infile = 'xml.php';    
header("Content-type: application/octet-stream");   
header("Content-disposition: attachment; filename=$outfile");    
@system("zip -P $password $outfile $infile");    
readfile($outfile);    
@unlink($outfile);

但它不起作用。

2 个答案:

答案 0 :(得分:1)

相同的代码对我有用。当我第一次运行它时,我得到了权限错误,当我将权限授予文件夹时,它工作正常。您还可以检查文件夹权限。它也可能适合你。

答案 1 :(得分:0)

假设您的示例被愚蠢而密码来自其他地方(可能是用户输入?),系统调用并不安全!如果它包含对shell有意义的字符,则会得到不希望的结果。确保使用escapeshellarg转义参数:http://php.net/manual/en/function.escapeshellarg.php