php微信公众号开发之校园图书馆


Posted in PHP onOctober 20, 2018

本文实例为大家分享了php微信公众号图书馆的具体代码,供大家参考,具体内容如下

图书来源:山东理工大学图书馆书目检索系统

php微信公众号开发之校园图书馆

搜索书名返回是xml格式数据:

php微信公众号开发之校园图书馆

php微信公众号开发之校园图书馆

核心代码如下:

$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
  $fromUsername = $postObj->FromUserName;
  $toUsername = $postObj->ToUserName;
  $keyword = trim($postObj->Content);
  $time = time();
  $textTpl = "<xml>
     <ToUserName><![CDATA[%s]]></ToUserName>
     <FromUserName><![CDATA[%s]]></FromUserName>
     <CreateTime>%s</CreateTime>
      <MsgType><![CDATA[news]]></MsgType>
      <ArticleCount>3</ArticleCount>
      <Articles>
      <item>
        <Title><![CDATA[%s]]></Title> 
        <Description><![CDATA[s]]></Description>
        <PicUrl><![CDATA[url]]></PicUrl>
       <Url><![CDATA[url]]></Url>
      </item>
     <item>
    <Title><![CDATA[%s]]></Title>
    <Description><![CDATA[s]]></Description>
    <PicUrl><![CDATA[url]]></PicUrl>
    <Url><![CDATA[url]]></Url>
    </item>
     <item>
       <Title><![CDATA[%s]]></Title>
       <Description><![CDATA[s]]></Description>
       <PicUrl><![CDATA[url]]></PicUrl>
       <Url><![CDATA[url]]></Url>
     </item>
    </Articles>
   <FuncFlag>1</FuncFlag>
  </xml>";    

 $url="http://222.206.65.12/opac/search_rss.php?dept=ALL&title={$keyword}&doctype=ALL&lang_code=ALL&match_flag=forward&displaypg=20&showmode=list&orderby=DESC&sort=CATA_DATE&onlylendable=no";

 $fa=file_get_contents($url);
 $f=simplexml_load_string($fa);
 $da1=$f->channel->item[0]->title;
 $da2=$f->channel->item[1]->title;
 $da3=$f->channel->item[2]->title;  

 $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,$da1,$da2,$da3);
echo $resultStr;

index.php整体代码如下:

<?php
/**
 * wechat php test
 */

//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
$wechatObj->responseMsg();

class wechatCallbackapiTest
{
 public function valid()
 {
  $echoStr = $_GET["echostr"];

  //valid signature , option
  if($this->checkSignature()){
   echo $echoStr;
   exit;
  }
 }

 public function responseMsg()
 {
  //get post data, May be due to the different environments
  $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

  //extract post data
  if (!empty($postStr)){

    $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
    $fromUsername = $postObj->FromUserName;
    $toUsername = $postObj->ToUserName;
    $keyword = trim($postObj->Content);
    $time = time();
    $textTpl = "<xml>
       <ToUserName><![CDATA[%s]]></ToUserName>
       <FromUserName><![CDATA[%s]]></FromUserName>
       <CreateTime>%s</CreateTime>
        <MsgType><![CDATA[news]]></MsgType>
        <ArticleCount>3</ArticleCount>
        <Articles>
         <item>
          <Title><![CDATA[%s]]></Title> 
          <Description><![CDATA[s]]></Description>
          <PicUrl><![CDATA[url]]></PicUrl>
          <Url><![CDATA[url]]></Url>
         </item>
         <item>
          <Title><![CDATA[%s]]></Title>
          <Description><![CDATA[s]]></Description>
          <PicUrl><![CDATA[url]]></PicUrl>
          <Url><![CDATA[url]]></Url>
         </item>
         <item>
          <Title><![CDATA[%s]]></Title>
          <Description><![CDATA[s]]></Description>
          <PicUrl><![CDATA[url]]></PicUrl>
          <Url><![CDATA[url]]></Url>
         </item>
        </Articles>
        <FuncFlag>1</FuncFlag>
       </xml>";    

     $url="http://222.206.65.12/opac/search_rss.php?dept=ALL&title={$keyword}&doctype=ALL&lang_code=ALL&match_flag=forward&displaypg=20&showmode=list&orderby=DESC&sort=CATA_DATE&onlylendable=no";

     $fa=file_get_contents($url);
     $f=simplexml_load_string($fa);
     $da1=$f->channel->item[0]->title;
     $da2=$f->channel->item[1]->title;
     $da3=$f->channel->item[2]->title;  

     $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,$da1,$da2,$da3);
     echo $resultStr;


  }else {
   echo "";
   exit;
  }
 }

 private function checkSignature()
 {
  $signature = $_GET["signature"];
  $timestamp = $_GET["timestamp"];
  $nonce = $_GET["nonce"]; 

  $token = TOKEN;
  $tmpArr = array($token, $timestamp, $nonce);
  sort($tmpArr);
  $tmpStr = implode( $tmpArr );
  $tmpStr = sha1( $tmpStr );

  if( $tmpStr == $signature ){
   return true;
  }else{
   return false;
  }
 }
}

