Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.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_Image - Fatal编程技术网

PHP显示/查找Base64图像数据

PHP显示/查找Base64图像数据,php,image,Php,Image,我想从PHP文件中的base64数据生成一个图像,将其用作img标记上使用的图像管理器: <img src="myfile.php?image=<id>" 下面是我的PHP代码: $def = explode( ',', $data )[0]; $img = explode( ',', $data )[1]; $type = explode( ':', explode( ';', $def )[0] )[1]; header( 'Content-typ

我想从PHP文件中的base64数据生成一个图像,将其用作img标记上使用的图像管理器:

<img src="myfile.php?image=<id>"
下面是我的PHP代码:

$def = explode( ',', $data )[0];
$img = explode( ',', $data )[1];

$type = explode( ':', explode( ';', $def )[0] )[1];

header( 'Content-type: '.$type );
echo base64_decode( $img );
在上面的示例中:
$type
是“image/jpeg”,而
$img
是不带“data:image/jpeg;base64”的base64数据字符串

但它没有显示任何图像:

你知道如何解决我的问题吗

提前感谢您的回复

=============编辑==========

$data = 'data:image/png;base64,iVBORw0KG ... McYYY4wxxhhjjDHGGGOMMcbYkvn/YlYYz8YKiHUAAAAASUVORK5CYII=';

$def = explode( ',', $data )[0];
$img = explode( ',', $data )[1];

$type = explode( ':', explode( ';', $def )[0] )[1];
$type = explode( '+', $type )[0];

header( 'Content-type: '.$type.'; charset=ansi' );
echo base64_decode( $img );
感谢您的回答,不幸的是,我这边仍然没有工作,但显示了base64_decode的传出数据。我看到了这种特殊字符:

Qa2q#BR�� 3b���CSr����$���
对于此代码:

// header( 'Content-type: '.$type );
echo base64_decode( $img );
所以我试着用这个标题:

header( 'Content-type: '.$type.'; charset=utf-8' )
但我的形象仍然不起作用

@sercanarga如果你有几分钟的时间,你能上传你的代码,然后我可以在某处现场试用吗

PS:下载我的图像后,将其显示在图像标签中;将其上传到base64解码器在线,我发现了这个问题:应用程序/八位字节流mime类型

=============整个计划==========

$data = 'data:image/png;base64,iVBORw0KG ... McYYY4wxxhhjjDHGGGOMMcbYkvn/YlYYz8YKiHUAAAAASUVORK5CYII=';

$def = explode( ',', $data )[0];
$img = explode( ',', $data )[1];

$type = explode( ':', explode( ';', $def )[0] )[1];
$type = explode( '+', $type )[0];

header( 'Content-type: '.$type.'; charset=ansi' );
echo base64_decode( $img );

我编辑了代码并自己运行。没问题。可能base64代码不正确,或者发送查询参数的PHP文件中存在错误


下载图像并在hex editor中打开,然后将其与原始图像进行比较。。基本调试在我的php文件上没有显示错误,当我在src属性上对a中的整个$data进行回显时,我可以查看我的image@LucasFAURE你能分享所有的代码吗?我不理解您的问题。@sercanaga实际上这是我的整个程序(*检查上次编辑)如果您想测试它,只需将图像转换为base64并将字符串值粘贴到$data中即可。