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

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

本文實(shí)例講述了php輸入數(shù)據(jù)統(tǒng)一類。分享給大家供大家參考。具體如下:

<?php

class cls_request{

private $getdata;//存儲(chǔ)get的數(shù)據(jù)

private $postdata;//存儲(chǔ)post的數(shù)據(jù)

private $requestdata;//存儲(chǔ)request的數(shù)據(jù)

private $filedata;//存儲(chǔ)file的數(shù)據(jù)

private $cookiedata;//存儲(chǔ)cooki

static $_instance;//本類的實(shí)例

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對(duì)象

public static function get_instance(){

if(!(self::$_instance instanceof self)){

self::$_instance = new self();

}

return self::$_instance;

}

//獲取GET傳遞過(guò)來(lái)的數(shù)值變量

public function get_num($key){

if(!isset($this->getdata[$key])){

return false;

}

return $this->to_num($this->getdata[$key]);

}

//獲取POST傳遞過(guò)來(lái)的數(shù)據(jù)變量

public function post_num($key){

if(!isset($this->postdata[$key])){

return false;

}

return $this->to_num($this->postdata[$key]);

}

//獲取Request傳遞過(guò)來(lái)的數(shù)值變量

public function request_num($key){

if(!isset($this->requestdata[$key])){

return false;

}

return $this->to_num($this->requestdata[$key]);

}

//獲取Cookie傳遞過(guò)來(lái)的數(shù)值變量

public function cookie_num($key){

if(!isset($this->cookiedata[$key])){

return false;

}

return $this->to_num($this->cookiedata[$key]);

}

//獲取File傳遞過(guò)來(lái)的數(shù)值變量

public function filedata($key){

return $this->filedata[$key];//返回?cái)?shù)組

}

//獲取GET傳遞過(guò)來(lái)的字符串變量

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傳遞過(guò)來(lái)的字符串變量

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傳遞過(guò)來(lái)的字符串變量

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傳遞過(guò)來(lái)的字符串變量

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ù)組,

*默認(rèn)從0位開(kāi)始,按順序下去

*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;

}

}

//過(guò)換過(guò)濾字符串

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實(shí)體

}

return $data;

}else{//普通字符串

return htmlspecialchars($data,ENT_QUOTES);

}

}

}

?>

希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:php輸入數(shù)據(jù)統(tǒng)一類實(shí)例
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

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