PHP_GET数据获取

PHP中,如果想要获取通过get方法提交的数据,可以通过$_GET对象来获取(虽然参数在地址栏中可以查看)

  • HTML代码: 下面就是一个简单的表单代码,将数据提交到01.php,使用get的方式

    <form action="01.php" method="get" >
      <label for="">姓名:
          <input type="text" name= "userName"></label>
          <br/>
      <label for="">邮箱:
          <input type="text" name= "userEmail"></label>
          <br/>
          <input type="submit" name="">
    </form>

     

  • PHP代码:

<?php 
    echo "<h1>GET_PAGE</h1>";
    echo \'userName:\'.$_GET[\'userName\'];
    echo \'<br/>\';
    echo \'userEmail:\'.$_GET[\'userEmail\'];
 ?>

 

php_get.gif-191.8kB

PHP_POST数据获取

PHP中,如果想要获取通过post方法提交的数据,可以通过$_POST对象来获取

  • HTML代码: 下面就是一个简单的表单代码,将数据提交到02.php,使用post的方式(注意:代码中的method改为post)

    <form action="02.php" method="post" >
      <label for="">姓名:
          <input type="text" name= "userName"></label>
          <br/>
      <label for="">邮箱:
          <input type="text" name= "userEmail"></label>
          <br/>
          <input type="submit" name="">
    </form>

     

  • PHP代码:

<?php 
    echo "<h1>POST_PAGE</h1>";
    echo \'userName:\'.$_POST[\'userName\'];
    echo \'<br/>\';
    echo \'userEmail:\'.$_POST[\'userEmail\'];
 ?>

 

php_post.gif-271.1kB

POST&GET错误处理

当我们直接访问POST&GET页面时由于并没有传递任何数据,会因为$_GET$_POST不存在对应的key而报错.

  • 处理方式1:
    • 使用array_key_exists(key, 数组)函数来进行判断
    • 参数1: 要检测的key字符串
    • 参数2: 检验的数组
    if(array_key_exists(\'name\', $_GET)){
        //如果有数据 再去读取
    }else{
        // 反之 可以执行一些 其他的逻辑
    }

 

PHP文件上传处理01_$_FILES对象

上传文件时html代码中需要进行如下设置:

  1. html表单中需要设置enctype="multipart/form-data"
  2. 只能post方式 PHP接收文件可以通过$_FILES来获取
  • HTML代码:

    <form action="03.fileUpdate.php" method="post" enctype="multipart/form-data">
          <label for="">照片:
              <input type="file" name = "picture" multiple=""></label>
          <br/>
          <input type="submit" name="">
      </form>

     

  • PHP代码01 这部分代码测试$_FILES文件的具体内容

    <?php  
      sleep(5);// 让服务器休息一会
      print_r($_FILES);
    ?>

     

    php_post_file.gif-485.3kB

  • 现象:

    • 点击提交后,服务器没有立即出现反应,而是休息了一会sleep(5)
    • wamp/tmp目录下面出现了一个.tmp文件
    • .tmp文件一会就被自动删除了
    • 服务器返回的内容中,有文件的名字[name] => computer.png,以及上传文件保存的位置D:\wamp\tmp\php3D70.tmp

PHP文件上传处理02_文件保存

刚刚演示了$_FILES对象的作用,以及PHP接受上传文件时,会先保存在一个临时目录下,那么接下来我们就演示如何将临时目录下面的文件保存起来

  • HTML代码: 这部分的代码不需要改变

    <form action="03.fileUpdate.php" method="post" enctype="multipart/form-data">
          <label for="">照片:
              <input type="file" name = "picture" multiple=""></label>
          <br/>
          <input type="submit" name="">
      </form>

     

  • PHP代码 move_uploaded_file()这个函数可以处理文件 w3cSchool_move_uploaded_file函数解释

Array ( [picture] => Array ( 
        [name] => computer.png 
        [type] => image/png 
        [tmp_name] => D:\wamp\tmp\php8913.tmp 
        [error] => 0 [size] => 5212 ) 
    )

 

其中我们需要通过picture(根据表单标签的name属性决定)获取临时文件名以及上传文件名

<?php  
    sleep(5);// 让服务器休息一会,方便我们查看上传的临时文件
    // 第一个参数是 规定要移动的文件
    // 第二个参数是 规定文件的新位置
    move_uploaded_file($_FILES[\'picture\'][\'tmp_name\'], \'./upload/\'.$_FILES[\'picture\'][\'name\']);
 ?>

 

版权声明:本文为powerplay原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/powerplay/p/8454493.html