Php through如何检查上传的zip或rar文件是否受密码保护

时间:2014-01-30 04:01:53

标签: php jquery cakephp

我只需要检查上传的zip或rar文件是否受密码保护。

通过php我们怎么检查这个?

上传时我只需要提示文件受密码保护。

谢谢,

您好,感谢您的重播和帮助。但每次$ var_val [0]有密码保护的0(无密码)值。感谢。

1 个答案:

答案 0 :(得分:1)

当然你的服务器需要安装7z和unrar。但我认为你这样做是因为你正在处理这些类型。由于实际的shell命令取决于您的服务器操作系统,因此您可能需要进行编辑。

这里是7zip:

$zipfile = './uploaded.zip';
$zip_cmd = '7za l -slt -- '.$zipfile.' | grep -i -c "Encrypted = +"';
exec($zip_cmd, $zip_val);

if($zip_val[0] == 1) {
        echo "Password protected\n";
} else {
        echo "No password\n";
}

这是unrar:

$rarfile = './uploaded.rar';
$rar_cmd = 'unrar x -p- -y -o+ '.$rarfile.' 2> /dev/null | grep -i -c "$Total errors: .*$"';
exec($rar_cmd, $rar_val);

if($rar_val[0] == 1) {
        echo "Password protected\n";
} else {
        echo "No password\n";
}