php创建session的方法实例详解


Posted in PHP onJanuary 27, 2015

本文实例讲述了php创建session的方法。分享给大家供大家参考。具体分析如下:

保存session只需要两个步骤,开启session和保存session数据。默认情况下,session保存在服务器端 c:\windows\temp文件夹下(保存的路径可以在php.ini文件中修改:开启session.save_path,填写上保存的路径即可)。

session创建代码

<?php

echo "------如何保存 session 数据---------<br />";

//1、初始化 session

session_start();

//2、保存数据,可以保存的数据类型包括:字符串、整型、double型,数组,对象等

$_SESSION['name']="百度";//保存字符串

$_SESSION['age']=80;//保存整型
//保存数组

$arr = array("name"=>"小陈","age"=>25,"job"=>"程序员");

$_SESSION['person'] = $arr;
//保存对象

class Dog{

 public $name;

 public $age;

 public $color;

 function __construct($name,$age,$color){

  $this->name=$name;

  $this->age=$age;

  $this->color=$color;

 }

}

$dog = new Dog("小狗",2,"黄色");

$_SESSION['dog'] = $dog;
echo "保存成功";

?>

在C:\windows\temp文件下,找到一个保存session的文件,打开如下图:

php创建session的方法实例详解

说明:

(1)每一个session用分号;隔开。
(2)以第一个session为例:name表示键值、s表示字符串(相应:i表示整型,a表示数组,o表示对象等)、4表示长度、"百度"表示键值。

细节知识(很重要):

(1)每一个会话(就是打开浏览器访问某个网站,在关闭浏览器时,会话也就结束)对应一个session文件;
(2)session文件在执行 session_start()时创建,但此时,该文件为空,如果有session数据,则会写入该文件;
(3)session 数据默认保留时间为 1440秒,此时间为发呆时间,也就是在这段时间内,没有使用过该 session 文件(如果有使用过,那该文件的修改时间会自动更新--右键查看该文件属性即可看到)。可以在php.ini文件修改此默认值:session.gc_maxlifetime = 1440;
(4)重中之重:服务器在返回客户端浏览器请求时,会将session的信息( 如:PHPSESSID=0pk6fmamnk1btcgbcf444dnd76 ),以cookie的方式返回给浏览器(同样,你可以使用httpwatch来抓包查看)。当浏览器访问该网站的其它页面时,根据http协调,会把该cookie信息发送给服务器。服务器再根据该信息,查找到对应的session文件(对应的文件名为:sess_0pk6fmamnk1btcgbcf444dnd76)。

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
如何在PHP中使用Oracle数据库(1)
Oct 09 PHP
Discuz 模板引擎的封装类代码
Jul 18 PHP
php权重计算方法代码分享
Jan 09 PHP
PHP积分兑换接口实例
Feb 09 PHP
YII2.0之Activeform表单组件用法实例
Jan 09 PHP
php生成验证码,缩略图及水印图的类分享
Apr 07 PHP
iOS10推送通知开发教程
Sep 19 PHP
PHP 数组黑名单/白名单实例代码详解
Jun 04 PHP
Laravel find in set排序实例
Oct 09 PHP
laravel框架实现去掉URL中index.php的方法
Oct 12 PHP
laravel config文件配置全局变量的例子
Oct 13 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 PHP
PHP连接SQLServer2005的方法
Jan 27 #PHP
php去除html标记的原生函数详解
Jan 27 #PHP
分享下php5类中三种数据类型的区别
Jan 26 #PHP
php字符串过滤与替换小结
Jan 26 #PHP
PHP利用APC模块实现文件上传进度条的方法
Jan 26 #PHP
php使用cookie保存用户登录的用户名实例
Jan 26 #PHP
PHP简单选择排序算法实例
Jan 26 #PHP
You might like
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
php之curl设置超时实例
2014/11/03 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
PHP转换文本框内容为HTML格式的方法
2016/07/20 PHP
Python中使用django form表单验证的方法
2017/01/16 PHP
表单元素事件 (Form Element Events)
2009/07/17 Javascript
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
2014/03/26 Javascript
js Calender控件使用详解
2015/01/05 Javascript
js省市联动效果完整实例代码
2015/12/09 Javascript
AngularJS入门教程之过滤器详解
2016/08/19 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
jQ处理xml文件和xml字符串的方法(详解)
2016/11/22 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
nodejs实现邮件发送服务实例分享
2017/03/29 NodeJs
浅谈struts1 &amp; jquery form 文件异步上传
2017/05/25 jQuery
在vue中读取本地Json文件的方法
2018/09/06 Javascript
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
jQuery 筛选器简单操作示例
2019/10/02 jQuery
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
JavaScript数组排序的六种常见算法总结
2020/08/18 Javascript
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
Python数组条件过滤filter函数使用示例
2014/07/22 Python
python获取当前计算机cpu数量的方法
2015/04/18 Python
在Linux命令行终端中使用python的简单方法(推荐)
2017/01/23 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
2019/12/25 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
canvas版人体时钟的实现示例
2021/01/29 HTML / CSS
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
运动会邀请函范文
2014/02/06 职场文书
员工试用期工作总结
2019/06/20 职场文书
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python
JS高级程序设计之class继承重点详解
2022/07/07 Javascript