PHP语言 获取、设置用户访问页面语言类
小标 2018-07-12 来源 : 阅读 1090 评论 0

摘要:本文主要向大家介绍了PHP语言 获取、设置用户访问页面语言类,通过具体的实例向大家展示,希望对大家学习php语言有所帮助。

本文主要向大家介绍了PHP语言 获取、设置用户访问页面语言类,通过具体的实例向大家展示,希望对大家学习php语言有所帮助。

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

 

UserLang.class.php

[php] view plain copy

1. <?php  

2. /** User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访问语言,则读取Accept-Language 

3. *   Date:   2014-05-26 

4. *   Author: fdipzone 

5. *   Ver:    1.0 

6. * 

7. *   Func: 

8. *   public  get               获取用户访问语言 

9. *   public  set               设置用户访问语言 

10. *   private getAcceptLanguage 获取HTTP_ACCEPT_LANGUAGE 

11. */  

12.   

13. class UserLang{ // class start  

14.   

15.     private $name = 'userlang'; // cookie name  

16.     private $expire = 2592000;  // cookie expire 30 days  

17.   

18.   

19.     /** 初始化 

20.     * @param String $name   cookie name 

21.     * @param int    $expire cookie expire 

22.     */  

23.     public function __construct($name='', $expire=null){  

24.   

25.         // 设置cookie name  

26.         if($name!=''){  

27.             $this->name = $name;  

28.         }  

29.   

30.         // 设置cookie expire  

31.         if(is_numeric($expire) && $expire>0){  

32.             $this->expire = intval($expire);  

33.         }  

34.   

35.     }  

36.   

37.   

38.     /** 获取用户访问语言 */  

39.     public function get(){  

40.   

41.         // 判断用户是否有设置过语言  

42.         if(isset($_COOKIE[$this->name])){  

43.             $lang = $_COOKIE[$this->name];  

44.         }else{  

45.             $lang = $this->getAcceptLanguage();  

46.         }  

47.   

48.         return $lang;  

49.   

50.     }  

51.   

52.   

53.     /** 设置用户访问语言 

54.     * @param String $lang 用户访问语言 

55.     */  

56.     public function set($lang=''){  

57.   

58.         $lang = strtolower($lang);  

59.   

60.         // 只能是英文,简体中文,繁体中文  

61.         if(in_array($lang, array('en','sc','tc'))){  

62.             setcookie($this->name, $lang, time()+$this->expire);  

63.         }  

64.   

65.     }  

66.   

67.   

68.     /** 获取HTTP_ACCEPT_LANGUAGE */  

69.     private function getAcceptLanguage(){  

70.   

71.         $lang = strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']);  

72.   

73.         if(in_array(substr($lang,0,5), array('zh-tw','zh_hk'))){  

74.             $lang = 'tc';  

75.         }elseif(in_array(substr($lang,0,5), array('zh-cn','zh-sg'))){  

76.             $lang = 'sc';  

77.         }else{  

78.             $lang = 'en';  

79.         }  

80.   

81.         return $lang;  

82.   

83.     }  

84.   

85.   

86. } // class end  

87.   

88. ?>  


demo

[php] view plain copy

1. <?php  

2.   

3. require "UserLang.class.php";  

4.   

5. $obj = new UserLang('sitelang', 3600);  

6. echo $obj->get().'<br>';  

7.   

8. ?>  

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言PHP频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程