php获取设置用户访问页面语言类

php实现获取及设置用户访问页面语言类,可实现获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language。

一个php获取及设置用户访问页面语言类,具体分析:
该实例User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language。

根据用户选择的语言显示对应的页面(英文,简体中文,繁体中文)
UserLang.class.php类文件如下:

<?php
/** User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language
* Date: 2014-05-26
* Author: fdipzone
* Ver: 1.0
* www.jbxue.com
* Func:
* public get 获取用户访问语言
* public set 设置用户访问语言
* private getAcceptLanguage 获取HTTP_ACCEPT_LANGUAGE
*/

class UserLang{ // class start 

private $name = ‘userlang‘; // cookie name
private $expire = 2592000; // cookie expire 30 days 

/** 初始化
* @param String $name cookie name
* @param int $expire cookie expire
*/
public function __construct($name=‘‘, $expire=null){ 

// 设置cookie name
if($name!=‘‘){
$this->name = $name;
} 

// 设置cookie expire
if(is_numeric($expire) && $expire>0){
$this->expire = intval($expire);
}
} 

/** 获取用户访问语言 */
public function get(){ 

// 判断用户是否有设置过语言
if(isset($_COOKIE[$this->name])){
$lang = $_COOKIE[$this->name];
}else{
$lang = $this->getAcceptLanguage();
}
return $lang;
} 

/** 设置用户访问语言
* @param String $lang 用户访问语言
*/
public function set($lang=‘‘){ 

$lang = strtolower($lang); 

// 只能是英文,简体中文,繁体中文
if(in_array($lang, array(‘en‘,‘sc‘,‘tc‘))){
setcookie($this->name, $lang, time()+$this->expire);
}
} 

/** 获取HTTP_ACCEPT_LANGUAGE */
private function getAcceptLanguage(){ 

$lang = strtolower($_SERVER[‘HTTP_ACCEPT_LANGUAGE‘]); 

if(in_array(substr($lang,0,5), array(‘zh-tw‘,‘zh_hk‘))){
$lang = ‘tc‘;
}elseif(in_array(substr($lang,0,5), array(‘zh-cn‘,‘zh-sg‘))){
$lang = ‘sc‘;
}else{
$lang = ‘en‘;
} 

return $lang;
}
} // class end
?>

demo示例:

<?php
require "UserLang.class.php"; 

$obj = new UserLang(‘sitelang‘, 3600);
echo $obj->get().‘<br>‘;
?>
时间: 2024-10-21 01:26:27

php获取设置用户访问页面语言类的相关文章

YII设置用户访问过滤

设置用户访问过滤 1.哪个控制器设置访问过滤,就在哪个控制器中添加如下代码 class XxxController extends Controller { //当前控制器是否使用过滤功能 public function filters() { return array( "accessControl"//针对当前控制器的所有方法起作用 "accessControl+方法名"//只针对当前控制器的指定方法起作用 "accessControl+方法名,方法名

JS获取上一访问页面URL地址document.referrer实践2

一.JS获取前一个访问页面的URL地址document.referrer 要获取前一个访问页面的URL地址前后端语言都可以,例如PHP的是$_SERVER['HTTP_REFERER'],JavaScript的就是document.referrer. 我们平常开发,虽然和URL打交道也算比较频繁,但是,似乎很少使用document.referrer.我起初以为是兼容性不好,后来测试发现ie7都支持,那就奇怪了,为何document.referrer用的不多呢? 我想了一下,可能有下面几个原因:

MongoDB(四)mongodb设置用户访问权限

我们知道MySQL在安装的时候需要我们设置一个数据库默认的用户名和密码,mongodb也不例外,不过mongodb是默认的没有设置访问限制的,不需要输入用户名和密码都可以访问的,但是这样会十分的不安全,我们需要手动的为mongodb加上权限限制命令. 首先建立一个默认的账户 Use admin Db.addUser('sa','sa') 这样我们建立了一个用户名为sa,密码为sa的默认账户. 在此时我们还是可以不输入用户名和密码进入数据库的,接下来我们做如下的修改. 打开mongodb所在的注册

深入浅出MongoDB(四)mongodb设置用户访问权限

我们知道mysql在安装的时候需要我们设置一个数据库默认的用户名和密码,mongodb也不例外,不过mongodb是默认的没有设置访问限制的,不需要输入用户名和密码都可以访问的,但是这样会十分的不安全,我们需要手动的为mongodb加上权限限制命令. 首先建立一个默认的账户 Use admin Db.addUser('sa','sa') 这样我们建立了一个用户名为sa,密码为sa的默认账户. 在此时我们还是可以不输入用户名和密码进入数据库的,接下来我们做如下的修改. 打开mongodb所在的注册

Apache 创建虚拟主机目录和设置默认访问页面

虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同的域名. Apache 是世界上使用最广的 Web 服务器, 从 1.1 版开始支持虚拟主机. 下面说明在Windows上使用 Apache 搭建虚拟主机来搭建多个网站. 1.打开apache的httpd.conf文件,找到# Virtual hosts#Include conf/extra/htt

javascript获取当前用户访问的宽带IP地址

<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script><script> var ip=returnCitySN.cip;console.log("用户获得当前的宽带IP地址为:"+ip);</script> 原文地址:https://www.cnblogs.com/xieqijiang/p/10949953.html

struts2实现用户自行选择语言

如果用户根据自己的喜好能选择定制语言将是一件比较友好的事,struts2中可以轻易的实现用户定制语言. 在struts2中,可以通过ActionContext.getContext().setLocale(Locale arg)设置用户的默认语言.为了简化设置 用户默认语言环境.Struts2提供了一个名为i18n的拦截器(Interceptor),并且将其注册在默认的拦截器中(defaultStack). 程序的思路是i18n拦截器在执行Action方法钱,自动查找请求中一个名为request

Spring MVC或Spring Boot配置默认访问页面不生效?

相信在开发项目过程中,设置默认访问页面应该都用过.但是有时候设置了却不起作用.你知道是什么原因吗?今天就来说说我遇到的问题. 首先说说配置默认访问页面有哪几种方式. 1.tomcat配置默认访问页面 进入 tomcat 的 conf 目录,编辑 web.xml 文件.在 <web-app></web-app> 添加默认访问页面. <welcome-file-list> <welcome-file>index.html</welcome-file>

spring boot 项目设置默认访问路径方法

spring boot项目一般通过Application启动,且不需要配置web.xml,所以设置默认访问页面可以通过以下方法实现,比如增加默认DefaultView类,代码如下: import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; import org.springframework.web.servlet.config.annotation.