【发布时间】:2010-10-13 23:36:21
【问题描述】:
我目前正在使用以下代码扫描已作为申请表的一部分上传的文件:
$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() 等的好处)?
如果速度无法提高,那么我最好显示一些临时的“请耐心等待您的文件正在被扫描”消息,但我也不知道该怎么做。
编辑:对不起,应该说需要在当时进行扫描,因为如果没有有效(即无病毒)文件,将不会接受相关应用程序。
【问题讨论】:
-
那么我相信我的答案中的第二个选项可以做到...显示一个临时页面说“请稍候...”并通过 AJAX 或元刷新标签获取结果。
-
干杯 Seb,我认为您可能是正确的。我会坚持更长的时间,希望有人知道加速clamscan的一些事情......
-
对于任何在家里跟随的人,我最终使用 jQuery blockUI 来显示“请耐心等待”消息,所以虽然我将他的回答标记为已接受,但与 Seb 的建议并不完全一致,因为这很好一。干杯。