Home php教程 php手册 微信公众平台开发(95) 2014世界杯赛程

微信公众平台开发(95) 2014世界杯赛程

Jun 13, 2016 am 09:33 AM
Development tutorial WeChat development

2014年巴西世界杯(英语:2014 FIFA World Cup)是第20届世界杯足球赛。比赛于2014年6月12日至7月13日在南美洲国家巴西境内12座城市中的12座球场内举行。这是继1950年巴西世界杯之后世界杯第二次在巴西举行,也是继1978年阿根廷世界杯之后世界杯第五次在南美洲举行。

巴西世界杯共有32支球队参赛。除去东道主巴西自动获得参赛资格以外,其他31个国家需通过参加2011年6月开始的预选赛获得参赛资格。巴西世界杯期间,总共在巴西境内举办共计64场比赛角逐出冠军。同时,巴西世界杯是首届运用门线技术的世界杯。

 

<?<span>php
</span><span>/*</span><span>
    方倍工作室
    CopyRight 2014 All Rights Reserved
</span><span>*/</span>

<span>define</span>("TOKEN", "weixin"<span>);

</span><span>$wechatObj</span> = <span>new</span><span> wechatCallbackapiTest();
</span><span>if</span> (!<span>isset</span>(<span>$_GET</span>['echostr'<span>])) {
    </span><span>$wechatObj</span>-><span>responseMsg();
}</span><span>else</span><span>{
    </span><span>$wechatObj</span>-><span>valid();
}

