搜索

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

发布网友 发布时间:2024-10-24 01:50

我来回答

4个回答

热心网友 时间:2024-10-25 19:52

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

建一个hashtable, 储存当前内容, 同时该hashtable的id也同样可以用于作为文件功能等记录的id之用, 然后无论是windows还是linux都可以cron的,去做一个php文件去匹配吧, 文件修改时间无所谓的, md5(file)更有意义

如果单纯使用php, 遍历目录是必须的, 无论哪个os都提供文件动作的监控能力,但是这不在php的工作范围内,所以无法实现所谓的监控,你可以看看同步类软件,无论哪个操作系统都是直接去os的基层拿现成的东西来用,不用特地耗费资源去自己不断遍历目录监控的,

svn/cvs是主动提交改动的, 而所谓监控,那就是被动形式了,只有在改动时才有动作的叫监控,

你要php实现源码监控,一句话,不可能,只能做递归/迭代, 用hashtable处理并不断操作hashdb

ps:文件功能你们都不写进注释吗,注释本来就有这种功能, 比如phpdoc-_

热心网友 时间:2024-10-25 19:49

SVN,CVS

热心网友 时间:2024-10-25 19:50

看修改时间? filemtime ?

热心网友 时间:2024-10-25 19:48

使用file_md5获得文件的MD5值,比较MD5可以判断文件是否被修改过.再加以辅助字段,如文件大小可以判断文件内容是否增加,相同size的,判断MD5,至少于删除的.数据库的文件列表与当前列表中不一致的.当前列表没有就是被删除的,用别的颜色显示,数据库中的列表中没有的,则是后来增加的.别的颜色表示(添加一个功能,使用新增文件可以添加到数据库文件列表中去.)
==================
我想大致能满足你的需求了.
其实还是用svn或cvs比较好.记录每个文件的功能可以写在文件的注释段中嘛.
另外把文件名规范一下,做到见名识义就行.何必搞这么复杂.
自已开发这样的一个系统并不好,我想用不了多久就会丢弃的.
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top