`
xieye
  • 浏览: 834979 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

利用php得到文件夹的md5校验值

 
阅读更多
<?php
/**
 * 工具文件
 * 最终目的在于比较两个文件夹的差异,
 * 
 * 但是本程序只用于得到一个目录的md5校验和,所以需要分别在不同机器上执行,然后比较md5校验和
 * 
 * 
 * 1)调用示例
 * php get_folder_md5.php /home/temp/2 
 * 
 * 2)我不想比.svn目录,所以程序中有$entry != ".svn",如果想彻底比较,请删除&& $entry != ".svn"
 * 3)
 * @author yyy
 */

//参数确定
if (count($argv) > 1 )
  $dir1 = del_postfix($argv[1]);
else 
  die('please input dir');



$global_str = md5('1');  
  
//检查第一个路径有,后者没有或错误的方法。
get_folder_md5($dir1);
echo "===========================================================\n";

echo $global_str;
echo "\n";


/**
 * 去除路径末尾的/,并确保是绝对路径
 *
 * @param unknown_type $dir
 * @return unknown
 */
function del_postfix($dir)
{
    if (!preg_match('#^/#', $dir)) {
        throw new Exception('参数必须是绝对路径');
    }
    $dir = preg_replace('#/$#', '', $dir);
    return $dir;
}




/**
 * 递归调用获取md5
 *
 * @param string $dir1        路径1,是标准
 */
function get_folder_md5($dir1){
    global $global_str;
    if (is_dir($dir1)) {
        $arr =  scandir($dir1);
        foreach ($arr as $entry) {
            if (($entry != ".") && ($entry != "..")  && ($entry != ".svn")){
                $new = $dir1."/".$entry; //$new是完整文件名或文件夹名
                //如果不想显示文件名可以注释下面这句
                echo $entry ."\n";
                $global_str = md5($global_str . $entry);
                if(is_dir($new)) {
                    get_folder_md5($new) ;
                } else { 
                    $global_str = md5($global_str . md5_file($new) );
                }
            }
        }
    }
}

分享到:
评论

相关推荐

    MD5批量较验工具V3.0

    支持MD5查询、SHA1查询、CRC32查询校验,并且支持显示文件版本、时间参数,支持文件与文件夹鼠标拖放功能。 该工具可对文件进行批量校验,免去多个文件校验时的麻烦。 主要用途:验证下载后的文件是否与服务器上的...

    第07篇:如何在百万行代码中发现隐藏的后门1

    当你怀疑文件可能被篡改时,可以重新计算文件的MD5值并与原始记录的哈希值比较。例如,D盾_Web查杀工具提供的MD5值可以用来验证下载的软件是否被修改。同样的,你可以为你的代码库中的每个文件计算MD5值并存储,以便...

    PHP实现的简单网络硬盘

    6. MD5校验:为了验证上传文件的完整性,通常会使用MD5散列函数对文件进行校验。MD5能够生成一个唯一的字符串(散列值),用于确认文件在上传过程中未被篡改。在上面的代码片段中,使用了PHP内置函数md5_file()来...

    windows7下Apache PHP MySQL phpMyAdmin Zend_Optimizer_安装配置教程.doc

    确保下载完成后校验文件的 MD5 值,以确保文件完整未被篡改。 ##### 2. 安装 Apache - **开始安装**:双击下载好的 Apache 安装程序,接受协议,点击 Next。 - **填写 Server Information**: - **Network Domain...

    php对文件进行hash运算的方法

    常见的哈希算法有MD5、SHA1、SHA256等。哈希算法是单向的,理论上不同的输入数据产生相同哈希值的情况(哈希碰撞)虽然存在,但概率非常小,以至于在实际应用中可以忽略不计。 在PHP中进行文件哈希运算主要涉及两个...

    CMS_GetSimple_7bf3po_CMS_GetSimple_7bf3po_

    2. **3c0891a7479b73927b5a21cd55a9d81b.txt、ffaca92ade0f30fa08aea279ee60e07f.txt、d0c31af570536b9f626224037d2608f9.txt** - 这些看起来是散列值文件,可能用于校验文件的完整性和安全性。例如,它们可能是MD5...

    网鼎杯2020半决赛awdplus题目

    例如,MD5SUM.txt文件可能是用来校验解压后的文件完整性,或者密码可能隐藏在其中的MD5值中。 至于"半决赛-待用"这个文件夹,可能包含了一些备用题目或额外资源,参赛者可能需要根据实际情况灵活应对,这可能涉及对...

    xiunobbs_4.0.4.zip

    哈希值为ADDE1728FF727D9F378E7519589BCB49D9A2A3419F027CD9D3637EBA9AFB8C89,用户在安装前应进行校验。 修罗BBS作为一个开源的BBS系统,主要服务于前端开发人员和Web服务管理者,它提供了丰富的功能和良好的用户...

    Phurl_xyj4l.

    例如,这可能是SHA-1或MD5校验和,用于验证文件在传输或存储过程中是否被修改。 2. `fileinfo.txt` - 这个文件名暗示它可能包含了关于压缩包内其他文件的详细信息,如文件类型、大小、创建日期等。在软件开发、系统...

    phputils:一些有用PHP函数

    - `sha1()`, `md5()`: 计算哈希值,常用于密码存储或文件校验。 "phputils-master" 文件名表明这是该库的主分支或者源代码仓库,通常包含`src`(源代码)、`tests`(单元测试)和`README.md`(项目说明)等文件夹...

    KODExplorer 芒果云-资源管理器

    加入严格的校验机制 - 首次运行环境检测[data目录检测,必须的函数支持提示] - 上传已存在处理——创建副本(另外包括粘贴,解压) - 选中优化 ctrl选中拖拽 - 键盘快捷键选中文件,多个字符支持 - 文件文件夹权限...

    OpenCart v1.5.0.5簡體中文

    MD5值"BBF100D73387CA67CA86263084C4A7E4"可能是软件的校验码,用于验证下载文件的完整性和安全性。同时,用户可以在支持网站www.dnono.com上寻求关于OpenCart v1.5.0.5的解答和技术支持。 总结起来,OpenCart v...

    iteye的技术博客集合

    - **Java 获取文件 MD5 值**:这部分介绍了计算文件 MD5 校验和的方法。 - **获取 HttpURLConnection 响应体内容**:这部分讲解了如何从 HttpURLConnection 中读取 HTTP 响应数据。 - **Java 如何读取 src 根目录下...

    风越ASP代码生成器FireAspCreatorv2.9.rar

    常用加解密、编解码(DES、MD5、SHA、BASE64) 批量提取文本,支持正则表达式,可将HTML等文件中指定内容存入数据库 批量查找替换,支持正则表达式 批量文件、文件夹改名,支持正则表达式 正则表达式测试器(可设置...

    风越.Net代码生成器 [FireCode Creator] V1.3 精简版

    常用加解密、编解码(DES、MD5、SHA、BASE64) 批量提取文本,支持正则表达式,可将HTML等文件中指定内容存入数据库 批量查找替换,支持正则表达式 批量文件、文件夹改名,支持正则表达式 正则表达式测试器...

    风越.net代码生成器v2.9

    常用加解密、编解码(DES、MD5、SHA、BASE64) 批量提取文本,支持正则表达式,可将HTML等文件中指定内容存入数据库 批量查找替换,支持正则表达式 批量文件、文件夹改名,支持正则表达式 正则表达式测试器...

    风越ASP代码生成器2.8

    常用加解密、编解码(DES、MD5、SHA、BASE64) 批量提取文本,支持正则表达式,可将HTML等文件中指定内容存入数据库 批量查找替换,支持正则表达式 批量文件、文件夹改名,支持正则表达式 正则表达式测试器...

Global site tag (gtag.js) - Google Analytics