php輸入數(shù)據(jù)統(tǒng)一類實例
來源:易賢網(wǎng) 閱讀:718 次 日期:2015-03-13 10:13:37
溫馨提示:易賢網(wǎng)小編為您整理了“php輸入數(shù)據(jù)統(tǒng)一類實例”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了php輸入數(shù)據(jù)統(tǒng)一類,實例分析了針對輸入數(shù)據(jù)的各種轉換技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了php輸入數(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);

//刪除字符串兩端空白及其它預定義字符

}

}

}

//轉化數(shù)字

private function to_num($num){

if(is_numeric($num)){

return intval($num);//將變量轉為整數(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);

//把一些預定義字符轉化為html實體

}

return $data;

}else{//普通字符串

return htmlspecialchars($data,ENT_QUOTES);

}

}

}

?>

希望本文所述對大家的php程序設計有所幫助。

更多信息請查看IT技術專欄

更多信息請查看網(wǎng)絡編程
易賢網(wǎng)手機網(wǎng)站地址:php輸入數(shù)據(jù)統(tǒng)一類實例

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)