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 Captcha 驗證碼類
- php 替換敏感字符串
- php返回數據格式化類
- php XML文件解釋類
- php CSS Update Class
- PHPMailer - PHP email transport class
- PHP 遍歷文件夾及文件類及處理類
- 自動登入google play下載app report
- php click captcha 驗證碼類
- php 獲取頁面中的指定內容類
- php 支持斷點續傳的文件下載類
- php 縮略圖生成類,支持imagemagick及gd庫兩種處理
- php 根據url自動生成縮略圖
- php 過濾html標記屬性類
- php HTTP請求類,支持GET,POST,Multipart/form-data
- php Cookies 操作類
- php 密碼生成類
- php main 與 iframe 相互通訊類(同域/跨域)
- php 根據url自動生成縮略圖,并處理高并發問題
- php Timer 頁面運行時間監測類
- php 雙向隊列類
- php 導出CSV抽象類
- php zip文件內容比較類
- php 獲取/設置用戶訪問頁面語言類
- php 獲取Youtube某個User所有Video信息
- php 字符編碼轉換類,支持ANSI、Unicode、Unicode big endian、UTF-8、UTF-8+Bom 互相轉換
- php 版本處理類