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 相关文章推荐
php分页函数
Jul 08 PHP
Windows下PHP的任意文件执行漏洞
Oct 09 PHP
同时提取多条新闻中的文本一例
Oct 09 PHP
PHP中cookies使用指南
Mar 16 PHP
php记录代码执行时间(实现代码)
Jul 05 PHP
初识Laravel
Oct 30 PHP
php上传图片客户端和服务器端实现方法
Mar 30 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
Aug 10 PHP
PHP实现统计所有字符在字符串中出现次数的方法
Oct 17 PHP
浅谈PHP进程管理
Mar 08 PHP
Smarty缓存机制实例详解【三种缓存方式】
Jul 20 PHP
laravel中Redis队列监听中断的分析
Sep 14 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 split汉字
2009/06/05 PHP
php addslashes 函数详细分析说明
2009/06/23 PHP
php中数组首字符过滤功能代码
2012/07/31 PHP
php中DOMElement操作xml文档实例演示
2013/03/26 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
php 不使用js实现页面跳转
2014/02/11 PHP
php解析url并得到url中的参数及获取url参数的四种方式
2015/10/26 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
PHP封装的page分页类定义与用法完整示例
2018/12/24 PHP
PHP让网站移动访问更加友好方法
2019/02/14 PHP
jquery实现网站超链接和图片提示效果
2013/03/21 Javascript
js的.innerHTML = &quot;&quot;IE9下显示有错误的解决方法
2013/09/16 Javascript
js输出阴历、阳历、年份、月份、周示例代码
2014/01/29 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
javascript检查浏览器是否已经启用XX功能
2015/07/10 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
Angular2安装angular-cli
2017/05/21 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
js实现图片粘贴上传到服务器并展示的实例
2017/11/08 Javascript
webpack分离css单独打包的方法
2018/06/12 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
React 无状态组件(Stateless Component) 与高阶组件
2018/08/14 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
jQuery选择器之基本过滤选择器用法实例分析
2019/02/19 jQuery
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
python写日志文件操作类与应用示例
2019/07/01 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
2020/02/27 Python
幼儿园教学管理制度
2014/02/04 职场文书
小学生勤俭节约倡议书
2015/04/29 职场文书
催款函怎么写
2015/06/24 职场文书