萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php輸入數據統一類實例

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 <?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); } } } ?>
copyright © 萬盛學電腦網 all rights reserved