/** * Returns array of file data * @param $content * @return array */ private static function getFilesInfo($content) { $offset = 0; $line = 0; $arResult = array(); while (($newLinePos = String::getBinaryStrpos($content, "\n", $offset)) !== false) { $line++; $offset = $newLinePos + 1; if (String::getBinarySubstring($content, $offset, strlen(self::HEADER_START_TAG)) === self::HEADER_START_TAG) { $endingPos = String::getBinaryStrpos($content, self::HEADER_END_TAG, $offset); if ($endingPos === false) { break; } $startData = $offset + strlen(self::HEADER_START_TAG); $data = unserialize(String::getBinarySubstring($content, $startData, $endingPos - $startData)); if (is_array($data)) { $data["line"] = $line + 1; $arResult[] = $data; } $offset = $endingPos; } } return $arResult; }