DirectoryChecker文件夹校验器可以对目录下所有文件生成包含文件名、大小、MD5指纹的快照,然后通过快照与当前文件的比对,从而知道已经发生变更的文件。适用于批量文件完整性检查。
PHPFileChecker文件检查器可对指定目录下的文件,按指定扩展名过滤后,检查其是否包含BOM头,或者"<?php"前面是否包含其他字符,以及是否符合utf8编码规则,还可以清除BOM及空白。
两款软件功能虽有所差别,但整体实现流程是差不多的,都是开始后,先在UI线程完成基本的输入检查并记录,然后丢给一个工作线程,工作线程递归目录拿到要处理的文件名,过滤后丢到线程池,线程池对每个文件计算MD5或者各种检查。工作线程在递归完后就等待线程池完成,等到后就通过委托通知UI线程,工作线程结束。
源码: