将大文件分成块并使用通用分隔符PHP搜索重复项

时间:2014-09-08 18:57:40

标签: php arrays sorting

我们的PC上有软件,每周都会将信息发送到我们服务器上的FTP。问题是它每次都会生成一个新文件,所以我在viewlogs页面上创建了一个php脚本,它将所有日志写入一个大文件,然后删除这些唯一文件。这很好用,除了我不关心的文件中有很多垃圾,而且因为它每周都会产生很多重复,这让我很烦恼。实际相关信息具有共同且有用的格式。以下面的例子为例:

  ==================================================
  PCN               : <name>
  Web Browser       : <main browser>
  User Name         : <AD user>
  lastlogn          : <loginDate>
  WindowsUpdateStat : <importantOraboveUpdatesOutstanding>
  CompAssetTagNum   : <tag>
  ManufacturerNm    : <thierName>
  ==================================================

  ==================================================
  PCN               : <name>
  Web Browser       : <main browser>
  User Name         : <AD user>
  lastlogn          : <loginDate>
  WindowsUpdateStat : <importantOraboveUpdatesOutstanding>
  CompAssetTagNum   : <tag>
  ManufacturerNm    : <thierName>
  ==================================================

正如您所看到的,每个有用的部分由等量的'='字符分隔。 目前我的代码是:

  if (file_exists($recovery)){  
                $ncont= file_get_contents($fileToRead);
                $ocont= file_get_contents($recovery);
                $ocont .= $ncont;
                file_put_contents($recovery, $ocont);
                echo "WriterRecoveryRan";
                unlink($fileToRead);
            }

我已经读过你可以使用explode / implode搜索数组,这对于分隔符来说是$ ocont并将文件拆分成这样的块?

我是否有可能在读取过程中只读取上面显示的具有相等数据的数据,然后可能获取每个块的哈希并将其放入数组中,检查该数组是否有重复哈希,并删除相应的重复?

如果这个问题看起来非常广泛,我道歉。如果它是不可接受的,我将编辑。

感谢您提供任何帮助/指示/想法。

0 个答案:

没有答案