您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
这篇文章主要介绍了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如何实现输入数据统一类”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。