</span><span>class</span><span> wechatCallbackapiTest
{
    </span><span>public</span> <span>function</span><span> valid()
    {
        </span><span>$echoStr</span> = <span>$_GET</span>["echostr"<span>];
        </span><span>$signature</span> = <span>$_GET</span>["signature"<span>];
        </span><span>$timestamp</span> = <span>$_GET</span>["timestamp"<span>];
        </span><span>$nonce</span> = <span>$_GET</span>["nonce"<span>];
        </span><span>$token</span> =<span> TOKEN;
        </span><span>$tmpArr</span> = <span>array</span>(<span>$token</span>, <span>$timestamp</span>, <span>$nonce</span><span>);
        </span><span>sort</span>(<span>$tmpArr</span><span>);
        </span><span>$tmpStr</span> = <span>implode</span>(<span>$tmpArr</span><span>);
        </span><span>$tmpStr</span> = <span>sha1</span>(<span>$tmpStr</span><span>);
        </span><span>if</span>(<span>$tmpStr</span> == <span>$signature</span><span>){
            </span><span>echo</span> <span>$echoStr</span><span>;
            </span><span>exit</span><span>;
        }
    }

    </span><span>public</span> <span>function</span><span> responseMsg()
    {
        </span><span>$postStr</span> = <span>$GLOBALS</span>["HTTP_RAW_POST_DATA"<span>];
        </span><span>if</span> (!<span>empty</span>(<span>$postStr</span><span>)){
            </span><span>$this</span>->logger("R ".<span>$postStr</span><span>);
            </span><span>$postObj</span> = <span>simplexml_load_string</span>(<span>$postStr</span>, 'SimpleXMLElement',<span> LIBXML_NOCDATA);
            </span><span>$RX_TYPE</span> = <span>trim</span>(<span>$postObj</span>-><span>MsgType);

            </span><span>switch</span> (<span>$RX_TYPE</span><span>)
            {
                </span><span>case</span> "event":
                    <span>$result</span> = <span>$this</span>->receiveEvent(<span>$postObj</span><span>);
                    </span><span>break</span><span>;
                </span><span>case</span> "text":
                    <span>$result</span> = <span>$this</span>->receiveText(<span>$postObj</span><span>);
                    </span><span>break</span><span>;
            }
            </span><span>$this</span>->logger("T ".<span>$result</span><span>);
            </span><span>echo</span> <span>$result</span><span>;
        }</span><span>else</span><span> {
            </span><span>echo</span> ""<span>;
            </span><span>exit</span><span>;
        }
    }
    
    </span><span>private</span> <span>function</span> receiveEvent(<span>$object</span><span>)
    {
        </span><span>$content</span> = ""<span>;
        </span><span>switch</span> (<span>$object</span>-><span>Event)
        {
            </span><span>case</span> "subscribe":
                <span>$content</span> = <span>array</span><span>();
                </span><span>$content</span>[] = <span>array</span>("Title" =>"2014年巴西世界杯赛程","Description" =>"", "PicUrl" =>"http://images.cnitblog.com/i/340216/201406/111304544204656.jpg", "Url" =>"http://url.cn/RInu1v"<span>);
                </span><span>break</span><span>;
        }
        </span><span>if</span>(<span>is_array</span>(<span>$content</span><span>)){
            </span><span>$result</span> = <span>$this</span>->transmitNews(<span>$object</span>, <span>$content</span><span>);
        }</span><span>else</span><span>{
            </span><span>$result</span> = <span>$this</span>->transmitText(<span>$object</span>, <span>$content</span><span>);
        }
        </span><span>return</span> <span>$result</span><span>;
    }
  
    </span><span>private</span> <span>function</span> receiveText(<span>$object</span><span>)
    {
        </span><span>$keyword</span> = <span>trim</span>(<span>$object</span>-><span>Content);
        </span><span>if</span> (<span>strstr</span>(<span>$keyword</span>, "世界杯") || <span>strstr</span>(<span>$keyword</span>, "足球"<span>)){
            </span><span>$content</span> = <span>array</span><span>();
            </span><span>$content</span>[] = <span>array</span>("Title" =>"2014年巴西世界杯赛程","Description" =>"", "PicUrl" =>"http://images.cnitblog.com/i/340216/201406/111304544204656.jpg", "Url" =>"http://url.cn/RInu1v"<span>);
        }</span><span>else</span><span>{
            </span><span>$content</span> = <span>date</span>("Y-m-d H:i:s",<span>time</span>())."\n技术支持 方倍工作室"<span>;
        }
        </span><span>if</span>(<span>is_array</span>(<span>$content</span><span>)){
            </span><span>$result</span> = <span>$this</span>->transmitNews(<span>$object</span>, <span>$content</span><span>);
        }</span><span>else</span><span>{
            </span><span>$result</span> = <span>$this</span>->transmitText(<span>$object</span>, <span>$content</span><span>);
        }
        </span><span>return</span> <span>$result</span><span>;
    }

    </span><span>private</span> <span>function</span> transmitText(<span>$object</span>, <span>$content</span><span>)
    {
        </span><span>$textTpl</span> = "<span><xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml></span>"<span>;
        </span><span>$result</span> = <span>sprintf</span>(<span>$textTpl</span>, <span>$object</span>->FromUserName, <span>$object</span>->ToUserName, <span>time</span>(), <span>$content</span><span>);
        </span><span>return</span> <span>$result</span><span>;
    }

    </span><span>private</span> <span>function</span> transmitNews(<span>$object</span>, <span>$arr_item</span><span>)
    {
        </span><span>if</span>(!<span>is_array</span>(<span>$arr_item</span><span>))
            </span><span>return</span><span>;

        </span><span>$itemTpl</span> = "<span>    <item>
        <Title><![CDATA[%s]]></Title>
        <Description><![CDATA[%s]]></Description>
        <PicUrl><![CDATA[%s]]></PicUrl>
        <Url><![CDATA[%s]]></Url>
    </item>
</span>"<span>;
        </span><span>$item_str</span> = ""<span>;
        </span><span>foreach</span> (<span>$arr_item</span> <span>as</span> <span>$item</span><span>)
            </span><span>$item_str</span> .= <span>sprintf</span>(<span>$itemTpl</span>, <span>$item</span>['Title'], <span>$item</span>['Description'], <span>$item</span>['PicUrl'], <span>$item</span>['Url'<span>]);

        </span><span>$newsTpl</span> = "<span><xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<Content><![CDATA[]]></Content>
<ArticleCount>%s</ArticleCount>
<Articles>
</span><span>$item_str</span><span></Articles>
</xml></span>"<span>;

        </span><span>$result</span> = <span>sprintf</span>(<span>$newsTpl</span>, <span>$object</span>->FromUserName, <span>$object</span>->ToUserName, <span>time</span>(), <span>count</span>(<span>$arr_item</span><span>));
        </span><span>return</span> <span>$result</span><span>;
    }

    </span><span>private</span> <span>function</span> logger(<span>$log_content</span><span>)
    {
        </span><span>if</span>(<span>isset</span>(<span>$_SERVER</span>['HTTP_BAE_ENV_APPID'])){   <span>//</span><span>BAE</span>
            <span>require_once</span> "BaeLog.class.php"<span>;
            </span><span>$logger</span> = BaeLog::<span>getInstance();
            </span><span>$logger</span> ->logDebug(<span>$log_content</span><span>);
        }</span><span>else</span> <span>if</span>(<span>isset</span>(<span>$_SERVER</span>['HTTP_APPNAME'])){   <span>//</span><span>SAE</span>
            sae_set_display_errors(<span>false</span><span>);
            sae_debug(</span><span>$log_content</span><span>);
            sae_set_display_errors(</span><span>true</span><span>);
        }</span><span>else</span> <span>if</span>(<span>$_SERVER</span>['REMOTE_ADDR'] != "127.0.0.1"){ <span>//</span><span>LOCAL</span>
            <span>$max_size</span> = 10000<span>;
            </span><span>$log_filename</span> = "log.xml"<span>;
            </span><span>if</span>(<span>file_exists</span>(<span>$log_filename</span>) and (<span>abs</span>(<span>filesize</span>(<span>$log_filename</span>)) > <span>$max_size</span>)){<span>unlink</span>(<span>$log_filename</span><span>);}
            </span><span>file_put_contents</span>(<span>$log_filename</span>, <span>date</span>('H:i:s')." ".<span>$log_content</span>."\r\n",<span> FILE_APPEND);
        }
    }
}


