2012-04-03 88 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()函数是一个起点。