2012-04-03 130 views
0

我使用json編碼從PHP創建了一個對象,但我很難使用數據來獲取對象中的圖像寬度和高度。獲取圖像寬度和高度的問題

這是我創建的對象:

$get = mysql_query("SELECT x,y,img,bid FROM player WHERE uid='1'"); 
    while($row = mysql_fetch_assoc($get)){ 
     $data[$row['x']] = Array(); 
     $data[$row['x']][$row['y']][0] = $row['bid']; // 1 
     $data[$row['x']][$row['y']][1] = $row['img']; // test.png 
     } 
$data1 = json_encode($data);  

參見所用測試數據的評論。

我將這個$ data1分配給變量sdata。

現在,在我的JavaScript我試圖做到這一點:

imgwidth = sdata[i][j][1].width; 
imgheight = sdata[i][j][1].height; 

但我得到了一個未定義,是有什麼我失蹤了呢?

+0

如何將$ data分配給sdata? – 2012-04-03 01:18:05

+0

'print_r($ data)'或'echo $ data1'的值怎麼樣? – ariefbayu 2012-04-03 01:23:14

回答

1

如果我正確地閱讀了這一點,JS中的sdata[i][j][1]將映射到字符串"test.png"。也就是說,JSON編碼圖像的文件名,而不是圖像數據本身。所以sdata[i][j][1].width是要求width屬性的字符串"test.png",它不存在。

您可能需要在服務器端打開圖像(在PHP中使用ImageMagick或GD)並從那裏拉出屬性。

看看getimagesize()函數是一個起點。