コード例 #1
0
ファイル: asset.php プロジェクト: andy-profi/bxApiDocs
 /**
  * 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;
 }