2014-01-30 2 views
0

Мне просто нужно проверить загруженный файл zip или rar защищен паролем или нет.Php through Как проверить загруженный файл zip или rar защищен паролем или нет

Через php, как мы можем проверить это?

Мне нужно только сообщение, что файл защищен паролем при загрузке.

Спасибо,

привет, спасибо за вашу помощь и повтор. но каждый раз, когда $ var_val [0] имеет значение 0 (Нет пароля), если пароль защищен или нет. Благодарю.

ответ

1

Конечно, вашему серверу требуется 7z и unrar. Но я предполагаю, что вы это делаете, так как имеете дело с этими типами. Поскольку фактические команды оболочки зависят от вашей серверной ОС, вам может потребоваться отредактировать.

здесь 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"; 
} 
+0

Спасибо за ваш повтор, Я не хочу, чтобы изменить имя файла. я просто хочу дать сообщение об ошибке при zip с защитой паролем и загрузкой. поэтому я сделал этот код. не могли бы вы помочь мне, как я могу проверить это if (move_uploaded_file ($ source, $ target_path)) { $ zip = new ZipArchive(); \t $ x = $ zip-> open ($ target_path); \t if ($ x === true) { \t $ zip-> extractTo ("/ var/www/mayur/ziprar /"); \t $ zip-> close(); \t unlink ($ target_path); \t} Еще раз спасибо – user3114036

+0

Спасибо, но не понимаю, как писать это на PHP? – user3114036

+0

@ user3114036, пожалуйста, добавьте код на свой вопрос, а не комментарии к ответам. – Luceos

Смежные вопросы