如何判断微信浏览器?

最近围绕微信工作平台的需求越来越多,所以就需要判断访问者是否为微信浏览器。

PHP方法:利用PHP的“_SERVER ”数组“HTTP_USER_AGENT”项,获取该页面的用户代理的信息,来完成这个工作。

<?php
echo $_SERVER["HTTP_USER_AGENT"];
?>

【winows/chrome】 输出结果:

weixin

Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36

而【ios7/weixin】下输出结果:

viewfile

Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/11B554a MicroMessenger/5.0.3

在字符串中可以看出“MicroMessenger ”为微信浏览器版本,所以可以使用“MicroMessenger”参数,来判断访问来源是否为“微信浏览器”。

if(strpos($_SERVER['HTTP_USER_AGENT'],"MicroMessenger "))
{
	echo "Hello Weixin";
}

Javascript方法:

function isweixin(){
    var ua = navigator.userAgent.toLowerCase();
    if(ua.match(/MicroMessenger/i)=="micromessenger") {
        return true;
    } else {
        return false;
    }
}

PHP QR Code类库生成二维码

由于二维码被广泛使用,现在在web开发中不得不经常生成各种二维码。可以利用PHP类库“PHP QR Code”来生成一种常见的二维码——QR码。

类库下载URL: http://phpqrcode.sourceforge.net/

qrlib.php 是完整版,官方的调用实例:

QRcode::png('code data text', 'filename.png'); // creates file 

QRcode::png('some othertext 1234'); // creates code image and outputs it directly into browser

phpqrcode.php 是合并版,只有一个文件,但生成速度较慢且不太准确。使用方法:

//
include "phpqrcode/phpqrcode.php; 

$data=“http://www.hiheng.com”;  //二维码数据

$filename = $errorCorrectionLevel.'|'.$matrixPointSize.'.png'; //生成的文件名

$errorCorrectionLevel = 'L';   //纠错级别 L | M | Q | H
$matrixPointSize = 4;    //每个黑点的像素 1~10
QRcode::png($data,$filename,$errorCorrectionLevel,$matrixPointSize);
//

PHP 计算页面执行时间

<?php
class runtime
{ 
    var $StartTime = 0; 
    var $StopTime = 0; 

    function get_microtime() 
    { 
        list($usec, $sec) = explode(' ', microtime()); 
        return ((float)$usec + (float)$sec); 
    } 
 
    function start() 
    { 
        $this->StartTime = $this->get_microtime(); 
    } 
    function stop() 
    { 

        $this->StopTime = $this->get_microtime(); 

    } 
    function spent() 
    { 
        return round(($this->StopTime - $this->StartTime) * 1000,1); 
    } 
}

//例子 
$runtime= new runtime;
$runtime->start();

//你的代码开始
$a = 0;
for($i=0; $i&lt;1000000; $i++)
{
    $a += $i;
}

//你的代码结束
$runtime->stop();
echo "页面执行时间: ".$runtime->spent()." 毫秒";

?>