Of course your server needs 7z and unrar installed. But I assume you do since you are dealing with these types. Since the actual shell commands depend on your server OS you may need to edit.
here is 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
";
} else {
echo "No password
";
}
Here is 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
";
} else {
echo "No password
";
}