?>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php dirname(__FILE__) 获取当前文件的绝对路径
Jun 28 PHP
Php Ctemplate引擎开发相关内容
Mar 03 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
CodeIgniter图像处理类的深入解析
Jun 17 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
Dec 24 PHP
php 判断字符串中是否包含html标签
Feb 17 PHP
php新浪微博登录接口用法实例
Dec 23 PHP
微信公众平台接口开发入门示例
Dec 24 PHP
php根据某字段对多维数组进行排序的方法
Mar 07 PHP
ThinkPHP实现更新数据实例详解(demo)
Jun 29 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 PHP
php实现对短信验证码发送次数的限制实例讲解
Mar 04 PHP
php微信公众号开发之二级菜单
Oct 20 #PHP
php微信公众号开发之音乐信息
Oct 20 #PHP
php微信公众号开发之欢迎老朋友
Oct 20 #PHP
php微信公众号开发之秒杀
Oct 20 #PHP
php微信公众号开发之关键词回复
Oct 20 #PHP
php微信公众号开发之图片回复
Oct 20 #PHP
php5.x禁用eval的操作方法
Oct 19 #PHP
You might like
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
2011/09/19 PHP
php检测文件编码的方法示例
2014/04/25 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
Yii2 rbac权限控制之菜单menu实例教程
2016/04/28 PHP
浅析Yii2缓存的使用
2016/05/10 PHP
PHP微信支付实例解析
2016/07/22 PHP
jQuery学习5 jQuery事件模型
2010/02/07 Javascript
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
js jquery获取随机生成id的服务器控件的三种方法
2013/07/11 Javascript
浅谈javascript原型链与继承
2015/07/13 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
jQuery获取与设置iframe高度的方法
2016/08/01 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
2016/08/03 Javascript
AngularJS获取json数据的方法详解
2017/05/27 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
使用vuex缓存数据并优化自己的vuex-cache
2018/05/30 Javascript
[01:25:33]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第二场 12.20
2020/12/23 DOTA
Python用UUID库生成唯一ID的方法示例
2016/12/15 Python
pyqt5的QWebEngineView 使用模板的方法
2018/08/18 Python
Python设计模式之建造者模式实例详解
2019/01/17 Python
Python 中判断列表是否为空的方法
2019/11/24 Python
小结Python的反射机制
2020/09/28 Python
CSS3 完美实现圆角效果
2009/07/13 HTML / CSS
canvas像素画板的实现代码
2018/11/21 HTML / CSS
Mio Skincare美国官网:身体紧致及孕期身体护理
2017/03/05 全球购物
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
爱情保证书范文
2014/02/01 职场文书
2014年党员自我评价材料
2014/09/22 职场文书
村当支部个人对照检查材料思想汇报
2014/10/06 职场文书
2015年班组工作总结
2015/04/20 职场文书
工作失职检讨书范文
2015/05/05 职场文书
撤诉申请怎么写
2015/05/19 职场文书
大学生受助感言
2015/08/01 职场文书
CSS3 菱形拼图实现只旋转div 背景图片不旋转功能
2021/03/30 HTML / CSS
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python
MySQL学习必备条件查询数据
2022/03/25 MySQL