仓酷云

标题: PHP网页编程之PHP 微信接口封装类(PHP100) [打印本页]

作者: 再现理想    时间: 2015-2-3 23:28
标题: PHP网页编程之PHP 微信接口封装类(PHP100)
左手拿着MOTOLOLA右手拿着NOKIA,要多潇洒,有多潇洒,哈哈,终于学会了,但是可能这个时候,又会有人不经意的拍拍肩膀对你说:哥们,别高兴的太早,你还是菜鸟,离学会还差着一大截呢!     
<?php /**   * 微信"大众平台接口PHP100封装功效类文件   * author PHP100.com  张恩平易近   * date 2013-4-9 PRC:E+8 23:03   * linkme QQ925939 chuangen.com   */   define("TOKEN", "chuangenit"); $wechatObj = new wechatCallbackapiTest(); $wechatObj->weixin_run(); //履行吸收器办法   class wechatCallbackapiTest {    private $fromUsername;    private $toUsername;    private $times;    private $keyword;            public function weixin_run(){      $this->responseMsg(); $arr[]=array("创恩很靠谱,PHP100也不错!","aa","http://www.chuangen.com/pic/hj/s_4.png","http://www.chuangen.com"); $arr[]=array("创恩很靠谱,PHP100也不错!","aa","http://www.chuangen.com/pic/hj/s_4.png","http://www.chuangen.com"); $arr[]=array("创恩很靠谱,PHP100也不错!","aa","http://www.chuangen.com/pic/hj/s_4.png","http://www.chuangen.com"); $this->fun_xml("news",$arr,array(2,0));     }           function t($n){    include("t_api.php");    $c_name=$t_api[$n];    $json=file_get_contents("http://m.weather.com.cn/data/101110310.html");    return json_decode($json);   }             public function valid()     {         $echoStr = $_GET["echostr"];           //valid signature , option         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);                 $this->fromUsername = $postObj->FromUserName;                 $this->toUsername = $postObj->ToUserName;                 $this->keyword = trim($postObj->Content); $this->times = time();         }else {         echo "this a file for weixin API!";         exit;         }     }   //微信封装类, //type: text 文本类型, news 图文类型 //text,array(内容),array(ID) //news,array(array(题目,引见,图片,超链接),...小于10条),array(条数,ID)   private function fun_xml($type,$value_arr,$o_arr=array(0)){  //=================xml header============  $con="<xml> <ToUserName><![CDATA[{$this->fromUsername}]]></ToUserName> <FromUserName><![CDATA[{$this->toUsername}]]></FromUserName> <CreateTime>{$this->times}</CreateTime> <MsgType><![CDATA[{$type}]]></MsgType>";         //=================type content============  switch($type){      case "text" :   $con.="<Content><![CDATA[{$value_arr[0]}]]></Content> <FuncFlag>{$o_arr}</FuncFlag>";   break;   case "news" :   $con.="<ArticleCount>{$o_arr[0]}</ArticleCount> <Articles>"; foreach($value_arr as $id=>$v){ if($id>=$o_arr[0]) break; else null; //判别数组数不超越设置数          $con.="<item> <Title><![CDATA[{$v[0]}]]></Title>  <Description><![CDATA[{$v[1]}]]></Description> <PicUrl><![CDATA[{$v[2]}]]></PicUrl> <Url><![CDATA[{$v[3]}]]></Url> </item>"; } $con.="</Articles> <FuncFlag>{$o_arr[1]}</FuncFlag>";   break;    } //end switch   //=================end return============  echo $con."</xml>"; }       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来连接数据库了,这期间你是怎么学会的,我们不去考证了,但是事实证明,你已经可以了。
作者: 若相依    时间: 2015-2-3 23:31
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者: 谁可相欹    时间: 2015-2-5 12:11
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者: 分手快乐    时间: 2015-2-7 01:11
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 透明    时间: 2015-2-10 06:11
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者: 仓酷云    时间: 2015-2-28 22:36
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
作者: admin    时间: 2015-3-10 09:05
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 因胸联盟    时间: 2015-3-12 21:31
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 小妖女    时间: 2015-3-14 21:48
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 只想知道    时间: 2015-3-21 14:19
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 简单生活    时间: 2015-4-6 00:08
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 爱飞    时间: 2015-4-8 09:08
做为1门年轻的语言,php一直很努力。
作者: 飘灵儿    时间: 2015-4-10 06:45
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
作者: 变相怪杰    时间: 2015-4-13 08:28
说php的话,首先得提一下数组,开始的时候我是最烦数组的,总是被弄的晕头转向,不过后来呢,我觉得数组里php里最强大的存储方法,所以建议新手们要学好数组。
作者: 金色的骷髅    时间: 2015-4-16 23:28
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 再现理想    时间: 2015-4-29 05:01
基础有没有对学习php没有太大区别,关键是兴趣。
作者: 深爱那片海    时间: 2015-5-2 19:59
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者: 兰色精灵    时间: 2015-6-4 01:21
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 山那边是海    时间: 2015-6-6 03:14
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2