php输入数据统一类实例


Posted in PHP onFebruary 23, 2015

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
快速配置PHPMyAdmin方法
Jun 05 PHP
常用的php对象类型判断
Aug 27 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
PHP序列号生成函数和字符串替换函数代码
Jun 07 PHP
用Simple Excel导出xls实现方法
Dec 06 PHP
php解压文件代码实现php在线解压
Feb 13 PHP
变量在 PHP7 内部的实现(一)
Dec 21 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
Dec 25 PHP
PHP浮点比较大小的方法
Feb 14 PHP
PHP数组函数知识汇总
May 12 PHP
php使用glob函数遍历文件和目录详解
Sep 23 PHP
php获取微信基础接口凭证Access_token
Aug 23 PHP
php简单定时执行任务的实现方法
Feb 23 #PHP
Yii学习总结之数据访问对象 (DAO)
Feb 22 #PHP
Yii学习总结之安装配置
Feb 22 #PHP
使用php的HTTP请求的库Requests实现美女图片墙
Feb 22 #PHP
十幅图告诉你什么是PHP引用
Feb 22 #PHP
PHP的引用详解
Feb 22 #PHP
PHP实现加密的几种方式介绍
Feb 22 #PHP
You might like
用PHP读注册表
2006/10/09 PHP
php的curl实现get和post的代码
2008/08/23 PHP
PHP DataGrid 实现代码
2009/08/12 PHP
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
使用js在页面中绘制表格核心代码
2013/09/16 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
2014/10/28 Javascript
jQuery中removeData()方法用法实例
2014/12/27 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
每天一篇javascript学习小结(String对象)
2015/11/18 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
学习vue.js表单控件绑定操作
2016/12/05 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
jQuery中内容过滤器简单用法示例
2018/03/31 jQuery
vue点击页面空白处实现保存功能
2019/11/06 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
2017/05/08 Python
Python字典数据对象拆分的简单实现方法
2017/12/05 Python
Python3匿名函数用法示例
2018/07/25 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
2014年圣诞节倒计时网页的制作过程
2014/12/05 HTML / CSS
Ibatis中如何提高SQL Map的性能
2013/05/11 面试题
租车协议书范本
2014/04/22 职场文书
银行进社区活动总结
2014/07/07 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
幼儿教师年度个人总结
2015/02/05 职场文书
法律讲堂观后感
2015/06/11 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
阿里云服务器Ubuntu 20.04上安装Odoo 15
2022/05/20 Servers
python 镜像环境搭建总结
2022/09/23 Python