$record) { fputs($file, "("); fputs($file, $record_key); fputs($file, "\n"); ksort($record); foreach ($record as $key => $value) { fputs($file, "-"); fputs($file, $key); fputs($file, "\n"); if ($value !== null) { if (is_string($value)) { fputs($file, '"'); fputs($file, str_replace("\n", "\n\"", $value)); fputs($file, "\n"); } else if (is_bool($value)) { fputs($file, '!'); fputs($file, $value ? 1 : 0); fputs($file, "\n"); } else if (is_int($value)) { fputs($file, '='); fputs($file, $value); fputs($file, "\n"); } else if (is_float($value)) { fputs($file, '.'); fputs($file, $value); fputs($file, "\n"); } else if ($value instanceof \DateTime || $value instanceof \DateTimeInterface) { fputs($file, '@'); fputs($file, $value->format(DATE_RSS)); fputs($file, "\n"); } else { print_r($value); assert(false); } } } fputs($file, ")\n"); } fclose($file); } }