php
php

如何判断微信浏览器?

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

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 is_weixn(){
    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);
//