php快速入门4 — 文件上传与session

1. 文件上传
客户端发起请求
有文件上传 method必须为post , 且 enctype 的编码格式必须为:multipart/form-data
服务器接收数据与文件,进行保存
完整后台代码
代码解析,获取文件对象
<?php
if($_POST){
print_r($_FILES["txtFile"]); //键名与name值相同
}
文件大小的限制
$_FILES["txtFile"]["size"]: 返回文件的大小,单位:字节
size : 文件大小
name: 文件名
type: 文件类型
tmp_name: 临时文件路径
error: 错误信息
文件后缀名的检查 : 通过name文件名,获取后缀名
$fileName = $_FILES["txtFile"]["name"];
$arr = explode(".", $fileName);
return $arr[count($arr)-1];
判断保存文件的路径,不存在则创建
$uploadPath = "./uploads/";
if (!file_exists($uploadPath)) {
// 不存在就创建目录
mkdir($uploadPath, 777, true); // 777:最高权限 (读,写,执行)
}
上传文件
// 正常命名规则: 用户ID+时间戳
// 可以用UUID,但是会消耗性能 uuid: 通过唯一识别码
$fileName = time().'.'.$ext; //新的文件名
move_uploaded_file($tempFile, $uploadPath.$fileName); //1. 临时文件的路径 2. 保存的文件路径
2. 会话
http 协议是无状态,使用session 和 cookie 两种技术来记录会话状态
cookie :
将状态存在cookie ,之后的请求,浏览器会自动将cookie一起传到服务器,让服务器可以识别状态
cookie 是存在客户端的;
cookie 的优点:
数据存在客户端上,减轻服务器的压力
缺点:
数据存在客户端上,安全性比较低
取cookie
<?php echo $_COOKIE['name'];?>
删除cookie(就是把这个cookie的有效期设置为当前时间以前)
<?php setcookie(“name", "", time() - 3600);?>
session :
作用:记录会话状态
在服务器上记录会话状态,然后将对应的session_id,响应给客户端,并且存在cookie;之后每一次请求都会带上cookie ; 服务器会根据cookie中的session_id找到保存的客户状态
1. 创建session ,保存会话状态
session_start();
$_SESSION["user"] = "doubleyong";
$_SESSION["head"] = "xxx.png";
2. 获取session
session_start();
if( isset($_SESSION["user"] ) ){
echo $_SESSION["user"];
}
3. 删除session
session_start();
if( isset($_SESSION["user"] ) ){
unset(isset($_SESSION["user"])
}
//isset() 如果指定变量存在且不为NULL,则返回TRUE,否则返回FALSE。
//unset() 函数用于销毁给定的变量
4. 销毁所有session
session_start();
session_destory(); //销毁所有session
更多文章,请看公主号: bug收集 个人网站:bugshouji.com