В настоящее время я использую следующий код для сканирования файлов, которые были загружены как часть формы заявки:
$safe_path = escapeshellarg($dir . $file);
$command = '/usr/bin/clamscan --stdout ' . $safe_path;
$out = '';
$int = -1;
exec($command, $out, $int);
if ($int == 0) {
// all good;
} else {
// VIRUS!;
}
Работает, но медленно. Кто-нибудь получил какие-либо предложения, которые будут). ускорить вещи и б). улучшить сценарий вообще (например, я не совсем понимаю преимущества exec () против system () и т. д.)?
Если скорость не может быть улучшена, то в идеале я хотел бы отобразить какое-то временное сообщение «Пожалуйста, наберитесь терпения, ваши файлы сканируются», но я не уверен, как это сделать.
РЕДАКТИРОВАТЬ: Извините, должен был сказать, что сканирование должно быть сделано в то время, как рассматриваемое приложение не будет принято без действительных (то есть без вирусов) файлов.