</span>?>
Copy after login

效果图

 

 

====================================================================

方倍工作室微信公众平台账号关注方法:
1. 微信通讯录-添加朋友-查找公众号-搜索“方倍工作室”
2. 微信通讯录-添加朋友-搜号码-输入“pondbaystudio”
3. 使用微信扫描下面的二维码

 

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP WeChat development: How to implement message encryption and decryption PHP WeChat development: How to implement message encryption and decryption May 13, 2023 am 11:40 AM

PHP WeChat development: How to implement message encryption and decryption

PHP WeChat development: How to implement customer service chat window management PHP WeChat development: How to implement customer service chat window management May 13, 2023 pm 05:51 PM

PHP WeChat development: How to implement customer service chat window management

Enterprise WeChat interface docking and PHP approval application development tutorial Enterprise WeChat interface docking and PHP approval application development tutorial Jul 05, 2023 pm 05:45 PM

Enterprise WeChat interface docking and PHP approval application development tutorial

PHP WeChat development: How to implement user tag management PHP WeChat development: How to implement user tag management May 13, 2023 pm 04:31 PM

PHP WeChat development: How to implement user tag management

PHP WeChat development: How to implement speech recognition PHP WeChat development: How to implement speech recognition May 13, 2023 pm 09:31 PM

PHP WeChat development: How to implement speech recognition

Using PHP to develop WeChat mass messaging tools Using PHP to develop WeChat mass messaging tools May 13, 2023 pm 05:00 PM

Using PHP to develop WeChat mass messaging tools

How to use PHP for WeChat development? How to use PHP for WeChat development? May 21, 2023 am 08:37 AM

How to use PHP for WeChat development?

ThinkPHP6 WeChat Development Guide: Quickly build WeChat public account applications ThinkPHP6 WeChat Development Guide: Quickly build WeChat public account applications Aug 26, 2023 pm 11:55 PM

ThinkPHP6 WeChat Development Guide: Quickly build WeChat public account applications

See all articles