PHP表单处理与文件保存
Write By CS逍遥剑仙
我的主页: csxiaoyao.com
GitHub: github.com/csxiaoyaojianxian
Email: sunjianfeng@csxiaoyao.com
QQ: 1724338257
$_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="">邮箱:
csxiaoyao.com <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="su
csxiaoyao.com bmit" 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表单中如下标签
注1
form提交数据需使用post
提交注2
form提交数据时,需在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 ; 最大的内存消耗