PHP kullanarak AMF3 nesneyi Decode

4 Cevap php

Benim flaş kodu:

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

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

Temelde PHP Flash'tan bir AMF3 nesne göndermek ve unserialize gerekir. Ben AMFEXT uzantısı kullanıyorum ama o iş için alamadım. Herhangi bir fikir?

4 Cevap

Eğer AMFPHP bir göz vardı: http://www.amfphp.org/

"AMFPHP Action Message Format (AMF) ücretsiz açık kaynak PHP uygulamasıdır. AMF Action Script (AS2, AS3) yerli türleri ve nesneleri sunucu tarafı hizmetlerine gönderilmek üzere ikili serileştirme için izin verir. AMFPHP uygulanması ile meydan Bir Flex Data Services alternatif (AMF3) ve Flash Remoting (AMF0) olmak üzere tüm AMF protokol "

Bunu birini deneyebilirsiniz - http://sourceforge.net/projects/php-amf3/

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

Bu adaptasyon biraz gerekir.

Sadece AMFPHP proje bir göz atın, ben bir sohbet projede kullandım ve gerçekten kullanımı basit ve etkilidir.