function _logDump($filename, $data) { if (!is_dir(log_path())) { mkdir(log_path()); } $dump_dir = log_path() . '/dumps'; if (!is_dir($dump_dir)) { mkdir($dump_dir); } file_put_contents($dump_dir . '/' . $filename, $data); }
function get_log($id) { $path = log_path($id); if (!file_exists($path)) { return []; } $result = []; $fp = fopen($path, 'r'); if (!flock($fp, LOCK_SH)) { throw new RuntimeException('Cannot flock ' . $path); } while (!feof($fp)) { $line = fgets($fp); if (!$line) { break; } $line = rtrim($line); $cols = explode("\t", $line); $ad_id = $cols[0]; $user = $cols[1]; $agent = $cols[2]; $user_attr = decode_user_key($user); $result[$ad_id][] = ['ad_id' => $ad_id, 'user' => $user, 'agent' => $agent, 'age' => $user_attr['age'], 'gender' => $user_attr['gender']]; } fclose($fp); return $result; }