微信公众平台OAuth2.0网页授权php示例
用户通过扫描网页提供的二维码实现登陆信息获取,大家参考使用吧
请先下载 snoopy 类
代码如下:
/**
* 微信公众平台PHP-SDK
* Wechatauth为非官方微信登陆API
* 用户通过扫描网页提供的二维码实现登陆信息获取
* 主要实现如下功能:
* get_login_code() 获取登陆授权码, 通过授权码才能获取二维码
* get_code_image($code='') 将上面获取的授权码转换为图片二维码
* verify_code() 鉴定是否登陆成功,返回200为最终授权成功.
* get_login_cookie() 鉴定成功后调用此方法即可获取用户基本信息
* sendNews($account,$title,$summary,$content,$pic,$srcurl='') 向一个微信账户发送图文信息
* get_avatar($url) 获取用户头像图片数据
* @author dodge
* @link https://github.com/dodgepudding/wechat-php-sdk
* @version 1.1
*
*/
include "snoopy.class.php";
class Wechatauth
{
private $cookie;
private $_cookiename;
private $_cookieexpired = 3600;
private $_account = 'test';
private $_datapath = './data/cookie_';
private $debug;
private $_logcallback;
public $login_user; //当前登陆用户, 调用get_login_info后获取
public function __construct($options)
{
$this->_account = isset($options['account'])?$options['account']:'';
$this->_datapath = isset($options['datapath'])?$options['datapath']:$this->_datapath;
$this->debug = isset($options['debug'])?$options['debug']:false;
$this->_logcallback = isset($options['logcallback'])?$options['logcallback']:false;
$this->_cookiename = $this->_datapath.$this->_account;
$this->getCookie($this->_cookiename);
}
/**
* 把cookie写入缓存
* @param string $filename 缓存文件名
* @param string $content 文件内容
* @return bool
*/
public function saveCookie($filename,$content){
return file_put_contents($filename,$content);
}
/**
* 读取cookie缓存内容
* @param string $filename 缓存文件名
* @return string cookie
*/
public function getCookie($filename){
if (file_exists($filename)) {
$mtime = filemtime($filename);
if ($mtime