网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 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程序设计有所帮助。
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/14 11:05:26