巅云智能建站平台搭建版(创业门户版)火爆上线,终身授权!新增:文章智能采集+全站真静态打包+城市分站+智能小程序+非法词过滤+H5自适应+智能链词等功能功能详情
帮助文档Help

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

一佰互联网站制作(www.yinxi.net) 发布日期 2019-04-28 13:46:30 浏览数: 130

本文实例讲述了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开发和域名注册及虚拟主机服务经验,提供的自助建站服务更是全国有名。近年来还整合团队优势自主开发了可视化多用户”巅云建站系统“3.0平台版,拖拽排版网站制作设计,轻松实现pc站、手机微网站、小程序、APP一体化全网营销网站建设 ,已成功的为全国上百家网络公司提供自助建站平台搭建服务。

相关新闻more

30
04月
PHP反转字符串函数strrev()函数的用

呵呵,好玩吧,一真的想做一个函数百科网,只是由于我的精力有限了,只写WEB开发笔记,一天一篇文章的更新就已经够忙了,因为,我的职业也不只是写... >>详情

26
04月
详解php用curl调用接口方法,get和p

首先是客户端执行方法ApiModel.php:<?php /** * 模拟post进行url请求 * @param s... >>详情

28
04月
php操作xml入门之xml标签的属性分析

本文实例讲述了php操作xml入门之xml标签的属性。分享给大家供大家参考。具体分析如下:复制代码 代码如下:<?xml ve... >>详情

13
12月
设计网站如何避免与别人雷同

因为现在网络上的公司网站相当多,并且设计网站风格都是十分雷同,如果企业的网站所设计出来的风格与别人网站太像的话,就不能吸引关注的,这样就达不... >>详情

高端网站建设

美工兼顾SEO,为企业电子商务营销助力!

电话:

023-85725751
建站

产品

域名注册 虚拟主机 云服务器 企业邮局
智能建站 APP打包 微站/小程序 创业平台
网站推广 媒体营销 智能采集 AI机器人
400电话 短信营销 店销机器人
私人定制 门户网站