php输入数据统一类实例
来源: 阅读:535 次 日期:2015-03-13 10:13:37
温馨提示: 小编为您整理了“php输入数据统一类实例”,方便广大网友查阅!

这篇文章主要介绍了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程序设计有所帮助。

更多信息请查看IT技术专栏

更多信息请查看网络编程
手机网站地址:php输入数据统一类实例
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map