<?php namespace Home\Controller; use Think\Controller; use Com\Wechat; use Com\WechatAuth; class IndexController extends Controller {     public function index()      {          $token="weixin";         $Wechat=new Wechat($token);         $data=$Wechat->request();         if($data&&is_array($data))         {             switch ($data['MsgType']) {                 case 'text':                   $this->Text($Wechat,$data);                     break;                 case 'image':                    $this->replayphoto($Wechat,$data);                               default:                                         break;             }         }      }

//回复文本消息     private function Text($wechat,$data){

if(strstr($data['Content'],"你")||strstr($data['Content'],"n")||strstr($data['Content'],"开发人")||strstr($data['Content'],"h")||strstr($data['Content'],"w")){             $text="我是ULIKE工作室,期待您的加入,欢迎添加我的微信号ideal_person_Li!";

$this->logger("发送消息:\n".$text);

$wechat->replyText($text);

}else if(strstr($data['Content'],"我")){

$this->users($wechat,$data);       }

}      public function replayphoto($Wechat,$data)      {         $Wechat->replyImage($data['MediaId']);      }     private function users($wechat,$data){       $openid=$data['FromUserName'];       $appid="wx4dae5d61b7f9935c";       $appSecret="24a91315a1a62a9efe323accf5c93839";       $token=session('token') ;

if($token){

$WechatAuth=new WechatAuth($appid,$appSecret,$token);

}else{         $WechatAuth=new WechatAuth($appid,$appSecret);

$accsseToken=$WechatAuth->getAccessToken();         $token=$accsseToken['access_token'];         session('token',$token);       }       $user=$WechatAuth->userInfo($openid);       $text="你的openid是:".$user['openid']."\n你的昵称是:".$user['nickname']." 你的性别是:".$user['sex']."\n你的城市是:".$user['city']."\n你所在国家是".$user['country']." 你在的省份是:".$user['province']; /*这里必须这样写 为了 迎合公众账号的输出格式!*/       $this->logger("发送用户的信息".$text);       $wechat->replyText($text);

}

private function logger($content){         $logSize=100000;

$log="log.txt";

if(file_exists($log) && filesize($log)  > $logSize){             unlink($log);         }

file_put_contents($log,date('H:i:s')." ".$content."\n",FILE_APPEND);

} }

微信php接入设计案列的更多相关文章

  1. 亲历H5移动端游戏微信支付接入及那些坑(二)——获取Openid和授权

    第一篇中将一些坑说明,那么这篇开始正式进入接入步骤.具体的参数说明,我不会列出,毕竟微信官方文档都有,我想大家都看的懂,而且这接口也有可能微信会变动,所以不列出来,也是不想引起大家的误解,接入步骤只起 ...

  2. SpringCloud断路器(Hystrix)和服务降级案列

    断路器(Hystrix) 为什么需要 Hystrix? 在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用(RPC).为了保证其高可用,单个服务又必须集群部署.由于网络原因或者自 ...

  3. 【南工程开源计划】南京工程学院 信息与通信工程学院 课程设计说明书(论文) 宽带接入技术--WLAN接入设计

    文章目录 蓝奏云文件存放地址 一.课程设计目的 二.课程设计要求 三.课程设计网络环境 四.课程设计内容 4.1 WLAN接入设计 4.1.1设计拓扑 4.1.2设计原理 1)WLAN 2)RADIU ...

  4. 2021年-在windwos下如何用TOMACT发布一个系统(完整配置案列)

    2021年新年第一篇:博主@李宗盛-关于在Windwos下使用TOMCAT发布一个系统的完成配置案列. 之前写过关于TOMCAT的小篇幅文档,比较分散,可以作为对照与参考. 此篇整合在一起,一篇文档写 ...

  5. pyinstaller和wordcloud和jieba的使用案列

    一.pyinstaller库 1.简介 pyinstaller库:将脚本程序转变为可执行(.exe)格式的第三方库 注意:需要在.py文件所在目录进行以下命令,图标扩展名是.ico 2.格式: pyi ...

  6. C#开发微信门户及应用(32)--微信支付接入和API封装使用

    在微信的应用上,微信支付是一个比较有用的部分,但也是比较复杂的技术要点,在微商大行其道的年代,自己的商店没有增加微信支付好像也说不过去,微信支付旨在为广大微信用户及商户提供更优质的支付服务,微信的支付 ...

  7. Spring MVC的配置文件(XML)的几个经典案列

    1.既然是配置文件版的,那配置文件自然是必不可少,且应该会很复杂,那我们就以一个一个的来慢慢分析这些个经典案列吧! 01.实现Controller /* * 控制器 */ public class M ...

  8. js闭包的作用域以及闭包案列的介绍:

    转载▼ 标签: it   js闭包的作用域以及闭包案列的介绍:   首先我们根据前面的介绍来分析js闭包有什么作用,他会给我们编程带来什么好处? 闭包是为了更方便我们在处理js函数的时候会遇到以下的几 ...

  9. SAMSUNG某型号一千短信成功记录!对比其他软件恢复不成功的案列!

    Hello! 大家好欢迎再次来到Dr.wonde的博客, 下面谈一下今天的案列,今年11月26号收到了一客户寄来的三星S4手机恢复里面短信, 如下图所示,用其他软件恢复以后,数据为零,没有恢复,,这下 ...

