Maison >développement back-end >tutoriel php >Comment obtenir/définir la classe de langue de la page d'accès utilisateur via php
La classe de langue utilisateur obtient/définit la langue de la page consultée par l'utilisateur. Si l'utilisateur ne définit pas la langue d'accès, la langue d'acceptation est lue. Afficher la page correspondante selon la langue sélectionnée par l'utilisateur (Anglais, Chinois simplifié, Chinois traditionnel)
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 ?>
démo
<?php require "UserLang.class.php"; $obj = new UserLang('sitelang', 3600); echo $obj->get().'<br>'; ?>
Cet article explique comment obtenir/définir la classe de langue de la page d'accès utilisateur via php Pour plus de contenu connexe, veuillez faire attention au site Web chinois de php.
Recommandations associées :
Comment calculer le chemin relatif entre deux fichiers via php
À propos des méthodes php de formatage des données JSON
Contenu connexe sur le verrouillage en lecture-écriture de la session php
<br/>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!