php实现获取及设置用户访问页面语言类_php技巧

本文实例讲述了php实现获取及设置用户访问页面语言类,分享给大家供大家参考。具体分析如下:

该实例User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language。根据用户选择的语言显示对应的页面(英文,简体中文,繁体中文)

UserLang.class.php类文件如下:

<?php
/** User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language
*  Date:  2014-05-26
*  Author: fdipzone
*  Ver:  1.0
*
*  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>';
?>

希望本文所述对大家PHP程序设计的学习有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 设置
, 语言
, 类
, 用户
, 获取
访问页面
go语言实现页面的跳转、js实现访问一个页面、js实现页面跳转、ajax实现页面局部刷新、论坛页面如何实现,以便于您获取更多的相关知识。

时间: 2024-09-11 02:42:18

php实现获取及设置用户访问页面语言类_php技巧的相关文章

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

 本文实例讲述了php实现获取及设置用户访问页面语言类,分享给大家供大家参考.具体分析如下: 该实例User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language.根据用户选择的语言显示对应的页面(英文,简体中文,繁体中文) UserLang.class.php类文件如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

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

User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language.根据用户选择的语言显示对应的页面(英文,简体中文,繁体中文) UserLang.class.php <?php /** User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language * Date: 2014-05-26 * Author: fdipzone * Ver: 1.0 * * Fun

本机搭建tomcat服务器 架设网站 局域网内用户访问 页面动态加载的数据无法加载

问题描述 本机搭建tomcat服务器 架设网站 局域网内用户访问 页面动态加载的数据无法加载 本机搭建的tomcat服务器,数据库.局域网内用户访问系统页面,ajax动态加载数据无法显示.如图: [用户类型]是ajax动态加载的!本机页面正常,局域网内用户只有页面,没数据! 解决方案 你的代码呢?用chrome开发工具或者firebug看看报错了没有,ajax返回了什么内容. 解决方案二: 浏览器log中有没有错误,ajax打印下返回结果

帝国cms实现用户访问页面自动生成html

原因: 帝国cms在批量生成文件的时候非常慢.更改了一次模板,往往要更新半天. 思路: 删除所有html->利用nginx匹配未生成的html->php生成html 如果nginx 检测html已经生成,则直接展示,不跳转到php 实现:  代码如下 复制代码 location /{ alias /home/web/xxx.com/; if (!-e $request_filename) { rewrite /(.*)/(.*).html$ /chtml.php?classid=1&i

PHP获取当前url的具体方法全面解析_php技巧

我们今天向大家介绍的是有关PHP获取当前url的函数的具体方法,通过对这个函数方法的了解,进一步加深我们对PHP语言的认识,提高我们的学习水平. PHP 5.0构造函数的实例讲解 PHP获取当前url的具体方法如下: $url_this = "'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];; echo $url_this; 则显示

用php来改写404错误页让你的页面更友好_php技巧

404错误,很多人都知道,如果要访问的url不存在的时候就读取显示这个页面.以往在处理404方面我们通常的做法是要麽简单写几行字,而有心人士或许还会对其稍加美化,另外一少部份想投机取巧的傢伙甚至用meta标籤做延时转向,仅此而已,其实404还可以帮我们做很多事,这就是今天我们要讨论的重点了. 首先我来说明一下我的404究竟都能帮我做哪些事情: 1.他可以告诉我何时来自哪裡的用户要访问我哪个URL结果失败了. 2.他能告诉我对方为何要访问这个URL,并帮助我优化网站 3.他能告诉我对方的IP地址

如何阻止网站被恶意反向代理访问(防网站镜像)_php技巧

什么是反向代理? 先说说正向代理的概念: 正向代理,也就是传说中的代理,他的工作原理就像一个跳板.简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器.这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我.从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站. 结论就是,正向代理是一个位于客户端和原始服务器(origin

php数据访问之查询关键字_php技巧

本文实例为大家分享了php查询操作的实现代码,供大家参考,具体内容如下 一.一个关键字查询 主页面: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>汽车查询页面</title> </head> <body> <h1>汽车查询页面</

php curl获取网页内容(IPV6下超时)的解决办法_php技巧

原因:在程序中我对curl获取内容都作了较为严格的超时限制,所以就会造成无法获取内容的问题. 解决方法:设置默认访问为ipv4.php的curl设置方法如下: 复制代码 代码如下: <?php/*** IPV6下curl超时问题*/$ch = curl_init();curl_setopt ($ch, CURLOPT_URL, $url);curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);//设置curl默认访问为IPv4if(defined('CU