php 微信发送两条信息,分享微信连续发送多条消息的实例代码

1 <?php

2 3 class Kefu{

4 private $appid;

5 private $appSecret;

6 7 function __construct($appid,$appSecret){

8 $this->appid = $appid;

9 $this->appSecret = $appSecret;

10 }

11 12 function returnKefu($openid,$content){

13 $access_token = $this->getAccessToken();

14 $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=$access_token";

15 $responseText = array("touser"=>$openid,"msgtype"=>"text","text"=>array("content"=>$content));

16 $responjson = json_encode($responseText);

17 $res = $this->httpPost($url,$responjson);

18 echo $res;

19 }

20 function returnPic($openid,$content){

21 $access_token = $this->getAccessToken();

22 $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=$access_token";

23 $responseText = array("touser"=>$openid,"msgtype"=>"image","image"=>array("media_id"=>"Xfh-2sT-4HHz0z1GrAgb1tlJowuAJuyI-O6AzFX_TT3UsZHwqdsjyUCY6GJGviMi"));

24 $responjson = json_encode($responseText);

25 $res = $this->httpPost($url,$responjson);

26 echo $res;

27 }

28 29 30 31 function getAccessToken(){

32 $file_ticket = "access_token.json";

33 if(!file_exists($file_ticket)){

34 $file = fopen($file_ticket,'w');

35 }

36 $data = json_decode(file_get_contents($file_ticket));

37 if($data){

38 //如果文件存在且内容过期 39 if($data->expires_in

40 $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appid&secret=$this->appSecret";

41 $res = json_decode($this->httpGet($url));

42 $access_token = $res->access_token;

43 if($access_token){

44 $data->expires_in = time() + 7000;

45 $data->access_token = $access_token;

46 $fp = fopen($file_ticket, "w");

47 fwrite($fp, json_encode($data));

48 fclose($fp);

49 }

50 }else{

51 //没有过期 52 return $data->access_token;

53 54 }

55 }else{

56 //文件存在,但是里面没有内容 57 $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appid&secret=$this->appSecret";

58 $res = json_decode($this->httpGet($url));

59 $access_token = $res->access_token;

60 if($access_token){

61 @$data->expires_in = time() + 7000;

62 $data->access_token = $access_token;

63 $fp = fopen($file_ticket, "w");

64 fwrite($fp, json_encode($data));

65 fclose($fp);

66 }

67 }

68 return $access_token;

69 //return $data; 70 }

71 function httpGet($url){

72 $ch = curl_init();

73 curl_setopt($ch, CURLOPT_URL,$url);

74 // curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 75 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

76 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

77 curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');

78 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

79 curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

80 // curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 81 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

82 83 $temp = curl_exec($ch);

84 curl_close($ch);

85 return $temp;

86 }

87 88 function httpPost($url,$data){

89 $ch = curl_init();

90 curl_setopt( $ch, CURLOPT_URL, $url);

91 curl_setopt( $ch, CURLOPT_POST, 1 );

92 curl_setopt( $ch, CURLOPT_HEADER, 0 );

93 curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );

94 //服务器没有使用https的话就不用下面两行 95 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

96 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

97 curl_setopt( $ch, CURLOPT_POSTFIELDS, $data );

98 99 $output = curl_exec($ch);

100 curl_close($ch);

101 echo $output;

102 }

103 }

104 $k = new Kefu("appid", "appsecret");

105 echo $k->returnPic("openid","how are you?");

106 echo $k->returnKefu("openid","how are you?");

107 ?>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值