【问题标题】:PHP: Read from File and CountPHP:从文件中读取并计数
【发布时间】:2016-09-20 12:13:05
【问题描述】:

我正在为此苦苦挣扎:

我想用php解析nagios.dat文件,寻找每一行:

"problem_has_been_acknowledged=X" 并计算后面的值是 1 的频率。

【问题讨论】:

  • dat 文件往往是二进制文件 - 您尝试读取和处理的文件格式是什么?
  • 该文件是纯文本... Nagios 只是将其称为 .dat 文件

标签: php nagios


【解决方案1】:
$file = "/test.dat";
$string = "problem_has_been_acknowledged=1";
$count = substr_count(file_get_contents($file), $string);

echo $count;

【讨论】:

  • 不错的解决方案,但如果值可以大于 9(10、100 等),它将失败。
  • 为什么会失败?
  • 因为它也会计算problem_has_been_acknowledged=15。如果只是 10 当然不是问题,但问题并不完全清楚。
  • 我明白了。您可以将长度设置为参数。
  • @Michael 我希望你不介意,但我回滚了你的编辑,因为这会导致它停止工作。
猜你喜欢
  • 2018-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-20
  • 2011-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多