zoukankan      html  css  js  c++  java
  • PHP中的表单传值

     前言:试想一下如果PHP没有了表单传值,那么就相当于一个没有表达能力的人,因此表单传值在php中是相当重要的,但是不难,接下来我们一起来探讨一下吧------>

    (一)什么是表单传值  

      概念:表单传值指的是通过表单(如果还不知道表单的小伙伴要看看html的知识)构建数据,传递给服务器。

    (二)表单传值的方式(有且只有两种)

      

    get方式
      
      <form method="get"> xxxx </form>
    get方式
      
      <form method="post">  xxxx  </form>

    (三)PHP接收表单传值数据的方法

    接收post传值的方式:
    
        var_dump($_POST);
    接收get传值的方式:
    
        var_dump($_GET);
    接收get/post传值的方式:
    
        var_dump($_REQUEST);

    小结:

      1.要想能够成功接收传递的参数,那么input属性里面必须要加name,

      2.服务器接收到的值是以name为关联数组索引的一个数组

      3.如果想要接收复选框值,那么name=xxx[],需要加上中括号

      4.单选框时候需要有相同的name值

    (四)POST方式与GET方式的区别

    - GET方式具有可见性,而POST方式不具有可见性;
    - 基于第一点,POST方式在安全性上比GET方式要高一些;
    - 在传输的数据量上,POST方式可能比GET方式要大;
    - 在支持的数据类型上,GET方式仅支持ASCII码数据类型,POST方式无限制;

    (五)文件上传

      概念:文件上传指的是将文件从本地传输到指定的服务器。

    构造表单上传的三要素
    
        1.必须是post方式
    
    
        2.必须要在form表单属性里面加 enctype="multipart/form-data"
    
    
        3.必须加<input type="file">
    接收表单上传文件的参数
    
    
        1.  $_FILES  接收用户上传文件的数组变量

        参数包含6部分参数: name type tmp_name error size 为索引的索引数组
          
          其中error包含了6个码值(0-7除了5)的错误提示
          tmp_name 临时存放的文件(会过期,因此转移这个文件就达到了文件上传的效果)

      2. move_uploaded_file(文件临时的路径,转移到的路径)
    同名文件的上传:   思路(把name=xxx[])
    
    不同名文件上传:   思路(构造name不同名字就可以了)

    (六)封装文件上传的方法

    <?php
    
    function upFile($file){ 
        
        #检查系统错误
        switch ( $file['error'] ){
            case 1:
                echo '文件上传的大小超出了系统配置文件的限制大小~'; 
            return false;
            case 2:
                echo '文件上传的大小超过了浏览器的限制!'; 
            return false;
            case 3:
                echo '文件没有完全上传完!'; 
            return false;
            case 4:
                echo '用户没有选择需要上传的文件哟~'; 
            return false;
            case 6:
                case 7:
                echo '服务器繁忙,请客官稍候再试~'; 
            return false;
        }
    
        #检查逻辑错误
        //检查格式类型是否符合要求
        $limitType = ['image/jpeg', 'image/png'];//定义出允许的格式类型
        if( !in_array($file['type'], $limitType) ){//如果上传的文件格式类型不在允许的范围内,则给出提示信息,并且中止函数的执行
            echo '您上传的文件格式类型不符合要求,只能上传' . implode('或', $limitType) . '格式的文件'; 
            return false;
        }
    
        //检查文件的大小是否符合逻辑要求
        $limitSize = 250 * 1024;//限定的大小为250KB
        if( $file['size']>$limitSize ){//如果上传的文件大小超过了限定的大小,则给出提示,并且中止函数的执行
            echo '您上传的文件超过' . ($limitSize/1024) . 'KB的大小,请重新选择上传的文件!'; 
            return false;
        }
    
        #构建绝对不重复的文件名
        $fileName = uniqid('img_') . date('YmdHis') . '_' . mt_rand(0, 10000) . strstr($file['name'], '.');
        $path = 'F:/home/class/day11/code/upload/';
        $wholeFileName = $path . $fileName;
    
        #转移文件到指定目录
        $re = move_uploaded_file($file['tmp_name'], $wholeFileName);
    
        if( $re ){//上传成功
            echo '恭喜你,文件上传成功';
            return true;
        }else{//上传失败
            echo '系统繁忙,请稍候再试!'; 
            return false;
        }
    }
    IT这条路,当你懂得越多的时候,那么你不懂的也就会越多了.
  • 相关阅读:
    “数码骑劫”蠕虫病毒席卷3大洲? 狼人:
    病毒致英国国防部系统崩溃至今未完全恢复 狼人:
    安全专家称发现防护零日攻击新方法 狼人:
    观点:迄今为止 虚拟化安全领域一片空白 狼人:
    黑客利用弹出窗口冒充安全警告发起钓鱼攻击 狼人:
    工信部提醒消费者谨防手机预置恶意插件 狼人:
    美最大招聘网站Monster用户信息被窃 狼人:
    新闻周刊中文网遭黑客攻击 首页被挂马 狼人:
    易宝支付声明称遭遇大规模黑客攻击 狼人:
    木马病毒节日活跃 过年上网提防“四害” 狼人:
  • 原文地址:https://www.cnblogs.com/learningPHP-students2018/p/10138179.html
Copyright © 2011-2022 走看看