我使用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 :(得分:1)
如果我读得正确,JS中的sdata[i][j][1]
将映射到字符串"test.png"
。也就是说,JSON编码图像的文件名,不图像数据本身。因此sdata[i][j][1].width
要求字符width
的{{1}}属性,该属性不存在。
您可能需要在服务器端打开图像(在PHP中使用ImageMagick或GD)并从那里提取属性。
以getimagesize()函数为起点。