基于微信公众平台开发SDK(demo)扩展例子

 更新时间:2016年11月25日 17:23  点击:1366
该扩展基于官方的微信公众平台SDK,这里只做了简单地封装,实现了一些基本的功能(如天气查询,翻译,自动聊天机器人,自定义菜单接口)仅供学习之用
源码:

 代码如下 复制代码
define("TOKEN", "xingans");

$wechatObj = new wechatCallbackapiTest();

$wechatObj->responseMsg();

class wechatCallbackapiTest
{
   //签名验证公共接口
   public function valid()
   {
       $echoStr = $_GET["echostr"];

       if($this->checkSignature()){
           echo $echoStr;
           exit;
       }
   }

   //主入口处理函数
   public function responseMsg()
   {
       $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

       if (!empty($postStr)){
                 
           $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
         
           $msgType=trim($postObj->MsgType);
         
           switch($msgType){
               case 'text':
                   $resultStr=$this->handleText($postObj);
                   break;
               case 'event':
                   $resultStr=$this->handleEvent($postObj);
                   break;
               default:
                   $resultStr=$this->handleDefault($postObj);
                   break;
           }
         
           echo $resultStr;
         
       }else {
           echo "Error";
           exit;
       }
   }
 
   //处理文本消息
      private function handleText($obj){
         
          $keyword=trim($obj->Content);
         
          if(preg_match('/天气/',$keyword)){
              $contentStr=$this->handleWeather($obj);
          }elseif(preg_match('/翻译/',$keyword)){
              $contentStr=$this->handleTranslation($obj);
          }else{
              $contentStr=$this->handleChat($obj);
          }
         
          return $this->handleStr($obj,$contentStr);
         
      }
     
      //处理天气
      private function handleWeather($obj){
          $keyword=mb_substr($obj->Content,-2,2,'utf-8');
          $zone=mb_substr($obj->Content,0,-2,'utf-8');
         
          if($keyword=='天气' && !empty($zone)){
         
              $zoneArr=json_decode(file_get_contents('http://api.k780.com:88/?app=weather.city&format=json'),true);
              $zoneArr=$zoneArr['result'];
             
              $cityId='';
             
              foreach($zoneArr as $value){
                  if($zone==$value['citynm']){
                      $cityId=$value['weaid'];
                      break;
                  }
              }
             
              if(!empty($cityId)){
                  $data=file_get_contents("http://api.k780.com:88/?app=weather.today&weaid=$cityId&appkey=10638&sign=3736578f099375665f9f141a6326b757&format=json");

                  $data=json_decode($data);
                 
                  $contentStr="今天是:".$data->result->days.",".$data->result-> week.",".$data->result->citynm."天气:".$data->result->weather."n温度:".$data->result->temperature.",
                  ".$data->result->wind_direction.",".$data->result->wind_power.", 最低温度:".$data->result->temp_low.",最高温度:".$data->result->temp_high;
              }else{
                  $contentStr='找不到输入的城市!';
              }  
             
          }else{
              $contentStr='输入的查询格式不正确!';
          }
         
          return $contentStr;
      }
     
      //处理翻译
      private function handleTranslation($obj){
          $keyword=mb_substr($obj->Content,0,2,'utf-8');
       $words=mb_substr($obj->Content,2,220,'utf-8');
     
       if($keyword=='翻译' && !empty($words)){
           $data=file_get_contents('http://fanyi.youdao.com/openapi.do?keyfrom=zfsblog&key=364295447&type=data&doctype=json&version=1.1&q='.urlencode($words));      
           $data=json_decode($data,true);
         
           switch($data['errorCode']){
               case '0':
                   $contentStr=$data['translation'][0];
                   break;
               case '20':
                   $contentStr='要翻译的文本过长';
                   break;
               case '30':
                   $contentStr='无法进行有效的翻译';
                   break;
               case '40':
                   $contentStr='不支持的语言类型';
                   break;
               case '50':
                   $contentStr='无效的key';
                   break;
               default:
                   $contentStr='Error';
                   break;
           }
         
       }else{
           $contentStr='输入的翻译格式不正确!';
       }
     
       return $contentStr;
      }
     
