欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

关于PHP中的SESSION技术

程序员文章站 2022-05-08 17:13:56
Session是服务器端技术,服务器在运行时可以为每一个用户创建一个其独享的session文件,所以用户在访问服务器web资源时,可以把各自的数据放在各自的session中,当用于再去访问该服务器中其他web端资源时,其他web端再从session取出用户各自的数据; 当用户通过客户端浏览页面初始化 ......

 

  Session是服务器端技术,服务器在运行时可以为每一个用户创建一个其独享的session文件,所以用户在访问服务器web资源时,可以把各自的数据放在各自的session中,当用于再去访问该服务器中其他web端资源时,其他web端再从session取出用户各自的数据;

  当用户通过客户端浏览页面初始化了Session之后(如:添加购物车,用户登陆等),服务器会将这些session数据保存在:Windows保存在C:\WINDOWS\Temp的目录下,Linux则是保存在/tmp 或 /var/lib/php/session目录下,之后给客户端返回一个Set-Cookie的参数(该参数表示在服务器端创建的Session_ID,可在http协议中看到),当该服务器的其他web端需要Session数据时则客户端会向服务器发送这个Session_ID,服务器就可以从Session文件中查找并调用;

  Session的增删改查;(Session是超全局变量数组,存放形式也可以理解成键值对)

    添加Session:1.初始化一个Session数据,session_start();2.保存Session数据,$_SESSION[ ' 要保存的键名 ' ] = value;3.Session可以保存所有基本类型的数据;string,intger,double,bool,array,object;

    关于PHP中的SESSION技术

    获取Session:1.初始化一个Session数据,session_start();2.使用$_SESSION[ " 键名 " ];(如果我们需要取出一个对象,则需要申明一下类的定义信息);

    关于PHP中的SESSION技术

    更新Session:1.初始化一个Session数据,session_start();2.保存Session数据,$_SESSION[ ' 要更新的键名 ' ] = value;

    删除Session:1.初始化一个Session数据,session_start();2.删除单个Session键值对使用 unset($_Session["要删除的键名"]);删除全部Session使用session_destroy();

  Session数据默认的存在数据为1440s,从php.ini文件中的【Session】节中的 session.gc_maxlifetime 设置,单位为秒,设置完成后重启apache生效;

  Session的默认存放路径是可以通过php.ini文件修改,【Session】节中的 session_save_path 设置,设置完成后需重启apache生效;

  Session和Cookie的区别:Session是将数据存放在服务器端,Cookie是将信息存放在客户端;

  关于PHP中的SESSION技术