2010-12-01 19 views
1

我有一個ActionScript 3應用程序通過ZendAMF向PHP發送一個對象。該對象包含來自圖像的byteArray。ByteArray從ActionScript 3到MySQL - > PHP通過ZendAMF

我有它目前保存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; 

這似乎是工作的罰款,我可以看到在DB圖像(這是運行的本地和我使用SequelPRO查看數據庫)。

當我送的ByteArray回Flash的問題是,快報的ByteArray長度爲0

這裏是PHP我回來方法:

$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); 

有沒有更好的辦法去做這個? 任何幫助將不勝感激。

謝謝

回答

1

單從Zend_Amf_Value_ByteArray快速谷歌,似乎有可能是與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 2011-01-06 21:24:39