本文實例講述了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
|
<?php 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程序設計有所幫助。