代码是N年前第一次接触php时,一个小伙伴给我写的,一直用到现在,今天需要稍微丰富一点的功能,就花了点时间改了下,_be()是小伙伴写的核心代码,没有改动,也可以单独拿出来直接用。 直接上代码
1 /** 2 * PHP数据传输接收类 3 * @author 33 4 * @modify me 5 * 包含功能:1.获取传输数据,2.过滤数据不安全内容,3.验证数据指定类型 6 * 使用示例:be::get(‘key‘); be::post(‘key‘); 或 be::get(‘key‘,‘number‘); be::post(‘key‘,2); 7 */ 8 class be { 9 private static $method = ‘get‘; //传输方式 10 private static $param = ‘‘; //传输参数 11 private static $value = ‘‘; //传输内容 12 private static $typeof = false; //检测内容类型 13 14 public static function get($param, $typeof = false) { 15 self::$typeof = $typeof; 16 return self::_be(‘get‘,$param); 17 } 18 public static function post($param, $typeof = false) { 19 self::$typeof = $typeof; 20 return self::_be(‘post‘,$param); 21 } 22 private static function _be($method,$param) { 23 ini_set("magic_quotes_runtime", 0); 24 $magicq= get_magic_quotes_gpc(); 25 switch ($method) { 26 case ‘post‘: 27 $res=isset($_POST[$param]) ? $magicq?$_POST[$param]:addslashes($_POST[$param]) : ‘‘; 28 break; 29 case ‘get‘: 30 $res=isset($_GET[$param]) ? $magicq?$_GET[$param]:addslashes($_GET[$param]) : ‘‘; 31 break; 32 case ‘arr‘: 33 $arr =isset($_POST[$param]) ? $_POST[$param] : ‘‘; 34 if($arr=="") { 35 $value="0"; 36 } else { 37 for ($i=0;$i<count($arr);$i++) { 38 $res=implode(‘,‘,$arr); 39 } 40 } 41 break; 42 default: 43 $res=isset($_REQUEST[$param]) ? $magicq?$_REQUEST[$param]:addslashes($_REQUEST[$param]) : ‘‘; 44 break; 45 } 46 if(self::$typeof == false) { 47 return trim($res) == false ? false : $res; 48 } else { 49 return trim($res) == false ? false : self::typeof($res,self::$typeof); 50 } 51 } 52 private static function typeof($value,$typeof) { 53 $is = false; 54 if($typeof == "number" || $typeof == 1){if(is_numeric($value)){$is = true;}} //纯数字类型 55 if($typeof == "notcn" || $typeof == 2){if(preg_match(‘/[\x7f-\xff]/‘, $value)){$is = true;}} //不允许包含中文 56 if($typeof == "allcn" || $typeof == 3){if(preg_match(‘/^[\x7f-\xff]+$/‘, $value)){$is = true;}} //纯中文类型 57 return $is ? $value : $is; 58 } 59 }
使用例子:
比如需要获取一个username的数据 :
1 $user = be::get(‘username‘); //获取GET数据 2 $user = be::post(‘username‘); //获取POST数据
需要同时验证数据类型的话:参数后面加验证条件 就可以
1 $user = be::get(‘username‘,‘notcn‘); //不允许包含中文 2 //或 3 $user = be::get(‘username‘,2); //不允许包含中文
简单的获取GET/POST数据类例子,仅供参考 使用,可二次开发
原文:https://www.cnblogs.com/bremm/p/12558437.html