現在、次のコードを使用して、アプリケーション フォームの一部としてアップロードされたファイルをスキャンしています。
$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!;
}
動作しますが、遅いです。誰もがa)になるような提案を受けました。物事をスピードアップし、b)。スクリプト全体を改善しますか (たとえば、exec() と system() などの利点について完全には明確ではありません)。
速度を改善できない場合は、「ファイルがスキャンされている間、しばらくお待ちください」という暫定的なメッセージを表示したいのですが、どうすればよいかわかりません。
編集:申し訳ありませんが、問題のアプリケーションは有効な(つまり、ウイルスのない)ファイルなしでは受け入れられないため、その時点でスキャンを実行する必要があると言うべきでした.