我的Flash代码:
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扩展但无法使其工作。有什么想法吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
我为我的项目FlashMOG在PHP中编写了一个简单的AMF3 Serializer / Deserialize: here
需要一些调整。
答案 2 :(得分:0)
您是否看过AMFPHP:http://www.amfphp.org/
“AMFPHP是Action Message Format(AMF)的免费开源PHP实现.AMF允许将Action Script(AS2,AS3)本机类型和对象的二进制序列化发送到服务器端服务.AMFPHP受到挑战实施整个AMF协议,以替代Flex数据服务(AMF3)和Flash Remoting(AMF0)“
答案 3 :(得分:-1)
看看AMFPHP项目,我在聊天项目中使用它,它非常简单易用。