php 检测源代码是否被改动过和是否项目中有增加或删除的文件的实现思路

php 检测源代码是否被改动过和是否项目中有增加或删除的文件的实现思路,第1张

如果想自己做, hashtable是一定的

建一个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 *** 作时,按需记录


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12325429.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存