首页 > 编程 > PHP > 正文

php开发设计介绍及实例介绍(三)

2019-11-06 07:20:00
字体:
来源:转载
供稿:网友

会话技术-------session技术

使用session将会话数据存储于服务器端,同时使用会话技术可以区分浏览器;

为每个会话数据建立独立的会话数据区(来存储当前会话的全部数据);每一个会话数据区存在唯一的标志;同时浏览器端存储该唯一的标志;做配对使用;seeionID存储于cookie中;sessionID在cookie中就是一个普通变量;

服务器响应的时候,就会设置sessionID到cookie中;

开启session机制:session_start();

在开启session_start()之前,$_SESSION是不能使用的;

增删改查;

设定:

判断:

session的属性:

有效期:默认会话周期结束;

有效路径:默认整站有效;

有效域:默认当前域有效;

是否仅安全连接:默认false;

是否仅为http使用httonly:默认false;

session的属性取决于存储于浏览器端的sessionID的cookie变量;

如果需要更改session数据的属性,其实是更改存储在浏览器端的seessionID的属性;

php。ini中设置;

更改session属性:

session可以存储任意数据类型(不包含资源),资源不能序列化,资源是php外部的;

session数据区内的数据是序列化后才存储的;

$_SESSION数组的下标只能是字符串类型;

session_start()类似于header();前面不能有输出;

session 数据区的操作:

虽然session销毁了,但是在脚本周期内$_SESSION中还有数据,但是脚本周期结束后,就不会自动写入session数据区了(原因是关闭了session机制);因此下次脚本周期就不能获取session数据了;

创建数据库表存储session数据;

读操作:

删除操作:

调用了session_destroy()销毁 session过程中被调用,才会执行delete;

垃圾回收机制“:

如何识别垃圾数据:

加上最后处理时间的字段:

带时间戳存储:

设置垃圾回收机制概率:

如果不对session的存储做处理,session默认是以文件的形式存储的,

项目中的session如数据库:

注意上面的session_set_save_handler()方法中的参数,如果参数是函数时,必须要用数组的形式,如上,数组中的元素位置必须固定;

cookie和session的区别:

是否自动采用其他方法传输sessionID:

默认session的存储路径是tmp临时目录;

配置文件:

application目录下创建一个config目录;用来配置项目应用程序;

配置文件的内容格式:

一般在框架类中初始化载入配置文件;

static是针对同一个类中所有方法公用;超全局$GLOABALS是针对整个项目,整个项目中都可以使用;


上一篇:PHP持续访问

下一篇:PHP100 面试题

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表