1、openidusers.php
<?php //set_time_limit(600); set_time_limit(0); header("Content-type: text/html; charset=utf-8"); session_start(); $opts = array( 'http'=>array( 'method'=>"GET", 'timeout'=>1000, ) ); $context = stream_context_create($opts); $gettoken=file_get_contents("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=xxx&secret=8ab524866eba5384cc4f6f4acxxx", false, $context); $res=json_decode($gettoken,true); $token=$res["access_token"]; $_SESSION["token"]=$token; $getopenid=file_get_contents("https://api.weixin.qq.com/cgi-bin/user/get?access_token={$token}&next_openid=", false, $context); $res2=json_decode($getopenid,true); $openid=$res2['data']['openid']; foreach($openid as $k=>$v){ $getuser=file_get_contents("https://api.weixin.qq.com/cgi-bin/user/info?access_token={$token}&openid={$v}", false, $context); $user=json_decode($getuser,true); $userlist[]=$user; } $_SESSION["userllist"]=$userlist; //var_dump($userlist);
2、upd2
<?php header("Content-type: text/html; charset=utf-8"); session_start(); set_time_limit(0); //var_dump($_SESSION['userllist']); //var_dump($_SESSION['token']); $link=mysql_connect("localhost","root","") or die('连接数据库失败!'); $db_selected = mysql_select_db('vshop', $link); mysql_query("set names utf8;"); $query = 'select openid from wp_follow'; //为特定更新数据,限制了一下条件【select openid from wp_follow 】 $result = mysql_query($query); while($row = mysql_fetch_array($result)){ $openidlist[]=$row['openid']; } //var_dump($openidlist);die(); $userlist=$_SESSION['userllist']; //$token=$_SESSION['token']; $token = "gh_4df8efbb2caf"; //先排除: 线上的用户数据和本地对比,如果线上的数据没有在本地中,则将其设置为status = 0 /*$new_userlist = array(); foreach ($userlist as $key => $value) { $new_userlist[] = $value['openid']; } $i = 0; $m = 0; foreach($openidlist as $k=>$v){ //var_dump($v['nickname']);die(); if(in_array($v,$new_userlist)){ @$sql="update wp_follow set status = 1,is_love=0 where openid='".$v."'"; //echo $sql; @mysql_query($sql); $i = $i + 1; }else{ $m = $m + 1; // @$sql2='insert into wp_follow(token,openid,nickname,sex,city,province,country,language,headimgurl,mTime,status,is_love) values("'.$token.'","'.$v['openid'].'","'.$v['nickname'].'","'.$v['sex'].'","'.$v['city'].'","'.$v['province'].'","'.$v['country'].'","'.$v['language'].'","'.$v['headimgurl'].'","'.$v['subscribe_time'].'",1,0)'; // @mysql_query($sql2); @$sql="update wp_follow set status = 0,is_love=2 where openid='".$v."'"; //echo $sql; @mysql_query($sql); } } echo "更新总用户为:".$i."<br>"; echo "不一样的数据有:".$m;*/ //再更新 用线上用户更新本地数据库用户信息,如果线上的逐个用户没有在本在数据库用户数组里,那么进行insert;在的话更新 $i = 0; $m = 0; foreach($userlist as $k=>$v){ //var_dump($v['nickname']);die(); if(in_array($v["openid"],$openidlist)){ @$sql="update wp_follow set nickname='".$v['nickname']."',sex='".$v['sex']."',city='".$v['city']."',province='".$v['province']."',country='".$v['country']."',language='".$v['language']."',headimgurl='".$v['headimgurl']."',status = 1,is_love=0,subscribe_time='".$v['subscribe_time']."' where openid='".$v['openid']."'"; echo $sql; @mysql_query($sql); $i = $i + 1; }else{ $m = $m + 1; @$sql2='insert into wp_follow(token,openid,nickname,sex,city,province,country,language,headimgurl,subscribe_time,status,is_love) values("'.$token.'","'.$v['openid'].'","'.$v['nickname'].'","'.$v['sex'].'","'.$v['city'].'","'.$v['province'].'","'.$v['country'].'","'.$v['language'].'","'.$v['headimgurl'].'","'.$v['subscribe_time'].'",1,0)'; @mysql_query($sql2); } } echo "更新总用户为:".$i."<br>"; echo "不一样的数据有:".$m;