      //处理聊天信息
      private function handleChat($obj){
          $keywords=$obj->Content;
         
          $curlPost=array("chat"=>$keywords);
 
       $ch = curl_init();//初始化curl
       curl_setopt($ch, CURLOPT_URL,'http://www.xiaojo.com/bot/chata.php');//抓取指定网页
       curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
       curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
       curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
       $data = curl_exec($ch);//运行curl
       curl_close($ch);
     
       if(!empty($data)){
           $contentStr=$data;
       }else{
           $ran=rand(1,5);
         
           switch($ran){
               case 1:
                   $contentStr= "小九今天累了,明天再陪你聊天吧";
                   break;
               case 2:
                   $contentStr= "小九睡觉喽~~";
                   break;
               case 3:
                   $contentStr= "呼呼~~呼呼~~";
                   break;
               case 4:
                   $contentStr= "你话好多啊,不跟你聊了";
                   break;
               case 5:
                   $contentStr= "你话好多啊,不跟你聊了";
                   break;
           }
       }
     
       return $contentStr;
      }
     
      //创建自定义菜单
      public function createMenu($data,$token){
          $ch = curl_init();
     
        curl_setopt($ch, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$token);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
       
        $result = curl_exec($ch);    
       
        curl_close($ch);
       
        return $result;
      }
     
      //查询自定义菜单
   function getMenu($token){
          $url="https://api.weixin.qq.com/cgi-bin/menu/get?access_token=$token";
         
          $ch = curl_init($url);
         
       curl_setopt($ch, CURLOPT_RETURNTRANSFER,true) ; //获取数据返回
       curl_setopt($ch, CURLOPT_BINARYTRANSFER,true) ; //在启用 CURLOPT_RETURNTRANSFER 时候将获取数据返回  
       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
       curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
     
       return $output = curl_exec($ch);      
      }
     
      //删除自定义菜单
      public function deleteMenu($token){
          $url="https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=".$token;
 
       $ch = curl_init();
     
       curl_setopt($ch, CURLOPT_URL, $url);
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
       curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

       $result = curl_exec($ch);
     
       curl_close($ch);
     
       return $result;
      }

     
      //处理事件消息
      private function handleEvent($obj){
   
          $content='';
         
          switch($obj->Event){
              case 'subscribe':
                  $content.="welcome-欢迎关注该公众号号!";
                  break;
              case 'unsubscribe':
                  $content.="感谢您一直以来对该公众号的关注,再见!";
                  break;
              default:
                  $content.="";
                  break;
          }
         
          return $this->handleStr($obj,$content);
      }
     
      //处理回复消息字符串
      private function handleStr($obj,$content='',$flag=0){
       $textTpl = "
                       
                       
                       %s
                       
                       
                       %d
                       
";
         
          return sprintf($textTpl, $obj->FromUserName, $obj->ToUserName, time(), $content,$flag);
      }
 
   //签名验证函数
   private function checkSignature()
   {
       $signature = $_GET["signature"];
       $timestamp = $_GET["timestamp"];
       $nonce = $_GET["nonce"];  
             
       $token = TOKEN;
       $tmpArr = array($token, $timestamp, $nonce);
       sort($tmpArr, SORT_STRING);
       $tmpStr = implode( $tmpArr );
       $tmpStr = sha1( $tmpStr );
     
       if( $tmpStr == $signature ){
           return true;
       }else{
           return false;
       }
   }
}

?>

测试结果:
基于微信公众平台开发SDK(demo)扩展例子
基于微信公众平台开发SDK(demo)扩展例子
基于微信公众平台开发SDK(demo)扩展例子
基于微信公众平台开发SDK(demo)扩展例子
基于微信公众平台开发SDK(demo)扩展例子
基于微信公众平台开发SDK(demo)扩展例子
phpMyAdmin不能导入2MB以上的文件是因为我们的php.ini配置作了限制了,如果有权限我们可以在php.ini配置中修改,如果没有权限可以使用第三方工具进行备份,下面整理了一些方法。

当我们使用phpMyAdmin导入备份的数据库文件时,默认只能上传小于2M的文件。但是通常我们的数据库备份文件是大于2M的,怎么办呢?其实我们只需修改一下php.ini文件中的一个参数即可。

