Home  >  Article  >  Backend Development  >  WeChat public platform development (95) 2014 World Cup schedule_PHP tutorial

WeChat public platform development (95) 2014 World Cup schedule_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:28:351099browse

The 2014 Brazil World Cup (English: 2014 FIFA World Cup) is the 20th World Cup. The competition was held from June 12 to July 13, 2014, in 12 stadiums in 12 cities in Brazil, a South American country. This is the second time the World Cup has been held in Brazil, following the 1950 World Cup in Brazil, and the fifth time the World Cup has been held in South America, following the 1978 World Cup in Argentina.

There are 32 teams participating in the Brazil World Cup. Except for the host Brazil, which automatically qualifies, the other 31 countries need to qualify by participating in the qualifiers starting in June 2011. During the Brazil World Cup, a total of 64 games were held in Brazil to compete for the championship. At the same time, the Brazil World Cup is the first World Cup to use goal-line technology.

<?<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>?>

Rendering

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

How to follow Fangbei Studio’s WeChat public platform account:
1. WeChat address book-add friend-search public account-search for “Fangbei Studio”
2. WeChat address book-add friend-search Number - enter "pondbaystudio"
3. Use WeChat to scan the QR code below

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/781921.htmlTechArticleThe 2014 Brazil World Cup (English: 2014 FIFA World Cup) is the 20th World Cup. The competition was held from June 12 to July 13, 2014 at 12 courses in 12 cities in Brazil, a South American country...
Statement:
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