获取图像宽度和高度的问题

时间:2012-04-03 01:16:09

标签: php json

我使用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;

但是我没有定义,是否有我错过的东西?

1 个答案:

答案 0 :(得分:1)

如果我读得正确,JS中的sdata[i][j][1]将映射到字符串"test.png"。也就是说,JSON编码图像的文件名,图像数据本身。因此sdata[i][j][1].width要求字符width的{​​{1}}属性,该属性不存在。

您可能需要在服务器端打开图像(在PHP中使用ImageMagick或GD)并从那里提取属性。

getimagesize()函数为起点。