2013-03-22 1 views
0

Я пытаюсь раздуть Flash-сжатый буфер в PHP.Inflating Flash CompressionAlgorithm.DEFLATE ByteArray в PHP

Вот что я имею в Flex ActionScript:

var comp:ByteArray = new ByteArray(); 
comp.writeObject(buffer); 
comp.compress(CompressionAlgorithm.DEFLATE); 
var request:URLRequest = new URLRequest(url); 
request.method = URLRequestMethod.POST; 
request.contentType = contentType; 
request.data = comp; 
loader.load(request); 

Содержимое comp будет загружен на сервер в виде почтовых данных. РНР скрипт будет надуть:

$contents = gzinflate(file_get_contents($file)); 

Проблема заключается в том, что таким образом, содержание $contents не совпадает с buffer. Он раздувался, но он всегда добавлял 4 дополнительных байта. Например, 32000 байт стали 32004 байтами. Я не уверен, что это начало или конец.

Есть ли какая-либо документация о том, что это за 4 байта, и как мне надуть эти данные в php? Спасибо.

ответ

0

Получается, что магические буквы: 0C 83 F4 01. И эти 4 байта добавляются в начале несжатых данных. Я не могу найти документацию по этому вопросу. Но, удалив эти 4 байта с начала каждого ByteArray, я могу получить исходные данные.

Смежные вопросы