2009-09-11 10 views
7

フラッシュアプ​​リケーションからPHPページにかなり長い文字列を送信する必要があります。もちろん、サーバーへのトラフィック負荷を軽減するために圧縮する必要があります。どのように私は効果的な方法で文字列を圧縮し、簡単にPHPでそれを圧縮することができますか?AS3の効果的な圧縮をPHPに変換する

標準的なzipファイル転送に傾いていますが、この操作を処理するPHPの機能はやや重いです。 zipストリームが受信されると、そのストリームからファイルを作成しなければなりません。そして、そのファイルをzip _ * - 関数で読み込む必要があります。

文字列を直接操作する方がずっと便利です。

敬具、

答えて

9

もう1つの方法は、flash.utils.ByteArrayです。 ByteArrayクラスには、 'compress'メソッドによるzlib圧縮が含まれています。基本的には


  1. は新しいのByteArrayを作成します。
  2. ByteArrayに文字列を書き込みます。
  3. ByteArray.compressをzlibに呼び出すと、ByteArray内のコンテンツが圧縮されます。
  4. ByteArrayをサーバーに送信します。

PHPはzlibをサポートしているので、バイナリデータを文字列サーバー側に圧縮するのはかなり簡単です。

乾杯、

テッド:)

+0

アドビから1アップ私をに誰かにそれを残す; は冗談はさておき)、これはいくつかの貴重な情報であり、私はブックマーク、それにしてくださいます。 –

4

あなたはAMF(Action Message Format形式)に見たことがありますか?

アクションメッセージフォーマット(AMF)は、シリアル化されたActionScriptオブジェクトを表すバイナリファイルフォーマットです。 AMFファイルタイプは、データの格納とデータ交換のためにFlash Player全体で使用されます。たとえば、Flash Playerでは、AMFはSharedObjects、RemoteObjects、LocalConnection、ByteArray、RTMP、およびすべてのRPC操作で使用されます。

Wade Arnoldは、以来、Zend Frameworkにパッケージ化されているAMFPHPライブラリを担当しています。ただし、フレームワークとは独立して使用できます。ここにいくつかの情報があります:http://framework.zend.com/wiki/display/ZFPROP/Zend_Amf+-+Wade+Arnold

関連する問題