精华内容
下载资源
问答
  • 主要为大家详细介绍了php微信公众号开发之图片回复,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了php微信公众号开发第四课,php实现简单微信文本通讯,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 网盘地址 微信公众平台开发视频教程,还附有相关配套php代码,api接口,自定义菜单,等等
  • 查取会员卡用户信息接口,创建会员卡接口,会员卡人工冲积分接口,微信创建区分不同的来源渠道的扫码会员卡接口,微信接口创建菜单接口
  • 微信公众号中,对接录音开发接口,开发适用demo;我们经常适用的方法,附带代码
  • 微信公众号开发php如何实现自定义关键字回复发布时间:2021-03-12 09:45:29来源:亿速云阅读:60作者:小新小编给大家分享一下之微信公众号开发php如何实现自定义关键字回复,相信大部分人都还不怎么了解,因此...

    之微信公众号开发php如何实现自定义关键字回复

    发布时间:2021-03-12 09:45:29

    来源:亿速云

    阅读:60

    作者:小新

    小编给大家分享一下之微信公众号开发php如何实现自定义关键字回复,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    比如输入帮助,返回帮助信息,输入翻译我爱你,就能翻译了,输入手机18200000000返回归属地,对于直接能返回文本,那就存储值,比如帮助信息,如果翻译这种需要处理的,数据库就存储fanyi值,手机1820000000存储shouji,那么怎么处理呢,看这些代码$str2 = mb_substr($keyword,0,2,'utf-8');//前两个字符

    $sql = "select value from t_type where type='$keyword' or type='$str2' limit 1";

    $res = mysql_query($sql);

    $rs = mysql_fetch_array($res);

    if(!empty($rs)){

    switch($rs[0]){

    case "shouji":

    //查询功能

    break;

    }

    }else{

    //数据库没有查到进行处理

    }

    这样就实现了输入手机+号码查询归属地,翻译类似实现,要添加功能,只需要通过数据库设置关键字和值,就能实现。

    以上是“之微信公众号开发php如何实现自定义关键字回复”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

    展开全文
  • 主要为大家详细介绍了php微信公众号开发之现金红包,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 此项目是微信公众号批量自动化爬虫的核心实现, 面向开发者开源, 可以当做go语言包引入到自己项目中, 完整产品必须二次开发实现,QQ交流群: 563954381 微信的防作弊一直在不断更新完善,过于频繁的抓取可能导致微信...
  • 微信公众号开发php项目 php项目到底是什么随着微信的发展,微信公众号逐渐受到人们的欢迎。使用者可以在自己的微信上关注不同的公众号来了解不同的信息。公众号除了可以发布信息之外,还可以借助某些开发工具来对...

    微信公众号开发php项目 php项目到底是什么

    随着微信的发展,微信公众号逐渐受到人们的欢迎。使用者可以在自己的微信上关注不同的公众号来了解不同的信息。公众号除了可以发布信息之外,还可以借助某些开发工具来对公众号进行二次开发。不过,这就需要人们自己具有一定的编程能力。所以衍生出一系列的微信公众号开发PHP项目。那么PHP项目到底是什么?首先可以在微速云上做一个简单的了解。

    65e787107fdab89377c1e384f59cc755.png

    PHP项目介绍

    PHP其实是英语短语的简单缩写,它本质上是指英文超级文本预处理语言,是一种开源的脚本语言。这种语言是内嵌套在HTML中的。也就是说用户可以在服务器中通过嵌入PHP项目来达到某些功能的实现。微速云上关于微信公众号开发PHP项目有特别多的实例,需要编程的人们可以在上面找到相关的介绍。

    公众号开发PHP

    如何借助微信公众号开发PHP项目?其实最简单的就是,除了要掌握一定的开发语言,借助一定的开发工具之外,还需要利用微信公众号的服务器功能。比如微速云中介绍了如何向用户推送一条信息的php项目。完成项目前期,需要对用户需求进行一个分析,然后再根据项目需求来设计代码,最后进行一个实验的验证。

    以上是关于微信公众号开发PHP项目的简单介绍。对于初步了解微信公众号开发PHP项目的人来说,他们可以通过一些专门的网站来进行一个系统的学习,这样可以对自己能够快速的掌握这项技能。

    展开全文
  • 好了,上一篇已经介绍到了如何成为一个微信开发者,并且简单介绍了如何获取和发送简单的文本信息,这次就来介绍一下其他类型数据的接收和发送方式。我们可以通过微信端给我们发送来的xml来判断用户发送消息的类型,...

    好了,上一篇已经介绍到了如何成为一个微信开发者,并且简单介绍了如何获取和发送简单的文本信息,这次就来介绍一下其他类型数据的接收和发送方式。

    我们可以通过微信端给我们发送来的xml来判断用户发送消息的类型,比如文本,图片,音频等等,具体获取看代码

    $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; //获取POST数据

    $postObj = simplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);//这就是微信发来的xml

    $fromUsername = $postObj->FromUserName; //获取发送方帐号(OpenID)

    $toUsername = $postObj->ToUserName; //获取接收方账号

    $keyword = trim($postObj->Content); //获取消息内容

    $masType = $postObj->MsgType;//获取消息类型

    $time = time(); //获取当前时间戳

    可以看到,获取到的xml中,MsgType就是用户发送数据的类型,分别有 'text'(文本),'image'(图片),location(位置),voice(音频),video(视频)等。我们就做一个简单的根据用户发送类型来返回相应数据的demo。

    首先用switch case来区分不同的类型,这个函数不知道的自己百度,而后对应来编写代码

    1,文字

    我们就做成简单的 “你发送的是:”格式的demo。先定义回复文本格式的xml模板,而后把刚获取的用户文字和我们需要的内容合并,最后通过 resultStr() 函数来格式化消息模板。函数用法自行百度

    //返回消息模板

    $textTpl = "%s

    0";

    switch ($masType) {

    case 'text'://文字

    $msgType = "text"; //消息类型

    $contentStr = '你发送的是:'.$keyword;

    $resultStr = sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);

    echo $resultStr;

    break;

    这样就会得到一个这样的回复。

    625bd30b6c964dac7714536694f60268.png

    image.png

    2.图片

    同样的,我们还是做一个把用户发来的图片再发回给他的demo。用户在像我们的公众号发送图片的时候,微信平台会在保存图片的同时,给这张图片一个唯一的URL以及mediaId,这个URL在浏览器直接访问就是你的那张图片。开发者需要在服务器获取该图片的mediaId,而后再按照格式发送给微信方,微信就会返还对应这个mediaId的图片给用户。

    $picUrl = $postObj->PicUrl;//图片的链接

    $mediaId = $postObj->MediaId;//图片消息媒体id

    $msgType = "image";

    $replyXml = "%s";

    echo sprintf($replyXml,$postObj->FromUserName,$postObj->ToUserName,time(),$msgType,$mediaId);

    86e57e5db0a34c617967288ed85e9950.png

    image.png

    另外,如果你想发送指定的图片给客户,那么你需要先在开发者端把图片发送给微信方,而后获取这个图片的mediaId,你可以选择发送临时素材(保存三天)或者永久素材,具体操作请看微信官方文档。

    3.图文

    我们自己关注的公众号,给我们发送最多的消息应该就是图文消息了,就是类似这样的

    a1d9527db61b4f50db9b357431687707.png

    image.png

    大家肯定都知道,这样的消息,在微信公众平台,点点敲敲的就可以发送了,但是这完全没有开发者的代码逻辑在内,也无法完全控制,所以我们要用代码来实现这个功能。

    首先我们定义一个二维数组,其中的参数名称如代码所示

    $newsArr = array(

    array(

    "Title"=>"本世纪最像王昊的男人!",

    "Description"=>"究竟是为何和王昊长得如此相像?",

    "PicUrl"=>"http://5b0988e595225.cdn.sohucs.com/images/20171019/aab0f430638b4b1f87e48d19054b7b60.jpeg",

    "Url"=>"http://www.wanghao-home.club"

    ),

    array(

    "Title"=>"艳照门祖师爷再现江湖!",

    "Description"=>"究竟是电脑坏了还是存心所为…",

    "PicUrl"=>"http://g.hiphotos.baidu.com/baike/pic/item/060828381f30e92496694c1044086e061c95f7c6.jpg",

    "Url"=>"http://www.wanghao-home.club"

    ),

    array(

    "Title"=>"音乐才子竟拜师?",

    "Description"=>"伯克利音乐才子竟然为何拜师王昊门下?让我们来一探究竟!",

    "PicUrl"=>"http://img01.e23.cn/2017/1003/20171003094603817.jpg",

    "Url"=>"http://www.wanghao-home.club"

    )

    );

    可以看到,这个二维数组中,一级数组一个,二级数组三个,其中的参数也都相同

    Title:文章标题 Description:文章描述 PicUrl:文章图片 Url:点击会跳转的链接

    好了,数组定义完成,我们就要把数组处理成为微信可以接收的xml数据了,这里我给你提供一个方法

    //判断是否为数组类型

    if(!is_array($newsArr))

    {

    return;

    }

    // 判断数组是否为空数组

    if(!$newsArr)

    {

    return;

    }

    $itemStr = "";

    //定义item模板

    $itemXml = "";

    foreach($newsArr as $item)

    {

    $itemStr .= sprintf($itemXml,$item['Title'],$item['Description'],$item['PicUrl'],$item['Url']);

    }

    $replyXml = "%s

    ".count($newsArr)."

    ".$itemStr."";

    echo sprintf($replyXml,$postObj->FromUserName,$postObj->ToUserName,time());

    代码里也没有什么复杂的地方,就是一个循环赋值的过程,最后再格式化返回给微信方,这样我们的用户就会收到这样的一个图文消息

    7109faaedac6641c967ca32c2f9d2b13.png

    image.png

    并且点击对应的内容,就会跳转到 www.wanghao-home.club

    4.用户关注

    用户在关注我们公众号时,公众平台会发送给我们一个xml数据,我们可以获取其中的事件(Event),来判断,而后回复给用户一个欢迎语句

    if($postObj->Event == 'subscribe'){

    $msgType = "text"; //消息类型

    $contentStr = '感谢您关注wellHome!';

    $resultStr = sprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);

    echo $resultStr;

    }

    还有就是,个人开发者的订阅号现在无法进行微信认证,所以无法自定义菜单以及一切琐碎的功能,这点这得是让我心碎啊。

    自定义菜单也很简单,我们只需要准备一个 json 数组,而后根据开发者的 AppID 和 AppSecret ,在公众平台上获取一个Access_token,而后token通过验证,你的数组就可以成为公众号的菜单了。并且微信还提供了多种事件,开发者可以在代码中,通过用户不同事件所发送的值以及菜单中你自己定义的 Key值就可以做对应的操作了。

    这篇文章暂时先介绍这三种回复内容的格式,下一篇再详细介绍其他内容格式,希望会对您有所帮助。

    展开全文
  • $content = '欢迎关注我们的公众号,我们的网址是www.guyongtu.com'; $template = " %s %s %s %s %s "; $info = sprintf($template, $toUser, $fromUser, $time, $msgType, $content); echo $info; } } } 、、、、...

    配置

    20b04f839368d91eed94d93e10dfeac3.png

    填写url和token  之后,在对应的目录下,写方法。。

    47bc2ff742a777e9221911551c09ae73.png

    在url这个目录下写方法

    namespace Home\Controller;

    use Think\Controller;

    class IndexController extends Controller {

    public function index(){

    //获得参数 signature nonce token timestamp echostr

    $nonce     = $_GET['nonce'];

    $token     = 'weixin';

    $timestamp = $_GET['timestamp'];

    $echostr   = $_GET['echostr'];

    $signature = $_GET['signature'];

    //形成数组,然后按字典序排序

    $array = array();

    $array = array($nonce, $timestamp, $token);

    sort($array);

    //拼接成字符串,sha1加密 ,然后与signature进行校验

    $str = sha1( implode( $array ) );

    if( $str  == $signature && $echostr ){

    //第一次接入weixin api接口的时候

    echo  $echostr;

    exit;

    }else{

    $this->reponseMsg();

    }

    }

    }

    4.方法写好之后点击提交 配置成功后写自动回复的方法

    // 接收事件推送并回复

    public function reponseMsg(){

    //1.获取到微信推送过来post数据(xml格式)

    $postArr = $GLOBALS['HTTP_RAW_POST_DATA'];

    //2.处理消息类型,并设置回复类型和内容

    /*

    123456789

    */

    $postObj = simplexml_load_string( $postArr );

    //$postObj->ToUserName = '';

    //$postObj->FromUserName = '';

    //$postObj->CreateTime = '';

    //$postObj->MsgType = '';

    //$postObj->Event = '';

    // gh_e79a177814ed

    //判断该数据包是否是订阅的事件推送

    if( strtolower( $postObj->MsgType) == 'event'){

    //如果是关注 subscribe 事件

    if( strtolower($postObj->Event == 'subscribe') ){

    //回复用户消息(纯文本格式)

    $toUser   = $postObj->FromUserName;

    $fromUser = $postObj->ToUserName;

    $time     = time();

    $msgType  =  'text';

    $content  = '欢迎关注我们的公众号,我们的网址是www.guyongtu.com';

    $template = "

    %s

    ";

    $info     = sprintf($template, $toUser, $fromUser, $time, $msgType, $content);

    echo $info;

    }

    }

    }

    、、、、、、、、、、、、、、、、、、、、、、、、、、、、完整的代码。。。。。。。。。。。。。。。。。。。。。。。

    namespace Home\Controller;

    use Think\Controller;

    class IndexController extends Controller {

    public function index(){

    //获得参数 signature nonce token timestamp echostr

    $nonce     = $_GET['nonce'];

    $token     = 'weixin';

    $timestamp = $_GET['timestamp'];

    $echostr   = $_GET['echostr'];

    $signature = $_GET['signature'];

    //形成数组,然后按字典序排序

    $array = array();

    $array = array($nonce, $timestamp, $token);

    sort($array);

    //拼接成字符串,sha1加密 ,然后与signature进行校验

    $str = sha1( implode( $array ) );

    if( $str  == $signature && $echostr ){

    //第一次接入weixin api接口的时候

    echo  $echostr;

    exit;

    }else{

    $this->reponseMsg();

    }

    }

    // 接收事件推送并回复

    public function reponseMsg(){

    //1.获取到微信推送过来post数据(xml格式)

    $postArr = $GLOBALS['HTTP_RAW_POST_DATA'];

    //2.处理消息类型,并设置回复类型和内容

    /*

    123456789

    */

    $postObj = simplexml_load_string( $postArr );

    //$postObj->ToUserName = '';

    //$postObj->FromUserName = '';

    //$postObj->CreateTime = '';

    //$postObj->MsgType = '';

    //$postObj->Event = '';

    // gh_e79a177814ed

    //判断该数据包是否是订阅的事件推送

    if( strtolower( $postObj->MsgType) == 'event'){

    //如果是关注 subscribe 事件

    if( strtolower($postObj->Event == 'subscribe') ){

    //回复用户消息(纯文本格式)

    $toUser   = $postObj->FromUserName;

    $fromUser = $postObj->ToUserName;

    $time     = time();

    $msgType  =  'text';

    $content  = '欢迎关注我们的公众号,我们的网址是www.guyongtu.com';

    $template = "

    %s

    ";

    $info     = sprintf($template, $toUser, $fromUser, $time, $msgType, $content);

    echo $info;

    }

    }

    }

    }

    展开全文
  • function https_request($url, $data=null){$curl = curl_init...curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);i...
  • ├─controller 微信API接口 │ ├─AbstractHandle.php Handle类抽象基类 │ ├─Demoauth.php OAuth │ ├─Democom.php access_token, ips │ ├─Democustom.php custom │ ├─Demojssdk.php jssdk │ ├─...
  • 话不多说,直接上代码:这个是ThinkPHP框架自动生成的目录,首先我们在Home/Common文件夹下创建一个文件Wechat.class.php,这个是微信公众号的基础框架,官网可以下载,直接导进来就可以了。该类是一个抽象类,主要...
  • 这两天自己想学习微信公众号开发,于是在网上搜索并上手练习,在这个过程中因为各种问题,(描述不完整,有的文章不知道怎么就蹦出个新的常量,也没说在哪定义的,还有jar包版本的问题坑了我一天的时间)所以特此在这...
  • 本文实例为大家分享了php微信文本消息自动回复 别代码,供大家参考,具体内容如下1.PHP示例代码下载下载地址1:http://xiazai.zyiz.net/201608/yuanma/phpwx(zyiz.net).rar下载地址2:...》接入指南-》PHP示例代码下载)...
  • 在前面的文章中已经分享过微信公众号API接口在应用中的接入验证,今天继续分享微信公众号的接收事件推送并回复的开发(关注微信号后自动回复消息,以及通过下面的消息发送向公众号发送消息时的回复)。虽然在微信公众...
  • 测试号具有几乎可以使用的所有接口,并且调用次数很多,每个订阅号都可以申请一个测试号,本文介绍了使用微信测试号、PHP、MySQL、apache服务器、natapp端口映射工具进行微信公众号开发。 一、申请公众号测试号 ...
  • 1.获取微信开放功能的基础参数配置,类似分享功能,定位功能也都需要获取改参数,注意:需要配置授权域名链接需要配置ip白名单wx.config({debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若...
  • 微信公众号开发过程中,如果我们想要主动向微信服务器推送消息那么我们必须要有access_token。access_token 是公众号的唯一票据,当我们开发调用微信的各种接口时都需要使用access_token。access_token是类似于...
  • 代码完整可用,本人亲自测试过thinkphp后端namespace app\index...class Wanju extends Controller{//微信配置public function get_sign(){// 微信 JS 接口签名校验工具: https://mp.weixin.qq.com/debug/cgi-bin/sa...
  • 而对于某些具备开发能力的公众号运营者,可以通过高级群发接口,实现更灵活的群发能力。 在公众平台网站上,为订阅号提供了每天一条的群发权限,为服务号提供每月(自然月)4条的群发权限。而对于某些具备开发能力的...
  • 本文实例为大家分享了php微信公众号二级菜单的具体代码,供大家参考,具体内容如下核心代码:$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);$fromUsername = $postObj->...
  • 微信公众号开发主要是针对服务号的,如果是个人开发者,这里建议使用测试号进行开发学习,测试号的权限要比个人订阅号要多的多。 在开始微信号开发之前需要准备好两样东西,1、需要一个测试号,2、需要一个拥有域名...
  • 摘要:模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。 模板消息仅用于...
  • PHP 一一 微信公众号开发(二次开发)

    万次阅读 多人点赞 2018-01-11 19:14:21
    两个星期前,学校请了传智播客的老师给我们做实训,讲了一个微信公众号开发,感觉挺有意思,在这里做一下记录,以便以后复习. 一、了解微信公众平台 1. 什么是微信公众平台? 微信公众平台是腾讯为了让用户申请和管理...
  • 微信公众号网页开发

    2021-06-11 06:14:18
    基本配置1.设置—公众号设置—功能设置—配置JS接口安全域名安全域名配置规则如下2.开发—基本配置开发者密码第一次使用需要重新设置记录 开发者ID(AppID) 开发者密码(AppSecret)后面会用到3....微信公众号-开发-接...
  • `微信公众号开发 生成带参数二维码加粗样式 为了满足用户渠道推广分析和用户帐号绑定等场景的需要,公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,540
精华内容 8,616
关键字:

微信公众号开发php