PHP implements obtaining and setting the language class of the user access page_PHP tutorial

WBOY
Release: 2016-07-13 10:17:56
Original
951 people have browsed it

php implements obtaining and setting the language class of the user access page

This article describes the example of php implementing obtaining and setting the language class of the user access page, and shares it with everyone for your reference. The specific analysis is as follows:

The User Language Class of this instance gets/sets the language of the page accessed by the user. If the user does not set the access language, Accept-Language is read. Display the corresponding page according to the language selected by the user (English, Simplified Chinese, Traditional Chinese)

UserLang.class.php class file is as follows:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

/**User Language Class gets/sets the language of the page accessed by the user. If the user does not set the access language, read Accept-Language

* Date: 2014-05-26

* Author: fdipzone

* Ver: 1.0

*

* Func:

* public get Get user access language

* public set Set user access language

* private getAcceptLanguage Get HTTP_ACCEPT_LANGUAGE

*/

class UserLang{ // class start

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

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

/**Initialization

* @param String $name cookie name

* @param int $expire cookie expire

*/

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

// Set cookie name

if($name!=''){

$this->name = $name;

}

// Set cookie expire

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

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

}

}

/**Get user access language*/

public function get(){

// Determine whether the user has set a language

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

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

}else{

$lang = $this->getAcceptLanguage();

}

return $lang;

}

/**Set user access language

* @param String $lang User access language

*/

public function set($lang=''){

$lang = strtolower($lang);

// Can only be in English, Simplified Chinese, Traditional Chinese

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

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

}

}

/**Get 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

?>

The demo sample program is as follows:

1

2

3

4

5

6

7

require "UserLang.class.php";

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

echo $obj->get().'
'; 

?>

1 2 3

4

6 7
require "UserLang.class.php";

$obj = new UserLang('sitelang', 3600); <🎜> <🎜>echo $obj->get().'
'; ?> http://www.bkjia.com/PHPjc/886548.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/886548.htmlTechArticlephp implements obtaining and setting the language class of the user access page. This article describes the php implementation of obtaining and setting the language class of the user access page. , shared with everyone for your reference. The specific analysis is as follows:...
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template