2010-12-01 11 views
1

ZendAMF経由でPHPにオブジェクトを送信するActionScript 3アプリケーションがあります。オブジェクトには、イメージのbyteArrayが含まれます。ByteArray to ActionScript 3 - > PHP by ZendAMF

私はそれが現在のようにのようにBLOBにBYTEARRAYを保存する必要があり:

$ba = new Zend_Amf_Value_ByteArray ($im->bArray); 
$data = mysql_real_escape_string ($ba->getData()); 

$query = "INSERT INTO image (byteArray) VALUES ('".$data."');"; 
$result = mysql_query($query); 
$error = mysql_error(); 

if($error) 
return "Error: " . $error; 
else 
return true; 

(これはローカルで実行されると、私はSequelPROを使用していますこれは正常に動作しているようだと私は、DB内の画像を見ることができますDBを表示する)。

$result = mysql_query ('SELECT * FROM image'); 
$array = array(); 

while ($row = mysql_fetch_assoc ($result)) 
{ 
$ba = new Zend_Amf_Value_ByteArray ($row['byteArray']); 

$image = new Image(); 
$image->id = $row['id']; 
$image->file = $row['filePath']; 
$image->bArray = $ba->getData(); 

array_push ($array, $image); 
} 

return ($array); 

は良い方法はあります:私はフラッシュバックのByteArrayを送信していたときに

問題がある。ここ0

は、PHPでの私のリターン方式であるとして、フラッシュのByteArrayの長さをレポートこれをする? ご協力いただければ幸いです。

ちょうどZend_Amf_Value_ByteArrayの簡単にGoogleからあなたに

答えて

1

をありがとう、それは正しくバイト配列をシリアライズない問題があることをZendの自体にに問題があるかもしれないと思われます。ここで

は、この問題について話Zendのフォーラムにいくつかのリンクです:

  1. Zend_Amf does not properly serialize Zend_Amf_Value_ByteArray instances
  2. ByteArray does not serialize to Zend_Amf_Value_ByteArray. Instead a string is given
  3. Flex 4/PHP Data-Centric Photo Transfers

幸運、これはあなたのいくつかのに役立ちます願っています。

+0

うん、それを試みている。 – Yav

+0

バイト配列がPHPとDBに問題なく置かれているように見えますが、DBから取り出してPHPでオブジェクトを構築することはできますが、Flashがオブジェクトを取得するとバイト配列がバイト配列。 – Yav