如何通過php 擷取/設定使用者訪問頁面語言類

來源:互聯網
上載者:User
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

<?phprequire "UserLang.class.php";$obj = new UserLang('sitelang', 3600);echo $obj->get().'<br>';?>

本篇文章講解如何通過php 擷取/設定使用者訪問頁面語言類,更多相關內容請關注php中文網。

相關推薦:

通過php 計算兩個檔案之間的相對路徑方法

關於php JSON資料格式化的方法

關於php session 讀寫鎖的相關內容


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.