Php 如何从base64编码图像中获取高度和宽度?
我需要从base64编码的图像中获取高度和宽度 根据其他网站的说法,Php 如何从base64编码图像中获取高度和宽度?,php,base64,Php,Base64,我需要从base64编码的图像中获取高度和宽度 根据其他网站的说法,getimagesizefromstring()应该可以做到这一点,但对我来说根本不起作用 示例代码: <?php $image = "data:image;base64,/9j/4AAQdihdiwd......"; $data = getimagesizefromstring($image); echo $data[0]; // no output print_r($data);
getimagesizefromstring()
应该可以做到这一点,但对我来说根本不起作用
示例代码:
<?php
$image = "data:image;base64,/9j/4AAQdihdiwd......";
$data = getimagesizefromstring($image);
echo $data[0]; // no output
print_r($data); // no output
您传递给用于以HTML格式显示图像的a,而图像的二进制表示形式是预期的
您需要首先获取base64编码字符串,然后对其进行解码:
<?php
$image = 'data:image/jpeg;base64,/9j/4AAQdihdiwd......';
$binary = \base64_decode(\explode(',', $image)[1]);
$data = \getimagesizefromstring($binary);
print_r($data);
显示了什么?您必须将其从base64字符串转换回一个图像,以证明它当前非常棒!工作起来很有魅力。感谢你也会遇到意想不到的情况。如果字符串格式不正确,则可能没有,
符号,值可能编码不正确等。您可以自己使用$image
的值来检查脚本是否容易出错。有几个类似的问题,所有答案都说可以使用getimagesizefromstring()
,但根据定义,它只在JFIF上工作(JPEG)图像类型。有没有办法对任何PNG/GIF/JPEG图像执行此操作?ACK-nevermind仅限于JFIF图像类型的可选参数imageinfo
。