建一个hashtable, 储存当前内容, 同时该hashtable的id也同样可以用于作为文件功能等记录的id之用盯戚, 然后无论是windows还是linux都可以cron的,去做一个php文件去匹配吧, 文件修改时间无所谓的, md5(file)更有意义
如果单纯使用php, 遍历目录是必须的, 无论哪个os都提供文件动作的监控能力,但是这不在php的工作范围内,所以无法凯陪陵实现所谓的监控,你可以看看同步类软件,无论哪个 *** 作系统都是直接去os的基层拿现成的东西来用,不用特地耗费资源去自己不断遍历目录监控的,
svn/cvs是主动提交改动的, 而所谓监控,那就是被动形式了,只有在改动时才有动作的叫监控,
你要php实现源码监控,一句话,不可能,只能做递归/迭代, 用hashtable处理并不断乱笑 *** 作hashdb
ps:文件功能你们都不写进注释吗,注释本来就有这种功能, 比如phpdoc-_
我没法给你源码,但可以给你蠢正亮思路:【最简单粗暴带宽的】
1. 写一个死循环
2. sleep 个 100 毫秒
3. 第一次启动建立一个HashMap<File, Date>,扫描所有文件并读取创建日期记录下来(包括子文件夹)
4. 记录全部文件的数量 fileCount, lastFileCount
5. 检查是否数量有变,如果木有就没有新增文件
6. 如果有变化,。。。。你懂的,再扫找出不在HashMap里面的就是新增的了
【特殊参考】
参考tomcat、jboss这类服务器软件如何扫面检测部署文件夹下面文件变动的
【高阶】
参考防毒软件设清正计原理,截获系统IO,有对你指定文件夹的Access *** 作时,按需记录
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)