解决办法一,有服务器修改权限

以使用USBWebserver搭建的WAMP环境为例,php.ini文件存在于两个地方:USBWebserversettings和USBWebserver 8php。

编辑php.ini,在其中找到:

 代码如下 复制代码

upload_max_filesize = 2M

把2M增加到20M或更大的数值即可。

保存文件,最后重启USBWebserver,或者说重新运行Mysql,就可以发现最大限制已经增大为……

慢着,竟然不是20M,而是8M。如图:

phpMyAdmin不能上传大于2M数据库文件的解决方法

三好公民也不知道是什么原因,反正暂时够用就行了。有知道的,请给三好公民讲解一下,谢谢!

解决方法二,如果没有服务器修改权限我们只要另想办法了

 

一、利用 帝国备份王 (EmpireBak) 备份数据
  1、首先下载安装 帝国备份王(EmpireBak)
  帝国备份王官方下载地址:http://www.phome.net/ebak2010/EmpireBak2010.zip
  第 1 步:上传程序包
  下载的压缩包后,将其解压,将安装包的 upload 目录中的全部文件和目录上传到服务器。虚拟主机用户可以上传到网站根目录(使用完后删除),对于部分有自己服务器或者VPS的用户也可以自己单独设置二级域名或者使用域名加端口的方式安装(这里就不着重讲解这个过程了)。
  第 2 步:设置目录属性
  您在正式使用以前,需要设置相关的目录属性,以便数据文件可以被 EmpireBak 正确的读写。使用 FTP 软件登录您的服务器,将服务器上以下的文件/目录属性设置为 777。
  目录文件名称 说明
  bdata 备份目录
  bdata/safemod 安全模式下数据备份目录
  class/config.php 配置文件
  setsave 保存设置目录
  setsave/def 默认备份设置文件
  zip 压缩包存放目录
  tmp 临时文件目录
  第 3 步:登录后台
  请在浏览器中运行 index.php,即访问 http://您的域名/安装目录/index.php。
  (默认的管理员帐号与密码分别为:admin,123456)
  登录后自己修改帐号密码、验证随机码与数据库设置即可完成安装。
  2、进入 帝国备份王(EmpireBak) 进行参数设置并备份
  第 1步、参数设置。 如图:
使用 帝国备份王(EmpireBak) 完整准确的备份 Discuz! 网站数据库 三联
  第 2 步、 开始备份数据,各参数可根据自己的需求进行配置,这里使用默认的。如图:
b.jpg
  第 3 步、 设置好参数后拉到页面最下面点击【开始备份】,再点确定。
c.jpg
  第 4 步、 此时正在进行数据库备份了,数据量大的,一定要有耐心啊。
d.jpg
  第 5 步、 管理备份目录,打包下载到本地。如图:
e.jpg
  整个站点数据库备份完成咯!
  二、利用 帝国备份王 (EmpireBak) 恢复数据
  第 1 步、
  打开菜单进入恢复数据栏。
  恢复数据源目录:选择你之前最新备份数据库目录。
  要导入的数据库:选择你需要恢复到的数据库。
  点击 开始恢复 ,再点击 确定 即可!
  如图:
f.jpg
  第 2 步、
  点击确定开始恢复后,那就耐心的等待恢复,数据量大的,可能花的时间稍微长点。
g.jpg
  然后恢复好了。打开您的网站看看数据是否正常。
本篇文章主要说明的是在php中,如何获取一个数组的第一个数组单元的值的方法。在php的内置函数中,获取数组元素值的函数主要有 reset next current prev end 这几个函数

reset (PHP 3, PHP 4, PHP 5)

函数定义 mixed reset ( array &array )

作用:该函数将 array 的内部指针倒回到第一个单元并返回第一个数组单元的值,如果数组为空则返回 FALSE。例如:

 

 代码如下 复制代码

<?php

$array=array('step one','step two','step three','step four');

echo reset($array);

//输出:step one
next (PHP 3, PHP 4, PHP 5)

函数定义 mixed next ( array &array )

