2

私のフラッシュコード:

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

4 に答える 4

2

これを試すことができます - http://sourceforge.net/projects/php-amf3/

于 2010-07-06T17:52:52.620 に答える
1

私のプロジェクトFlashMOGのためにPHPで簡単なAMF3 Serializer/Deserializeを書きました: こちら

少し適応が必要でしょう。

于 2010-08-06T23:57:54.650 に答える
0

AMFPHP をご覧になりましたか: http://www.amfphp.org/

「AMFPHP は、アクション メッセージ フォーマット (AMF) の無料のオープン ソース PHP 実装です。AMF により、アクション スクリプト (AS2、AS3) ネイティブ タイプとオブジェクトのバイナリ シリアル化がサーバー側サービスに送信されます。AMFPHP は、 Flex Data Services (AMF3) および Flash Remoting (AMF0) の代替となる AMF プロトコル全体」

于 2010-04-13T14:04:07.920 に答える
-1

AMFPHPプロジェクトを見てください。チャットプロジェクトで使用しました。使い方はとても簡単で効率的です。

于 2010-08-07T00:00:49.857 に答える