ALIOSS::make_object_group_xml PHP Метод

make_object_group_xml() приватный Метод

转化object数组为固定个xml格式
С версии: 2011-12-27
Автор: [email protected]
private make_object_group_xml ( string $bucket, array $object_array ) : string
$bucket string (Required)
$object_array array (Required)
Результат string
    private function make_object_group_xml($bucket, $object_array)
    {
        $xml = '';
        $xml .= '<CreateFileGroup>';
        if ($object_array) {
            if (count($object_array) > self::OSS_MAX_OBJECT_GROUP_VALUE) {
                throw new OSS_Exception(OSS_OBJECT_GROUP_TOO_MANY_OBJECT, '-401');
            }
            $index = 1;
            foreach ($object_array as $key => $value) {
                $object_meta = (array) $this->get_object_meta($bucket, $value);
                if (isset($object_meta) && isset($object_meta['status']) && isset($object_meta['header']) && isset($object_meta['header']['etag']) && $object_meta['status'] == 200) {
                    $xml .= '<Part>';
                    $xml .= '<PartNumber>' . intval($index) . '</PartNumber>';
                    $xml .= '<PartName>' . $value . '</PartName>';
                    $xml .= '<ETag>' . $object_meta['header']['etag'] . '</ETag>';
                    $xml .= '</Part>';
                    $index++;
                }
            }
        } else {
            throw new OSS_Exception(OSS_OBJECT_ARRAY_IS_EMPTY, '-400');
        }
        $xml .= '</CreateFileGroup>';
        return $xml;
    }