作用:返回数组内部指针指向的下一个单元的值,或当没有更多单元时返回 FALSE。例如:

 代码如下 复制代码

<?php
$array=array('step one','step two','www','phpernote.com','step four');
echo next($array);


//输出:step two
警告:如果数组包含空的单元,或者单元的值是 0 则本函数碰到这些单元也返回 FALSE。要正确遍历可能含有空单元或者单元值为 0 的数组,参见 each() 函数。

current (PHP 3, PHP 4, PHP 5)

函数定义 mixed current ( array &array )

作用:返回当前被内部指针指向的数组单元的值,并不移动指针。初始指向插入到数组中的第一个单元。如果内部指针指向超出了单元列表的末端,current() 返回 FALSE。

警告:如果数组包含有空的单元(0 或者 "",空字符串)则本函数在碰到这个单元时也返回 FALSE。这使得用 current() 不可能判断是否到了此数组列表的末端。要正确遍历可能含有空单元的数组,用 each() 函数。

next() 和 current() 的行为类似,只有一点区别,在返回值之前将内部指针向前移动一位。这意味着它返回的是下一个数组单元的值并将数组指针向前移动了一位。如果移动指针的结果是超出了数组单元的末端,则 next() 返回 FALSE。

下面是相关函数的使用例子:

 代码如下 复制代码

<?php
$transport = array('foot', 'www', 'car', 'phpernote','com');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport); // $mode = 'www';
$mode = next($transport); // $mode = 'car';
$mode = prev($transport); // $mode = 'www';
$mode = end($transport); // $mode = 'com';
$mode = current($transport); // $mode = 'com';
$mode = reset($transport); // $mode = 'foot';

关注微信公众之后发送回复地理位置信息,即可回复周边附近的酒店信息列表,下面我就来给各位介绍利用php是怎么实现这个功能,希望全子对大家有帮助。
效果图:
严佳冬

并且附加上代码:

 代码如下 复制代码

<?php
 //将提交过来的信息接收
 
$signature = $_GET['signature'];
 
 $timestamp = $_GET['timestamp'];
 
 $nonce = $_GET['nonce'];
 
 $echostr = $_GET['echostr'];
 
 $token = "yanjiadong";
 
 //判断接入网站
 
 //进行字典排序
 $arr = array($token,$timestamp,$nonce);
 
 sort($arr);
 
 //完成字符串的拼接和sha1加密
 
 $result = sha1(join($arr));
 
 //判断生成的字符串和$signature是否相等,如果相等,直接输出$echostr,这样网站接入成功
 
 if($result==$signature){
 
 echo $echostr;
 
 }
 
 //接收微信公众账号接收到的信息
 $poststr = $GLOBALS["HTTP_RAW_POST_DATA"];
 
 $xmlObj = simplexml_load_string($poststr,'SimpleXMLElement',LIBXML_NOCDATA);
 
 $ToUserName = $xmlObj->ToUserName;
 
 $FromUserName = $xmlObj->FromUserName;
 
 $CreateTime = $xmlObj->CreateTime;
 
 $MsgType = $xmlObj->MsgType;
 
 $Content = $xmlObj->Content;
 
