php img from string,php – imagecreatefromstring():数据不是可识别的格式

标签:php

以下是我获取图片的方式:

$coverurl = 'https://api.someurl/api/v1/img/' . $somenumber . '/l';

//$iheaders contains: 'Content-type' => 'image/jpeg'

$iresponse = wp_remote_get($coverurl, $iheaders);

$img = $iresponse['body'];

$testimg = base64_encode($img);

当我用img-tag回显$testimg时,一切正常.

echo '';

因为我需要将字符串转换为jpg并将其保存到我的uploads文件夹,所以我尝试使用imagecreatefromstring().

$imgx = imagecreatefromstring($testimg);

if ($imgx !== false) {

header('Content-Type: image/jpeg');

imagejpeg($imgx);

imagedestroy($imgx);

} else {

echo 'An error occurred.';

}

但由于以下警告,我从未达到保存任何东西的程度:

Warning: imagecreatefromstring(): Data is not in a recognized format in /etc.

当我回复$testimg时,我得到:

/9j/4AAQSkZJRgABAQAAAQABAAD ...Many number and characters.. Ggm2JUsEvfqnxAhGFDP/9k=

我该怎么做才能使createimagefromstring工作?我是否必须修改$testimg字符串?谢谢你的关注.

解决方法:

方法imagecreatefromstring不采用base_64编码的字符串.试试这个:

$imgx = imagecreatefromstring($img); // Contents of $iresponse['body']

您可以在文档页面的最顶层注释中看到这一点(上面链接):

$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'

. 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'

. 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'

. '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';

$data = base64_decode($data);

$im = imagecreatefromstring($data);

标签:php

来源: https://codeday.me/bug/20190527/1164676.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值