首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oauth2返回的图像url中断imagecreatefrompng

Oauth2返回的图像url中断imagecreatefrompng
EN

Stack Overflow用户
提问于 2021-10-25 18:39:55
回答 1查看 24关注 0票数 0

我使用的是oauth库中的hybridauth-3.7.1https://github.com/hybridauth/hybridauth/releases

这个库工作得很好,所以我有以下几点:

代码语言:javascript
复制
<?php
  require_once 'hybridauth-3.7.1/vendor/autoload.php';
  $config = [
    'callback' => 'my_callback_url',
    'keys'     => [
      'id' => 'my_app_id',
      'secret' => 'my_secret'
    ],
  ];
  $adapter = new Hybridauth\Provider\Reddit( $config );
  $adapter->authenticate();
  $userProfile = $adapter->getUserProfile();
  $photo = $userProfile->photoURL;

如果我回显$photo,我会得到:https://styles.redditmedia.com/t5_55fo22/styles/profileIcon_bblqmk8klas71.png?width=256&height=256&crop=256:256,smart&s=30a3bb6af945eadeaddb40271d2c0161ca82768d

现在,如果我尝试:

代码语言:javascript
复制
imagecreatefrompng($photo);

我的日志返回:

代码语言:javascript
复制
imagecreatefrompng( https://styles.redditmedia.com/t5_55fo22/styles/profileIcon_bblqmk8klas71.png?width=256&amp;amp;height=256&amp;amp;crop=256:256,smart&amp;amp;s=30a3bb6af945eadeaddb40271d2c0161ca82768d ): failed`

因此,url在echo中正确返回,但从日志中可以看出,imagecreatefrompng添加了一个奇怪的&;

我也试过

代码语言:javascript
复制
imagecreatefrompng(urldecode($photo));

代码语言:javascript
复制
$decoded_photo = urldecode($photo);
imagecreatefrompng($decoded_photo);

两者都返回相同的上述错误日志。

但是,如果我手动键入url,它就可以正常工作。

代码语言:javascript
复制
imagecreatefrompng( 'https://styles.redditmedia.com/t5_55fo22/styles/profileIcon_bblqmk8klas71.png?width=256&height=256&crop=256:256,smart&s=30a3bb6af945eadeaddb40271d2c0161ca82768d' );

如何让返回的图像url与imagecreatefrompng一起工作?

EN

回答 1

Stack Overflow用户

发布于 2021-10-25 23:57:07

问题是,当直接粘贴url时,如上一个示例所示,我没有意识到剪切和粘贴与实际源代码不同。

这意味着,尽管我复制的是&height=256...,但实际源代码中的内容是&amp;=256...,因此,当我尝试imagecreatefrompng()时,它正在编码已经编码的&amp;,从而导致&amp;amp;

修复方法是更改$userProfile->photoUrl,如下所示。

代码语言:javascript
复制
$photo = htmlspecialchars_decode($userProfile->photoURL);
imagecreatefrompng($photo);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69713172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档