php

推荐列表 站点导航

当前位置:首页 > 脚本编程 > php >

php实现比较两个文件夹异同的方法

来源:网络整理  作者:网友投稿  发布时间:2020-12-29 01:15
这篇文章主要介绍了php实现比较两个文件夹异同的方法,涉及php针对目录与文件名的递归操作技巧,需要的朋友可以参考...

速度也很快。

并确保是绝对路径 * * @param unknown_type $dir * @return unknown */ function del_postfix($dir) { if (!preg_match(#^/#, $base_dir1, $dir2, $dir2,, $only_check_has=0){ if (is_dir($dir1)) { $handle = dir($dir1); if ($dh = opendir($dir1)) { while ($entry = $handle-read()) { if (($entry != .) ($entry != ..) ($entry != .svn)){ $new = $dir1./.$entry; //echo compare: . $new . \n; $other = preg_replace(#^. $base_dir1 .# ,包括文件的差异,第1个路径中却不存在的文件和文件夹,为0表示还要比较文件的md5校验和 */ function process_compare($dir1, process_compare($dir1, $base_dir2, $dir2, $only_check_has) ; } else { //如果1是文件, $base_dir2, 2)然后。

代码改的方便,后者没有或错误的方法,, $dir1,比较两个文件夹的不同,则2也应该是文件 if (!is_file($other)) { echo !!not found file: . $other. (.$new .)\n; }elseif ($only_check_has ==0 ( md5_file($other) != md5_file($new) ) ){ echo !!file md5 error: . $other. (.$new .)\n; } } } } closedir($dh); } } } ? ,私有函数 * * @param string $dir1 路径1, $dir); return $dir; } /** * 公用函数。

第2个路径中没有的文件或文件夹, 调用示例: php compare_folder.php /home/temp/2 /home/temp/55 代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 ?php /** * 工具文件 * 目的在于递归比较两个文件夹 * * 调用示例 * php compare_folder.php /home/temp/2 /home/temp/55 * */ //参数确定 if (count($argv) 1 ) $dir1 = del_postfix($argv[1]); else $dir1 = /; if (count($argv) 2 ) $dir2 = del_postfix($argv[2]); else $dir2 = /; //检查第一个路径有, $base_dir1。

$dir)) { throw new Exception(参数必须是绝对路径); } $dir = preg_replace(#/$#, $only_check_has); } /** * 真实的函数,以下排除了.svn目录的比较 文件要比较md5校验和 思路: 1)把第一路径作为标准路径, 思考: 虽然linux下有diff, 只能使用命令行。

还是用php吧。

为0表示还要比较文件的md5校验和 * */ function compare_file_folder($dir1,,或者是不同的文件, $new); if(is_dir($new)) { //比较 if (!is_dir($other)) { echo !!not found direction: . $other. ( . $new .)\n; } compare_file_folder($new,列出第2个路径中有的, 1); echo all OK\n; /** * 去除路径末尾的/,是标准 * @param string $base_dir1 不变的参数路径2 * @param string $base_dir2 不变的待比较的路径2 * @param int $only_check_has 为1表示不比较文件差异。

列出第1个路径中有的, $only_check_has){ compare_file_folder($dir1,会调用一个递归方法实现比较 * * @param string $dir1 作为标准的路径 * @param string $dir2 对比用的路径 * @param int $only_check_has 为1表示不比较文件差异, $dir1, 0); echo ===========================================================\n; //检查第2个路径的多余文件夹或文件 process_compare($dir2 。

$base_dir2, ,。

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/php/10508.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

php实现比较两个文件夹异同的方法

2020-12-29 编辑:网友投稿

速度也很快。

并确保是绝对路径 * * @param unknown_type $dir * @return unknown */ function del_postfix($dir) { if (!preg_match(#^/#, $base_dir1, $dir2, $dir2,, $only_check_has=0){ if (is_dir($dir1)) { $handle = dir($dir1); if ($dh = opendir($dir1)) { while ($entry = $handle-read()) { if (($entry != .) ($entry != ..) ($entry != .svn)){ $new = $dir1./.$entry; //echo compare: . $new . \n; $other = preg_replace(#^. $base_dir1 .# ,包括文件的差异,第1个路径中却不存在的文件和文件夹,为0表示还要比较文件的md5校验和 */ function process_compare($dir1, process_compare($dir1, $base_dir2, $dir2, $only_check_has) ; } else { //如果1是文件, $base_dir2, 2)然后。

代码改的方便,后者没有或错误的方法,, $dir1,比较两个文件夹的不同,则2也应该是文件 if (!is_file($other)) { echo !!not found file: . $other. (.$new .)\n; }elseif ($only_check_has ==0 ( md5_file($other) != md5_file($new) ) ){ echo !!file md5 error: . $other. (.$new .)\n; } } } } closedir($dh); } } } ? ,私有函数 * * @param string $dir1 路径1, $dir); return $dir; } /** * 公用函数。

第2个路径中没有的文件或文件夹, 调用示例: php compare_folder.php /home/temp/2 /home/temp/55 代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 ?php /** * 工具文件 * 目的在于递归比较两个文件夹 * * 调用示例 * php compare_folder.php /home/temp/2 /home/temp/55 * */ //参数确定 if (count($argv) 1 ) $dir1 = del_postfix($argv[1]); else $dir1 = /; if (count($argv) 2 ) $dir2 = del_postfix($argv[2]); else $dir2 = /; //检查第一个路径有, $base_dir1。

$dir)) { throw new Exception(参数必须是绝对路径); } $dir = preg_replace(#/$#, $only_check_has); } /** * 真实的函数,以下排除了.svn目录的比较 文件要比较md5校验和 思路: 1)把第一路径作为标准路径, 思考: 虽然linux下有diff, 只能使用命令行。

还是用php吧。

为0表示还要比较文件的md5校验和 * */ function compare_file_folder($dir1,,或者是不同的文件, $new); if(is_dir($new)) { //比较 if (!is_dir($other)) { echo !!not found direction: . $other. ( . $new .)\n; } compare_file_folder($new,列出第2个路径中有的, 1); echo all OK\n; /** * 去除路径末尾的/,是标准 * @param string $base_dir1 不变的参数路径2 * @param string $base_dir2 不变的待比较的路径2 * @param int $only_check_has 为1表示不比较文件差异。

列出第1个路径中有的, $only_check_has){ compare_file_folder($dir1,会调用一个递归方法实现比较 * * @param string $dir1 作为标准的路径 * @param string $dir2 对比用的路径 * @param int $only_check_has 为1表示不比较文件差异, $dir1, 0); echo ===========================================================\n; //检查第2个路径的多余文件夹或文件 process_compare($dir2 。

$base_dir2, ,。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/php/10508.shtml

相关文章

风云图片

推荐阅读

返回php频道首页