Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从base64编码图像中获取高度和宽度?_Php_Base64 - Fatal编程技术网

Php 如何从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);

我需要从base64编码的图像中获取高度和宽度

根据其他网站的说法,
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