Декодировать объект amf3 используя PHP - PullRequest
2 голосов
/ 13 апреля 2010

Мой флеш-код:

var request=new URLRequest('http://localhost/test.php');
request.method = URLRequestMethod.POST;
var data = new URLVariables();
var bytes:ByteArray = new ByteArray();
bytes.objectEncoding = ObjectEncoding.AMF3;
//write an object into the bytearray
bytes.writeObject( 
      { myString:"Hello World"} 
);
data.data = bytes;
request.data = data;

var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.addEventListener(Event.COMPLETE, onCompleteHandler);
urlLoader.load(request);

function onCompleteHandler(evt:Event):void {
 trace(evt.target.data);
}

PHP код:

define("AMF_AMF3",1); 
$data = $_POST['data'];
echo amf_decode($data, AMF_AMF3);

В основном мне нужно отправить объект AMF3 из Flash в PHP и десериализовать его. Я использую расширение AMFEXT, но не могу заставить его работать. Есть идеи?

Ответы [ 4 ]

2 голосов
/ 06 июля 2010

Вы можете попробовать это - http://sourceforge.net/projects/php-amf3/

1 голос
/ 07 августа 2010

Я написал простой сериализатор / десериализацию AMF3 на PHP для моего проекта FlashMOG: здесь

Для этого потребуется немного адаптации.

0 голосов
/ 07 августа 2010

просто взгляните на проект AMFPHP, я использовал его в проекте чата, и он действительно прост и эффективен.

0 голосов
/ 13 апреля 2010

Вы смотрели на AMFPHP: http://www.amfphp.org/

"AMFPHP - это бесплатная PHP-реализация с открытым исходным кодом формата сообщений о действиях (AMF). AMF позволяет выполнять двоичную сериализацию собственных типов и объектов Action Script (AS2, AS3) для отправки на серверные службы. с реализацией всего протокола AMF в качестве альтернативы Flex Data Services (AMF3) и Flash Remoting (AMF0) "

...