Php zip-P命令无法创建密码保护zip文件
首先,我编写了一个脚本,用于创建特定目录的zip文件,然后从工作正常的目录中删除除zip以外的所有文件 但现在我在脚本中实现了zip-p password命令,以使其受密码保护,但不起作用 当我试图在下载后提取文件时,它正在提取而不询问任何密码。请纠正我的错误,告诉我我做错了什么 我就是这样尝试的:Php zip-P命令无法创建密码保护zip文件,php,linux,zip,Php,Linux,Zip,首先,我编写了一个脚本,用于创建特定目录的zip文件,然后从工作正常的目录中删除除zip以外的所有文件 但现在我在脚本中实现了zip-p password命令,以使其受密码保护,但不起作用 当我试图在下载后提取文件时,它正在提取而不询问任何密码。请纠正我的错误,告诉我我做错了什么 我就是这样尝试的: exec('cd ' . escapeshellarg($directory_location) . ' ; zip -r ' .escapeshellarg($directory_location
exec('cd ' . escapeshellarg($directory_location) . ' ; zip -r ' .escapeshellarg($directory_location).'/'.escapeshellarg($zipname) . ' * ; '.$command.' '.escapeshellarg($zipname).' chmod 777 '.escapeshellarg($zipname).'; find . -type f -not -name \''.escapeshellarg($zipname).'\' -exec rm \{\} \; ' );
这是输出:
cd '/home/example/public_html/downloads/9c1f97ab931b9f4dc461c164f119a340/20' ; zip -r '/home/example/public_html/downloads/9c1f97ab931b9f4dc461c164f119a340/20'/'Xm18u_download.zip' * ; zip -P 'testPassword' '/home/example/public_html/downloads/9c1f97ab931b9f4dc461c164f119a340/20'/'Xm18u_download.zip' 'Xm18u_download.zip' ; 'Xm18u_download.zip' chmod 777 'Xm18u_download.zip'; find . -type f -not -name ''Xm18u_download.zip'' -exec rm \{\} \;
关闭(找到解决方案)我得到了解决方案,这是使用递归模式创建zip文件:
zip -r -P <password>
希望这对其他人有帮助;)
$command = '-P '.escapeshellarg($password);
exec('cd ' . escapeshellarg($directory_location) . ' ; zip -r '.$command.' ' .escapeshellarg($directory_location).'/'.escapeshellarg($zipname) . ' * ; '.escapeshellarg($zipname).' chmod 777 '.escapeshellarg($zipname).'; find . -type f -not -name \''.escapeshellarg($zipname).'\' -exec rm \{\} \; ' );