600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 微信头像失效_如何判断微信授权的头像是否失效

微信头像失效_如何判断微信授权的头像是否失效

时间:2020-11-16 12:50:36

相关推荐

微信头像失效_如何判断微信授权的头像是否失效

一、首先我们需要了解两个点:

1.当微信用户授权的头像失效时,返回的是一张图片。

2.微信头像失效时虽然返回的图片的url不一样,但是图片都是同一张,所以他们的散列值(hash)都是一样。

二、理解了上述两点,就跟着以下的步骤走

1.找到微信头像失效时返回的图片,并获取其md5值$hash = md5(file_get_contents("/mmopen/vi_32/

DYAIOgq83eqeqS6qHGTDwCKvq8H7E6w009CPwVqVnabayODP9l7wbE1xnFW2u28iciceC9kibfiae3EG1kwYxNibdqQ/132"));

2.将业务所需头像的md5值与上面获取的md5值进行对比,如果一致,则是失效图片,对其进行更换或者进行其他操作。//循环遍历用户信息

foreach ($user_info as &$v) {

//判断:如果用户头像的hash值等于失效头像的hash值,则使用默认头像

if (md5(file_get_contents($v['avatar_url'])) == $hash) {

//默认头像

$v['avatar_url'] = '/default/cover.png';

}

}

三、注意事项

1.总所周知,file_get_contents()函数极其消耗资源,效率非常低。所以,这种方法,只适合在数量少的场景下使用。

2.如果微信更换了失效图片,则此方法也会失效,所以尽量使用try catch 将此foreach循环包裹,当微信更换失效头像时,代码下面业务的也能正常运行。

3.需要确保用户头像的url是有效的,否则file_get_contents()函数会报错

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。