php判断浏览器跳转,PHP如何判断客户端浏览器的语言并跳转到相应的语言页面

PHP如何判断客户端浏览器的语言并跳转到相应的语言页面,方法是什么?为适应php国际化需要,根据不同的用户一个网站会需要使用多种语言,那怎么知道当前访问的用户需要显示哪里语言呢?

方法很多,可以根据来源IP判断,如果是注册用户可以根据她所选择的语言判断,也可以使用COOKIE记录下她第一次访问所选择的语言等等,我今天介绍的是通过$_SERVER来进行判断。

以下是具体的实现代码:

print_r($_SERVER);

Array

(

[HTTP_HOST] => jokesir.com

[HTTP_CONNECTION] => keep-alive

[HTTP_CACHE_CONTROL] => max-age=0

[HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11

[HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

[HTTP_ACCEPT_ENCODING] => gzip,deflate,sdch

[HTTP_ACCEPT_LANGUAGE] => zh-CN,zh;q=0.8

[HTTP_ACCEPT_CHARSET] => UTF-8,*;q=0.5

[SystemRoot] => C:\Windows

[COMSPEC] => C:\Windows\system32\cmd.exe

[PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

[WINDIR] => C:\Windows

[SERVER_SIGNATURE] =>

Apache/2.2.9 (APMServ) mod_ssl/2.2.9 OpenSSL/0.9.8h PHP/5.2.6 Server at jokesir.com Port 80

[SERVER_SOFTWARE] => Apache/2.2.9 (APMServ) mod_ssl/2.2.9 OpenSSL/0.9.8h PHP/5.2.6

[SERVER_NAME] => jokesir.com

[SERVER_ADDR] => 127.0.0.1

[SERVER_PORT] => 80

[REMOTE_ADDR] => 127.0.0.1

[DOCUMENT_ROOT] => D:/www/jokesir

[SERVER_ADMIN] => webmaster@localhost

[SCRIPT_FILENAME] => D:/www/jokesir/index.php

[REMOTE_PORT] => 49985

[GATEWAY_INTERFACE] => CGI/1.1

[SERVER_PROTOCOL] => HTTP/1.1

[REQUEST_METHOD] => GET

[QUERY_STRING] =>

[REQUEST_URI] => /

[SCRIPT_NAME] => /index.php

[PHP_SELF] => /index.php

[REQUEST_TIME] => 1372061725

[argv] => Array

(

)

[argc] => 0

)

发现上述数组中有一项HTTP_ACCEPT_LANGUAGE内容写的是zh-CN,zh;q=0.8,没错,这正是我当前使用的语言简体中文,有了它之后就好办了。

preg_match('/^([a-z\-]+)/i', $_SERVER['HTTP_ACCEPT_LANGUAGE'], $matches);

$lang = $matches[1];

switch ($lang) {

case 'zh-cn' : // 简体中文

header('Location: http://cn.website.com/');

break;

case 'zh-tw' : // 繁体中文

header('Location: http://tw.website.com/');

break;

case 'ko' : // 韩文

header('Location: http://ko.website.com/');

break;

default: // 默认英文

header('Location: http://en.website.com/');

break;

}

// 如果不需要跳转到指定网址,那么在加载语言时进行判断即可,就这么简单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值