随机推荐

  1. Oracle除替换去掉换行符的方法

    特殊符号ascii定义 : 换行符和回车符都要干掉. 制表符 chr(9) 换行符 chr(10) 回车符 chr(13) select replace(replace(列名,CHR(10),''), ...

  2. 【Maven实战】仓库介绍和Nexus的安装

    在Maven中我们之前进行配置一个项目的依赖时,引用一下jar包,这些jar包第一次都会从一个地方进行下载,这个地方称为仓库,而对于仓库一般有本地仓库和中心仓库之分,但是我们一般在做项目时会在自己的服 ...

  3. POJ2485 Highways(最小生成树)

    题目链接. 分析: 比POJ2253要简单些. AC代码: #include <iostream> #include <cstdio> #include <cstring ...

  4. 【字典树】【贪心】Codeforces 706D Vasiliy's Multiset

    题目链接: http://codeforces.com/contest/706/problem/D 题目大意: 三种操作,1.添加一个数,2.删除一个数,3.查询现有数中与x异或最大值.(可重复) 题 ...

  5. 敏捷软件开发模型--SCRUM

    敏捷软件开发模型--SCRUM 一 什么是Scrum?Scrum (英式橄榄球争球队), 软件开发模型是敏捷开发的一种,在最近的一两年内逐渐流行起来. Scrum的基本假设是: 开发软件就像开发新产品 ...

  6. 用otl写的oracle取数工具,执行传入在查询语句,把结果输出到文件

    项目中经常需要用到此类型的工具 #pragma warning (disable:4786) #include <iostream> #include <map> #inclu ...

  7. SWOT分析法

    SWOT(Strengths Weakness Opportunity Threats)分析法,又称为态势分析法或优劣势分析法,用来确定企业自身的竞争优势(strength).竞争劣势(weaknes ...

  8. javascript基础笔记学习

    /** * Created by Administrator on 2016/12/26. */ /* var box; alert( typeof box); box是Undefined类型,值是u ...

  9. Demon_打砖块(建造一面墙,发射子弹打砖块)

    using UnityEngine; using System.Collections; public class CubeInit : MonoBehaviour { //砖块预设体 public ...

  10. 持久化API(JPA)系列(三)实体Bean的开发技术-建立与数据库的连接

    在EJB 2.x中.EJB有3种类型的Bean.各自是会话Bean(Session Bean).消息驱动Bean(Message-Driven Bean)和实体Bean(Entity Bean). 随 ...