GET
基本表单样式。
<?php
if($_GET){
if($_GET['username'] && $_GET['password']){
echo '<h1>登录成功</h1>';
}else{
echo '<h1>用户名或密码为空</h1>';
}
}
php相当于暴露,没有封装的操作,访问到的时候,会自动传值,但是你不会见到声明部分,只能自己记住了。
POST
同理
<?php
if($_POST){
if($_POST['username'] && $_POST['password']){
echo '<h1>登录成功</h1>';
}else{
echo '<h1>用户名或密码为空</h1>';
}
}
redirect
header("Location:login.php");
简单粗暴,验证之后跳转很有用。
UPLOAD
表单样式
别忘记enctype
简单信息打印
<?php
if($_FILES){
$file = $_FILES['file'];
print_r($file);
}
结果
Array ( [name] => ma.py [type] => application/octet-stream [tmp_name] => C:\software\xampp\tmp\php34B2.tmp [error] => 0 [size] => 17 )
注意的有两点
1. $_FILES中指定的数表单中指定的name值
2. 取出的文件有很多属性,有固定代称
name:上传文件名
type:类型
tmp_name:临时文件名
error:错误码,0正常
size:大小
保存文件
<?php
if($_FILES){
$file = $_FILES['file'];
$file_name = $file['name'];
$tmp_file = $file['tmp_name'];
$error = $file['error'];
if($error == 0){
move_uploaded_file($tmp_file, 'upload/'.$file_name);
}
}
完整的保存逻辑就是这样了,先确定是否正常,再进行保存。
中文可能会出乱码,推荐编解码
$file_name= mb_convert_encoding($file_name,'GBK','utf-8');
截图自带注释,不动手了
小结
<?php
if($_FILES){
$file = $_FILES['file'];
$file_name = $file['name'];
$tmp_file = $file['tmp_name'];
$error = $file['error'];
if($error == 0){
$file_name= mb_convert_encoding($file_name,'GBK','utf-8');
move_uploaded_file($tmp_file, 'upload/'.$file_name);
}
}
短,但是注意点不少。