Decode amf3 object with PHP

My flash code:

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 code:

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

      

Basically I need to send an AMF3 object from Flash to PHP and unserialize it. I am using AMFEXT extension but cannot get it to work. Any idea?

+2


a source to share


4 answers


You have a look at AMFPHP: http://www.amfphp.org/



"AMFPHP is a free, open source PHP implementation of the Action Message Format (AMF). AMF allows binary serialization of native Action Script types and objects (AS2, AS3) to backend services. AMFPHP challenges the implementation of the entire AMF protocol as alternatives to Flex Data Services (AMF3) and Flash Remoting (AMF0) "

0


a source


You can try this: http://sourceforge.net/projects/php-amf3/



+2


a source


I wrote a simple AMF3 Serializer / Deserialize in PHP for my FlashMOG project: here

This requires a bit of adaptation.

+1


a source


just take a look at the AMFPHP project, I used it in a chat project and it is really easy to use and effective.

-1


a source







All Articles