php输入数据统一类实例

yipeiwu_com7年前PHP代码库

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

<?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程序设计有所帮助。

相关文章

PHP经典算法集锦【经典收藏】

本文实例总结了PHP经典算法。分享给大家供大家参考,具体如下: 1、首先来画个菱形玩玩,很多人学C时在书上都画过,咱们用PHP画下,画了一半。 思路:多少行for一次,然后在里面空格和星...

PHP生成唯一订单号

在网上找了一番,发现这位同学的想法挺不错的,redtamo,具体的请稳步过去看看,我作简要概述,该方法用上了英文字母、年月日、Unix 时间戳和微秒数、随机数,重复的可能性大大降低,还是...

Thinkphp框架开发移动端接口(2)

接着上一篇介绍Thinkphp框架开发移动端接口(1),另外我们还可以通过ThinkPHP实现移动端访问自动切换主题模板,这样也可以做到移动端访问 ThinkPHP的模板主题机制,如果只...

浅谈PHP Extension的开发——基础篇第1/2页

浅谈PHP Extension的开发——基础篇第1/2页

摘要&引言 PHP是当前应用非常广泛的一门语言,从国外的Facebook、Twitter到国内的淘宝、腾讯、百度再到互联网上林林总总的各种大中小型网站都能见到它的身影。PHP的成功,应该...

通达OA公共代码 php常用检测函数

check_type.php(使用类型检验函数) 复制代码 代码如下: <?php /*********************/ /* */ /* Version : 5.1.0...