Maison >développement back-end >tutoriel php >php输入数据统一类实例_PHP教程

php输入数据统一类实例_PHP教程

WBOY
WBOYoriginal
2016-07-13 10:04:00803parcourir

php输入数据统一类实例

 这篇文章主要介绍了php输入数据统一类,实例分析了针对输入数据的各种转换技巧,具有一定参考借鉴价值,需要的朋友可以参考下

 

 

本文实例讲述了php输入数据统一类。分享给大家供大家参考。具体如下:

?

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

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

class cls_request{

private $getdata;//存储get的数据

private $postdata;//存储post的数据

private $requestdata;//存储request的数据

private $filedata;//存储file的数据

private $cookiedata;//存储cooki

static $_instance;//本类的实例

 

private function __construct(){

$this->getdata = self::format_data($_GET);

$this->postdata = self::format_data($_POST);

$this->requestdata = array_merge($this->getdata,$this->postdata);

$this->cookiedata = self::format_data($_COOKIE);

$this->filedata = self::format_data($_FILES);

}

//类的初始化,返回cls_request对象

public static function get_instance(){

if(!(self::$_instance instanceof self)){

self::$_instance = new self();

}

return self::$_instance;

}

//获取GET传递过来的数值变量

public function get_num($key){

if(!isset($this->getdata[$key])){

return false;

}

return $this->to_num($this->getdata[$key]);

}

//获取POST传递过来的数据变量

public function post_num($key){

if(!isset($this->postdata[$key])){

return false;

}

return $this->to_num($this->postdata[$key]);

}

//获取Request传递过来的数值变量

public function request_num($key){

if(!isset($this->requestdata[$key])){

return false;

}

return $this->to_num($this->requestdata[$key]);

}

//获取Cookie传递过来的数值变量

public function cookie_num($key){

if(!isset($this->cookiedata[$key])){

return false;

}

return $this->to_num($this->cookiedata[$key]);

}

//获取File传递过来的数值变量

public function filedata($key){

return $this->filedata[$key];//返回数组

}

//获取GET传递过来的字符串变量

public function get_string($key,$isfilter=true){

if(!isset($this->getdata[$key])){

return false;

}

if($isfilter){

return $this->filter_string($this->getdata[$key]);

}else{

return $this->getdata[$key];

}

}

//获取POST传递过来的字符串变量

public function post_string($key,$isfilter=true){

if(!isset($this->postdata[$key])){

return false;

}

if($isfilter){

return $this->filter_string($this->postdata[$key]);

}else{

return $this->postdata[$key];

}

}

//获取Request传递过来的字符串变量

public function request_string($key,$isfilter=true){

if(!isset($this->requestdata[$key])){

return false;

}

if($isfilter){

return $this->filter_string($this->requestdata[$key]);

}else{

return $this->requestdata[$key];

}

}

//获取Cookie传递过来的字符串变量

public function cookie_string($key,$isfilter=true){

if(!isset($this->cookiedata[$key])){

return false;

}

if($isfilter){

return $this->filter_string($this->cookiedata[$key]);

}else{

return $this->cookiedata[$key];

}

}

//格式化数据

private function format_data($data){

$result = array();

if(!is_array($data)){

$data = array();

}

/*

*list()表示用数组的数值给变量赋值。只用于数字索引的数组,

*默认从0位开始,按顺序下去

*each()

*/

while(list($key,$value) = each($data)){//不太明白

//处理checkbox之类的数据

if(is_array($value)){

$result[$key]=$value;

}else{//普通数据

$result[$key] = trim($value);

//删除字符串两端空白及其它预定义字符

}

}

}

//转化数字

private function to_num($num){

if(is_numeric($num)){

return intval($num);//将变量转为整数

}else{

return false;

}

}

//过换过滤字符串

private function filter_string($data){

if($data===null){

return false;

}

if(is_array($data)){

foreach($data as $k=>$v){

$data[$k] = htmlspecialchars($v,ENT_QUOTES);

//把一些预定义字符转化为html实体

}

return $data;

}else{//普通字符串

return htmlspecialchars($data,ENT_QUOTES);

}

}

}

?>

希望本文所述对大家的php程序设计有所帮助。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/966927.htmlTechArticlephp输入数据统一类实例 这篇文章主要介绍了php输入数据统一类,实例分析了针对输入数据的各种转换技巧,具有一定参考借鉴价值,需要的朋友...
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn