fork download
  1. <?php
  2.  
  3. // your code goes here<?php
  4.  
  5. //Set Dates
  6. $fromDateTime = new DateTime('Wed, Sep 19 2018 00:00:00');
  7. $toDateTime = new DateTime('Wed, Sep 19 2018 17:00:00');
  8.  
  9. // Load File
  10. //$file = file_get_contents('Reject.txt');
  11. $file = 'City Siren FCT_Tester #1 10039273
  12. Date: 160518, Version: 1.00
  13.  
  14. ID Test Min Max Unit
  15. 1 Battery level 2.85 3.40 V
  16. 2 Piezo sound level 1.45 2.80 V
  17. 3 Left D3 (Ch 3) light intensity 2000 10000 mcd
  18. 4 Right D2 (Ch 1) light intensity 2000 10000 mcd
  19.  
  20. Date Time Battery level Piezo sound level Left D3 (Ch 3) light intensity Right D2 (Ch 1) light intensity
  21.  
  22. Wed, Sep 19 2018 00:25:55 3.385 0.000
  23. Wed, Sep 19 2018 00:30:12 3.358 0.000
  24. Wed, Sep 19 2018 00:31:15 3.240 0.000
  25. Wed, Sep 19 2018 00:34:12 3.144 0.000
  26. Wed, Sep 19 2018 01:08:49 3.376 0.000
  27. Wed, Sep 19 2018 01:21:13 3.381 0.000
  28. Wed, Sep 19 2018 01:31:05 3.362 1.600 10133.000
  29. Wed, Sep 19 2018 02:03:10 3.379 1.600 10080.000
  30. Wed, Sep 19 2018 03:43:48 3.374 1.652 10143.000
  31. Wed, Sep 19 2018 04:04:24 3.372 1.589 10329.000
  32. Wed, Sep 19 2018 04:05:29 3.376 1.586 10112.000
  33. Wed, Sep 19 2018 04:15:04 3.175 0.000
  34. Wed, Sep 19 2018 04:16:02 3.267 0.000
  35. Wed, Sep 19 2018 04:16:18 3.377 0.000
  36. Wed, Sep 19 2018 04:18:55 3.240 0.000
  37. Wed, Sep 19 2018 04:21:40 3.371 1.600 10118.000
  38. Wed, Sep 19 2018 04:24:18 3.379 1.604 10080.000
  39. Wed, Sep 19 2018 04:24:48 0.414
  40. Wed, Sep 19 2018 04:26:54 3.369 1.607 10035.000
  41. Wed, Sep 19 2018 04:28:06 3.169 0.000
  42. Wed, Sep 19 2018 04:31:46 3.204 0.000
  43. Wed, Sep 19 2018 04:33:03 3.246 0.000
  44. Wed, Sep 19 2018 04:36:45 3.164 0.000
  45. Wed, Sep 19 2018 05:12:30 3.375 0.000
  46. Wed, Sep 19 2018 05:18:29 3.380 0.000
  47. Wed, Sep 19 2018 05:27:34 3.370 0.000
  48. Wed, Sep 19 2018 05:33:23 3.299 0.000
  49. Wed, Sep 19 2018 05:33:41 3.263 0.000
  50. Wed, Sep 19 2018 05:34:00 3.233 0.000
  51. Wed, Sep 19 2018 05:48:38 3.322 0.000
  52. Wed, Sep 19 2018 06:03:40 3.368 1.624 10050.000
  53. Wed, Sep 19 2018 08:13:09 3.378 0.000
  54. Wed, Sep 19 2018 08:13:44 3.376 0.000
  55. Wed, Sep 19 2018 08:18:37 3.269 0.000
  56. Wed, Sep 19 2018 08:19:10 3.202 0.000
  57. Wed, Sep 19 2018 08:24:20 3.383 0.000
  58. Wed, Sep 19 2018 08:35:43 3.368 1.613 10355.000
  59. Wed, Sep 19 2018 08:48:31 3.373 1.620 10246.000
  60. Wed, Sep 19 2018 08:54:07 0.414
  61. Wed, Sep 19 2018 08:55:54 3.368 0.000
  62. Wed, Sep 19 2018 09:02:55 3.370 0.000
  63. Wed, Sep 19 2018 09:03:09 3.379 0.000
  64. Wed, Sep 19 2018 09:06:55 3.375 1.614 10280.000
  65. Wed, Sep 19 2018 09:15:12 3.379 1.618 10115.000
  66. Wed, Sep 19 2018 09:16:23 3.377 0.000
  67. Wed, Sep 19 2018 09:21:27 3.372 1.586 10022.000
  68. Wed, Sep 19 2018 09:23:50 3.377 0.000
  69. Wed, Sep 19 2018 10:07:47 3.283 0.000
  70. Wed, Sep 19 2018 10:12:17 3.048 0.000
  71. Wed, Sep 19 2018 10:13:08 3.330 0.000
  72. Wed, Sep 19 2018 10:18:00 3.371 0.000
  73. Wed, Sep 19 2018 10:46:43 3.376 1.617 10437.000
  74. Wed, Sep 19 2018 10:59:51 3.369 0.000
  75. Wed, Sep 19 2018 11:01:43 3.379 1.591 10366.000
  76. Wed, Sep 19 2018 11:02:26 3.372 0.000
  77. Wed, Sep 19 2018 11:13:09 3.230 0.000
  78. Wed, Sep 19 2018 11:29:12 3.379 0.000
  79. Wed, Sep 19 2018 11:39:50 3.367 1.609 10019.000
  80. Wed, Sep 19 2018 11:57:41 3.319 0.000
  81. Wed, Sep 19 2018 12:04:41 3.358 1.617 10038.000
  82. Wed, Sep 19 2018 12:10:37 3.372 0.000
  83. Wed, Sep 19 2018 12:14:46 3.290 0.000
  84. Wed, Sep 19 2018 12:18:51 3.371 0.000
  85. Wed, Sep 19 2018 12:24:13 3.278 0.000
  86. Wed, Sep 19 2018 12:25:26 3.158 0.000
  87. Wed, Sep 19 2018 12:41:07 3.310 0.000
  88. Wed, Sep 19 2018 13:05:04 3.371 1.610 10051.000
  89. Wed, Sep 19 2018 13:48:05 3.371 1.612 10004.000
  90. Wed, Sep 19 2018 14:02:24 3.188 0.000
  91. Wed, Sep 19 2018 14:09:02 3.085 0.000
  92. Wed, Sep 19 2018 15:28:01 3.034 0.000
  93. Wed, Sep 19 2018 14:44:12 3.374 1.609 10034.000
  94. Wed, Sep 19 2018 14:47:27 2.838
  95. Wed, Sep 19 2018 14:51:29 3.377 1.615 10157.000
  96. Wed, Sep 19 2018 15:01:32 3.365 0.000
  97. Wed, Sep 19 2018 15:01:48 3.372 1.626 10115.000
  98. Wed, Sep 19 2018 15:06:46 2.778
  99. Wed, Sep 19 2018 15:11:57 3.374 1.612 10304.000
  100. Wed, Sep 19 2018 15:17:34 2.826
  101. Wed, Sep 19 2018 15:38:00 3.328 0.000
  102. Wed, Sep 19 2018 16:16:05 3.332 0.000
  103. Wed, Sep 19 2018 16:26:48 3.376 1.586 9477.500 0.000
  104. Wed, Sep 19 2018 16:33:26 3.374 1.619 10115.000
  105. Wed, Sep 19 2018 16:58:37 3.378 1.614 10206.000 ';
  106.  
  107. // Split by lines
  108. $lines = explode("\n", $file);
  109. $header = explode("\t", $lines[9]);
  110. // counter
  111. $rowsintimespan = 0;
  112. $counter = Array();
  113. foreach($header as $index => $head){
  114. $counter[rtrim($head)] = 0;
  115. }
  116.  
  117. // Do Line-By-Line starting by Line 16 (Array Index 15)
  118. for($i = 11; $i < count($lines); $i++) {
  119. // the file is "Tue,<space>Sep<space>18<space><space>2018<tab>23:59:53<tab>"
  120. $dateobj = DateTime::createFromFormat("???, M d Y?H:i:s+", $lines[$i]);
  121. // check if date is in your Timespan
  122. if($dateobj < $toDateTime && $dateobj > $fromDateTime) {
  123. $rowsintimespan++; // count if in timespan
  124. $cols = explode("\t",$lines[$i]);
  125. // 0 = Date, 1 = Time, 2 = Battery Level, 3 = Piezo, 4 = left, 5 = Right
  126. // Count Battery-Values
  127. foreach($header as $index => $head){
  128. $counter[rtrim($head)] += empty($cols[$index]) ? 0 : 1;
  129. }
  130. }
  131. }
  132.  
  133. // Debug-Output
  134. echo 'In Timespan: '.$rowsintimespan."\n";
  135. var_dump($counter);
  136. ?>
  137.  
Success #stdin #stdout 0s 82624KB
stdin
Standard input is empty
stdout
In Timespan: 84
array(6) {
  ["Date"]=>
  int(84)
  ["Time"]=>
  int(84)
  ["Battery level"]=>
  int(84)
  ["Piezo sound level"]=>
  int(79)
  ["Left D3  (Ch 3) light intensity"]=>
  int(27)
  ["Right D2  (Ch 1) light intensity"]=>
  int(1)
}