&nbsp;
 if($MsgType=='location'){
 
 $Location_X = $xmlObj->Location_X;
 
 $Location_Y = $xmlObj->Location_Y;
 
 $Scale = $xmlObj->Scale;
 
 $Label = $xmlObj->Label;
 
 $urlstr = "http://api.map.baidu.com/place/v2/search?&query=酒店&location=".$Location_X.",".$Location_Y."&radius=5000&output=json&ak=DESY8unmZnUlLB0mlowjuiRr";  //此处ak参数需要个人的百度开发序列号,自己去百度申请下就好了
 
 $jsonstr = file_get_contents($urlstr);
 
 $json = json_decode($jsonstr,true);
 
 $pic_640 = "http://api.map.baidu.com/staticimage?width=640&height=320&center=".$Location_Y.",".$Location_X."&zoom=15&markers=".$Location_Y.",".$Location_X."&markerStyles=l,";
 
 $pic_80 = "http://api.map.baidu.com/staticimage?width=80&height=80&center=".$Location_Y.",".$Location_X."&zoom=15&markers=".$Location_Y.",".$Location_X."&markerStyles=l,";
 
 $p_640 = file_get_contents($pic_640);
 
 file_put_contents('./images/640_'.$FromUserName.".png",$p_640);
 
 $p_80 = file_get_contents($pic_80);
 
 file_put_contents('./images/80_'.$FromUserName.".png",$p_80);
 
 echo pic_send($json['results']);
 
 }
 function pic_send($arr){
 global $ToUserName,$FromUserName;
 $str = "<xml>
 <ToUserName><![CDATA[".$FromUserName."]]></ToUserName>
 <FromUserName><![CDATA[".$ToUserName."]]></FromUserName>
 <CreateTime>".time()."</CreateTime>
 <MsgType><![CDATA[news]]></MsgType>
 <ArticleCount>".count($arr)."</ArticleCount>
 <Articles>";
 foreach($arr as $k=>$v){
 if($k==0){
 $picurl = "http://yanjiadong.net/weixin/images/640_".$FromUserName.".png";
 }else{
 $picurl = "http://yanjiadong.net/weixin/images/80_".$FromUserName.".png";
 }
 $str .="
 <item>
 <Title><![CDATA[".$v['name']." 地址:".$v['address']." 电话:".$v['telephone']."]]></Title>
 <Description><![CDATA[".$v['name']." 地址:".$v['address']." 电话:".$v['telephone']."]]></Description>
 <PicUrl><![CDATA[".$picurl."]]></PicUrl>
 <Url><![CDATA[http://api.map.baidu.com/place/detail?uid=".$v['uid']."&output=html&src=".$v['name']."&output=html]]></Url>
 </item>";
 }
 
 $str .= "</Articles></xml>";
 
 return $str;
 }
 
?>

很多时候需要输出一些 “纯” 字符串,也就是去除任何杂质(例如 Html 标签、空格之类的文本),输出的摘要就是如此,下面的这个函数可以帮你实现着一点:


例子

 代码如下 复制代码

function Bing_string_cleanr( $string ){
 $string = trim( $string );
 $string = strip_tags( $string );
 $string = htmlspecialchars( $string, ENT_QUOTES, 'UTF-8' );
 $string = str_replace( "n", "", $string );
 $string = trim( $string );
 return $string;
}

使用方法:

 

 代码如下 复制代码
echo Bing_string_cleanr( '内 容 <br> <html> asdfeiuonsdfje' );

删除空白

 代码如下 复制代码

<?php
$str = " This line containstliberal rn use of whitespace.nn";

// First remove the leading/trailing whitespace
//去掉开始和结束的空白
$str = trim($str);

// Now remove any doubled-up whitespace
//去掉跟随别的挤在一块的空白
$str = preg_replace('/s(?=s)/', '', $str);

// Finally, replace any non-space whitespace, with a space
//最后,去掉非space 的空白,用一个空格代替
$str = preg_replace('/[nrt]/', ' ', $str);

// Echo out: 'This line contains liberal use of whitespace.'
echo "<pre>{$str}</pre>";
?>

[!--infotagslink--]

相关文章

  • Linux下PHP安装curl扩展支持https例子

    安装curl扩展支持https是非常的重要现在许多的网站都使用了https了,下面我们来看一篇关于PHP安装curl扩展支持https例子吧。 问题: 线上运行的lamp服务器,默认yu...2016-11-25
  • php使用floor去掉小数点的例子

    floor会产生小数了如果我们不希望有小数我们是可以去除小数点的了,下面一聚教程小编来为各位介绍php使用floor去掉小数点的例子,希望对各位有帮助。 float floor (...2016-11-25
  • 纯Css实现下拉菜单的简单例子

    下面我们来看一篇关于纯Css实现下拉菜单的简单例子,希望这篇文章能够给各位同学带来帮助,具体步骤如下. 大家可能会经常用到hover这属性,用hover实现鼠标经过的颜...2017-01-22
  • php时间日期对比与日期加减例子

    在php中日期对比用得比较多了,还有一个日期加减也用到不少,下面我拿两个例子来给大家介绍在php中日期操作方法吧,希望文章能给你带来帮助 功能需求 文章发布时段操...2016-11-25
  • php更新修改excel中的内容例子

    本例子不是读取Excel或生成新的Excel,而是读取现有的Excel文件,然后修改Excel中的数据,就像修改mysql中数据一样的哦。 代码如下 ...2016-11-25
  • 微信公众平台实现微信网页登陆授权开发

    微信公众平台实现微信网页登陆授权开发其实是非常的简单了,因为官方的参考程序了,下面小编就看了一站长根据官方参考做的一个网页登陆授权例子,大家可看看。 文件1:in...2016-11-25
  • php正则获取文章内容中图片地址例子

    正则提取图片中的地址我们介绍过很多的相关文章了,下面再来给各位介绍一个可以提取内容中第一张图片的例子,希望对各位有帮助。 代码如下 复制代码 ...2016-11-25
  • php获取QQ头像并显示的例子

    最近看到博客留言的头像有点别扭,因为游客的头像都是同一个头像,看着不是很舒服。虽然现在绝大多数的主题集成了Gavatar头像功能,先不说gavatar被墙的问题,我自己现在都没...2016-11-25
  • php判断字符串是否包含另一个字符串例子

    php判断字符串是否包含另一个字符串的实现方法有许多的办法,像我们在网上一搜索可看到大量关于字符是否包含指定字符的方法,下面我把这些实用的例子整理一起与大家分享...2016-11-25
  • PHP date函数获取时间几个例子

    date函数是php中一个非常好用的日期获取函数了,我们可以使用它来获取指定日期或者当前日期了,下面我来简单的介绍一下date函数用法与常用用法吧。 PHP星期几获取代...2016-11-25
  • PHP Curl模拟登录微信公众平台、新浪微博实例代码

    这篇文章主要介绍了PHP Curl模拟登录微信公众平台、新浪微博实例代码的相关资料,涉及到php curl模拟登录相关知识,需要的朋友可以参考下...2016-02-01
  • php版本微信公众平台回复乱码问题解决方法

    微信公众平开发时碰到回复中文乱码了,这个问题小编发现是编码问题,其实只要把编码转成utf8就可以解决了,具体来看看。 很多微信公众平台的自动回复程序都是 ThinkWec...2016-11-25
  • php 设置cookie路径例子总结

    对于cookie path很多的朋友不以为燃了这样会发现就是因为一个小点或一个路径问题测试了一天发现读取不了cookie值了,今天我就来给大家介绍cookie中路径的一些例子与注...2016-11-25
  • 微信公众平台开发通过php创建自定义菜单

    自定义菜单可以在后台设置但如果你使用了开发者之后那么后台的自定义菜单功能就失效了,必须通过程序来创建了,下面一起来看一个简单的通过php创建自定义菜单的例子。...2016-11-25
  • php文件锁类防止并发的例子

    文件锁可以防止文件读写时多人访问时出现共享问题或数据不准确的问题,下面我们来看一篇关于php文件锁类防止并发的例子,具体如下. 工作间隙写了个文件锁的类,用于...2016-11-25
  • php版微信公众平台账号自定义菜单类

    微信公众平台服务号可申请自定义菜单了,其它的号暂时不支持自定义菜单了,这个不但可以使用api来操作,还可以直接在后台定义菜单与参数哦。 申请自定义菜单 服务号可...2016-11-25
  • php输出404状态码的例子

    404状态代码在php中可以使用header输出但不能使用echo或print输出哦,许多的朋友把这个给搞混了,下面我们来看一篇关于php输出404状态码的例子 例子 代码如...2016-11-25
  • 视频网站的制作例子二

    Listing 4. simplemovie.mxml <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:VBox...2016-11-25
  • php 数组转xml的例子

    数组转xml用到不多用数组转json比较多了,但今天有一个功能就是必须要把数组转换成xml了,下面小编人网上找到了一段关于php 数组转xml的代码测试了都可以使用,下面整理分...2016-11-25
  • php获取mysql字段名称和其它信息的例子

    在php中我们要查看mysql数据库的信息我们可以直接连接mysql之后再调用mysql相关语句就可以实现了,下面给各位整理了一篇文章希望对大有帮助。 首先我们需要了解下...2016-11-25