巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+都会分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
建站专提News

php完成比拟两个文件夹异同的体例

一佰互联网站开辟设想(www.taishanly.com) 宣布日期 2020-04-28 13:45:23 阅读数: 128

本文实例报告了php完成比拟两个文件夹异同的体例。分享给大师供大师参考。详细阐发以下:

请求:

只能利用号令行,比拟两个文件夹的差别,包含文件的差别。

思虑:

固然linux下有diff。。。。仍是用php吧,代码改的便利,速率也很快,以下解除了.svn目次的比拟 文件要比拟md5校验和

思绪:

1)把第一起径作为规范途径,列出第1个途径中有的,第2个途径中不的文件或文件夹,或是差别的文件。 2)而后,列出第2个途径中有的,第1个途径中却不存在的文件和文件夹。

挪用示例:

php compare_folder.php /home/temp/2 /home/temp/55

代码以下:

<?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 = "/"; //查抄第一个途径有,后者不或毛病的体例。 process_compare($dir1, $dir2, 0); echo "==========================================================="; //查抄第2个途径的过剩文件夹或文件 process_compare($dir2 , $dir1, 1); echo "all OK"; /**  * 去除途径开端的/,并确保是相对途径  *  * @param unknown_type $dir  * @return unknown  */ function del_postfix($dir) {  if (!preg_match("#^/#", $dir)) {   throw new Exception("参数必须是相对途径");  }  $dir = preg_replace("#/$#", "", $dir);  return $dir; } /**  * 公用函数,会挪用一个递归体例完成比拟  *  * @param string $dir1 作为规范的途径  * @param string $dir2 对照用的途径  * @param int $only_check_has 为1表现不比拟文件差别,为0表现还要比拟文件的md5校验和  */ function process_compare($dir1, $dir2, $only_check_has){  compare_file_folder($dir1, $dir1, $dir2, $only_check_has); } /**  * 实在的函数,公有函数  *  * @param string $dir1  途径1,是规范  * @param string $base_dir1 不变的参数途径2  * @param string $base_dir2 不变的待比拟的途径2  * @param int $only_check_has 为1表现不比拟文件差别,为0表现还要比拟文件的md5校验和  *  */ function compare_file_folder($dir1, $base_dir1, $base_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 . "";      $other = preg_replace("#^". $base_dir1 ."#" , $base_dir2, $new);      if(is_dir($new)) {       //比拟       if (!is_dir($other)) {        echo "!!not found direction: ". $other. " (" . $new .")";       }       compare_file_folder($new, $base_dir1,$base_dir2, $only_check_has) ;      } else { //若是1是文件,则2也应当是文件       if (!is_file($other)) {        echo "!!not found file:  ". $other. " (".$new .")";       }elseif ($only_check_has ==0 && ( md5_file($other) != md5_file($new) ) ){        echo "!!file md5 error:  ". $other. " (".$new .")";       }      }     }    }    closedir($dh);   }  } } ?>

但愿本文所述对大师的php法式设想有所赞助。

一佰互联是天下着名建站品牌办事商,咱们有九年、网站建造、网页设想、php开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。最近几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站建造设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家收集公司供给自助建站平台搭建办事。更多资讯:tags标签

相干消息more

04
05月
Google给泛博网站的搜刮引擎优化(SEO

为了把Google中文搜刮外乡化Google官方也确切做了大批的任务,此中在(网站办理员/站长)这块文章丰硕了不少,作为营销喜好者笔者常常关... >>概况

20
04月
HTML5 Canvas中利用用途径刻画圆弧

本文翻译自Steve Fulton & Jeff Fulton HTML5 Canvas, Chapter 2, “Ad... >>概况

05
04月
网站扶植必然要注重多一些新意

提及网站,在现在收集手艺已极其发财的社会,几近能够说众所周知。良多企业都愈来愈正视网站扶植,究竟结果网站扶植得好,就能够最大水平上罗致到网... >>概况

26
03月
399元追击AirPods!光荣FlyPod

简介:一、媒介:挣脱线材 耳机敲定将来形状 毫无疑难,跟着周全屏的普遍提高和一步接一步的疾速迭代退化,将来一段时候以内智妙手机将一直朝着极致... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站