溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php如何實現(xiàn)輸入數(shù)據(jù)統(tǒng)一類

發(fā)布時間:2021-09-02 11:12:12 來源:億速云 閱讀:122 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了php如何實現(xiàn)輸入數(shù)據(jù)統(tǒng)一類,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體如下:

<?php
class cls_request{
 private $getdata;//存儲get的數(shù)據(jù)
 private $postdata;//存儲post的數(shù)據(jù)
 private $requestdata;//存儲request的數(shù)據(jù)
 private $filedata;//存儲file的數(shù)據(jù)
 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傳遞過來的數(shù)值變量
 public function get_num($key){
 if(!isset($this->getdata[$key])){
  return false;
 }
 return $this->to_num($this->getdata[$key]);
 }
 //獲取POST傳遞過來的數(shù)據(jù)變量
 public function post_num($key){
 if(!isset($this->postdata[$key])){
  return false;
 }
 return $this->to_num($this->postdata[$key]);
 }
 //獲取Request傳遞過來的數(shù)值變量
 public function request_num($key){
 if(!isset($this->requestdata[$key])){
  return false;
 }
 return $this->to_num($this->requestdata[$key]);
 }
 //獲取Cookie傳遞過來的數(shù)值變量
 public function cookie_num($key){
 if(!isset($this->cookiedata[$key])){
  return false;
 }
 return $this->to_num($this->cookiedata[$key]);
 }
 //獲取File傳遞過來的數(shù)值變量
 public function filedata($key){
 return $this->filedata[$key];//返回數(shù)組
 }
 //獲取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];
 }
 }
 //格式化數(shù)據(jù)
 private function format_data($data){
 $result = array();
 if(!is_array($data)){
  $data = array();
 }
 /*
 *list()表示用數(shù)組的數(shù)值給變量賦值。只用于數(shù)字索引的數(shù)組,
 *默認從0位開始,按順序下去
 *each()
 */
 while(list($key,$value) = each($data)){//不太明白
  //處理checkbox之類的數(shù)據(jù)
  if(is_array($value)){
  $result[$key]=$value;
  }else{//普通數(shù)據(jù)
  $result[$key] = trim($value);
  //刪除字符串兩端空白及其它預(yù)定義字符
  }
 }
 }
 //轉(zhuǎn)化數(shù)字
 private function to_num($num){
 if(is_numeric($num)){
  return intval($num);//將變量轉(zhuǎn)為整數(shù)
 }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);
  //把一些預(yù)定義字符轉(zhuǎn)化為html實體
  }
  return $data;
 }else{//普通字符串
  return htmlspecialchars($data,ENT_QUOTES);
 }
 }
}
?>

感謝你能夠認真閱讀完這篇文章,希望小編分享的“php如何實現(xiàn)輸入數(shù)據(jù)統(tǒng)一類”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI