$line){ if ((strpos($line, $marketname[0]) !== false) && (strpos($line, "'Fills': [{") !== false)) { $line = str_replace("'MarketName': None", "'MarketName': null", $line); $line = str_replace("'", '"', $line); $json = json_decode($line, true); if ($json && $json['Fills'] && in_array(trim($json['MarketName']), $marketname)) { foreach($json['Fills'] as $b){ $ms = explode('.',$b['TimeStamp']); if (!isset($ms[1])){ $ms[1]=0; } $ms=str_pad($ms[1],3,'0'); $data = strtotime($b['TimeStamp']).$ms; $data .= ','; $data .= $b['OrderType']; $data .= ','; $data .= (isset($b['Rate'])?number_format($b['Rate'],12,'.',''):'null'); $data .= ','; $data .= $b['Quantity']; $data .= "\n"; file_put_contents($save, $data, FILE_APPEND ); } } } unset($lines[$lineID]); } if ($originalLineCount<=1){ break; } $i++; } progress($file, $totalLines, $i*$linesPerIteration); } else{ die('File does not exist.'); } } function progress($file, $lines, $doneLines){ global $starttime; global $lastprogress; if ($lastprogress === false || time()-$lastprogress>1){ error_log(time()-$starttime. ' seconds in file '.$file. ', '.($doneLines).'/'. ($lines). ' ['.round($doneLines/$lines*100).'%]'); $lastprogress = time(); } } ?>