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'];
 ?>

$_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'];
 ?>

POST&GET错误处理

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

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

$_FILE 文件上传处理

在php中 能够通过$_FILE 获取上传的文件 * 浏览器端部分代码() * 假定浏览器在form表单中如下标签 * 注1form提交数据需使用post提交 * 注2form提交数据时,需在form表单中添加enctype=multipart/form-data属性

<form action='xx.php' method='post' enctype='multipart/form-data'>
    <input type='file' name='icon'>
    <input type='submit'>
</form>
  • 服务端代码
    • $_FILES用法跟$_GET,$_POST类似,都是关系型数组
    • #_FILE['key']:可以获取对应上传的文件,这里的key跟提交时的name相对应
    • #_FILE['key']['name'] 可以获取上传的文件名
    • #_FILE['key']['tmp_name']可以获取上传的文件保存的临时目录
<?php
    // 可以打印 $_FILES的所有信息
    print_r($_FILES);
?>

move_uploaded_file 移动文件

  • 上传的临时文件,一会就会被自动删除,我们需要将其移动到保存的位置
  • move_uploaded_file参数:
    • 参数1:移动的文件
    • 参数2:目标路径
move_uploaded_file($_FILES['photo']['tmp_name'], './images/test.jpg');

设置上传文件大小限制

修改php.ini 使用文本编辑工具的搜索功能找到下列选项进行修改 * 设置文件最大上传限制(值的大小可以根据需求修改)

file_uploads = On            ; 是否允许上传文件 On/Off 默认是On
upload_max_filesize = 32M       ; 上传文件的最大限制
post_max_size = 32M             ; 通过Post提交的最多数据
  • 考虑网络传输快慢,这里修改一些参数
max_execution_time = 30000      ; 脚本最长的执行时间 单位为秒
max_input_time = 600            ; 接收提交的数据的时间限制 单位为秒
memory_limit = 1024M            ; 最大的内存消耗

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券