## 1、COOKIE过期有效性设置
(1)即时性COOKIE设置
* 描述:默认cookie的有效期是关闭浏览器时,自动失效。该cookie称为临时cookie;
* 语法:
```
bool setcookie ( string $name , string $value [, int $expire = 0 ])
```
* 参数:$expire可选,指定cookie保存的时间,默认为0,关闭浏览器失效;
![](https://img.kancloud.cn/80/b4/80b419d8bf2a16a5789bb6ac7312f3a5_505x368.png)
(2)有效性COOKIE设置
* 语法:
```
bool setcookie ( string $name , string $value [, int $expire = 0 ])
```
* 参数:$expire可选,指定cookie保存的时间,默认为0,关闭浏览器失效;
* 说明:$expire为一个时间戳。一般用time()+N表示新的时间戳。在当前时间点,再加上N秒后,产生一个新的时间戳。
* 提示:一旦指定了有效的过期时间,cookie失效跟关闭浏览器无关(持久cookie)。
![](https://img.kancloud.cn/f7/ec/f7ece32f6ff1eb50cf07cc37268b114a_578x94.png)
![](https://img.kancloud.cn/36/69/36697b43364dff1c108159bd1f4bd5fc_515x414.png)
## 2、COOKIE路径有效性
* 描述:设置COOKIE只能在指定的目录及其子目录下有效
* 语法:
```
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path]]] )
```
* 参数:$path默认为"/",代表当前网站根目录,在当前目录及其所有子目录都可以使用。
* 说明:由于浏览器每次请求时,携带到服务器端很多的COOKIE数据,会导致请求数据变得庞大;将COOKIE划分到各个路径中,减少每个路径下COOKIE的数量。
例如:京东保存在客户端的有1万个COOKIE数据,大小为100MB,每次请求都需要1个小时。这样一来,每次请求带1个万COOKIE,但是当前页码只使用2个COOKIE,造成带宽浪费。
解决方案是:请求页面需要什么COOKIE,就带什么COOKIE过去,有针对性,会节省宽带。
![](https://img.kancloud.cn/90/ee/90eee89d31b41d25bbc36b59f6dd2cb1_642x75.png)
![](https://img.kancloud.cn/cf/23/cf239abd2e1ead7f612f9be71e40681b_546x136.png)
![](https://img.kancloud.cn/e0/62/e06234878be81098a3f8a09acfcb283f_514x375.png)
## 3、COOKIE域名有效性
* 描述:给一个COOKIE指定访问的域名
* 语法:
```
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain]]]] )
```
* 提示:默认情况下,cookie只能在当前域名下有效。
* 域名划分:
主域名:itcast.cn
一级域名:www.itcast.cn
二级域名:news.itcast.cn
三级域名:php.news.itcast.cn
* 说明:如果COOKIE域名有效性,设置为主域名,则在所有域名下都可以使用。如果设置为子域名,则只能在子域名下使用该COOKIE。
![](https://img.kancloud.cn/cd/f8/cdf885eecf3938159938b0e5df02a759_718x116.png)
第一步:修改hosts文件添加二级域名
![](https://img.kancloud.cn/e2/45/e2459fcf157d10ced77d8dd86e82b28c_351x179.png)
第二步:将两个域名都指向同一个虚拟目录
![](https://img.kancloud.cn/72/1b/721bbae1a6bc8937836aeecb828aa2f2_639x402.png)
![](https://img.kancloud.cn/4e/2d/4e2d1cfcbb4ca514f064e69e139839d9_493x318.png)
第三步:测试结果
![](https://img.kancloud.cn/4a/07/4a0745e307b3d56faa620e4df9b541f4_714x120.png)
![](https://img.kancloud.cn/f6/bd/f6bdf73af328b35f6009255582d91831_734x179.png)
![](https://img.kancloud.cn/9c/b1/9cb110bef35ec90fef898c1bc6985385_451x137.png)
![](https://img.kancloud.cn/dc/ed/dcedd7e343dcb8b1b191d369323cdf86_508x377.png)
## 4、是否仅https安全连接才能发送cookie呢?
* 描述:是否仅限https来发送COOKIE数据,默认情况下,为http协议发送;
* 语法:
```
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false]]]]] )
```
* https:是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL 。
![](https://img.kancloud.cn/07/f3/07f3247ce2778af59de7382249cb0744_468x180.png)
![](https://img.kancloud.cn/3c/15/3c1587e2658a8ac458439d7921d98063_429x132.png)
![](https://img.kancloud.cn/4a/39/4a39b70366d9730598d1454ca525d326_727x117.png)
![](https://img.kancloud.cn/38/29/3829f2f3b4860976eb50732d8b627a6d_509x374.png)
## 5、是否只能通过http协议来使用COOKIE呢?
* 描述:客户端的COOKIE除了可以通过HTTP协议来使用外,还可以使用JS来使用COOKIE。
* 语法:
```
bool setcookie ( string $name [, string $value [, int $expire = 0 [, string $path [, string $domain [, bool $secure = false [, bool $httponly = false ]]]]]] )
```
* 提示:除了COOKIE通过http发往服务器使用,JS也可以使用该COOKIE。
![](https://img.kancloud.cn/40/ae/40aead0811b7b2628b5e7c300aed6391_800x172.png)
![](https://img.kancloud.cn/33/4c/334c97fb81ecb047510ea97d99aa31f2_581x262.png)
![](https://img.kancloud.cn/4d/9f/4d9f12c58a65a9a39fa32e3beb8d2ea4_800x337.png)
- 1、CMD下MySQL操作
- 1.1具体步骤
- 1.2使用phpMyAdmin导入数据库
- 1.3PHP连接MySQL服务器
- 1.4选择当前数据库
- 1.5设置客户端字符集
- 1.6执行各种SQL语句
- 1.7从结果集获取一行数据
- 1.8获取记录数
- 1.9综合案例:学生信息管理
- 1.10PHP处理复选框数据
- 2、PHP操作目录、文件
- 2.1PHP操作目录
- 2.2综合实例:递归遍历phpMyAdmin下的所有条目
- 2.3PHP操作文件
- 2.4综合实例:递归删除phpMyAdmin目录
- 3、PHP分页、HTTP协议
- 3.1PHP数据分页
- 3.2HTTP协议概述
- 3.3HTTP协议之URL
- 3.4HTTPWatch抓包工具使用
- 3.5HTTP协议之请求
- 3.6HTTP协议之响应
- 3.7综合案例:实现视频文件下载
- 4、图像处理、文件上传
- 4.1图像处理概述
- 4.2创建图像和销毁图像
- 4.3图像操作
- 4.4实例:图像验证码
- 4.5实例:往图像上写入一行汉字
- 4.6实例:制作图像水印效果
- 4.7实例:生成图像缩略图
- 4.8文件上传
- 4.9实例:单个文件上传
- 4.10实例:多个文件上传
- 5、COOKIE和SESSION
- 5.1COOKIE概述
- 5.2COOKIE操作
- 5.3COOKIE设置
- 5.4删除COOKIE数据
- 5.5COOKIE的总结
- 5.6SESSION概述
- 5.7SESSION操作
- 5.8SESSION对应COOKIE的配置(php.ini)
- 5.9SESSION垃圾回收机制
- 6、实践:在线相册
- 6.1准备工作
- 6.2创建数据库
- 6.3用户登录功能
- 6.4显示照片列表
- 6.5添加照片
- 6.6显示照片详细信息
- 7、面向对象
- 7.1什么是面向过程的编程思想
- 7.2什么是面向对象的编程思想?
- 7.3类和对象的关系
- 7.4类的定义
- 7.5类的成员属性定义
- 7.6类的成员方法定义
- 7.7创建类的实例对象
- 7.8对象属性操作
- 7.9对象方法操作
- 7.10伪变量$this的使用
- 7.11类常量的定义
- 7.12构造方法
- 7.13析构方法
- 7.14静态属性和静态方法
- 7.15OOP中内存的分配情况
- 7.16类的封装性
- 7.17类的继承性
- 7.18类的多态
- 7.19最终类和最终方法
- 7.20抽象类和抽象方法
- 7.21接口技术
- 7.22类的自动加载
- 7.23对象克隆
- 7.24对象遍历
- 7.25常用魔术方法
- 7.26面向对象的设计模式
- 7.27综合案例:学生信息管理系统
- 7.28工厂设计模式
- 7.29重载
- 7.30变量序列化
- 7.31常用的魔术常量
- 8、命名空间和PDO
- 8.1静态延时绑定
- 8.2命名空间概述
- 8.3使用命名空间
- 8.4namespace关键字
- 8.5命名空间元素的导入和别名
- 8.6PDO概述
- 8.7PDO对象常用方法
- 8.8PDOStatement对象常用方法
- 8.9PDO错误处理
- 8.10SQL语句预处理
- 9、Smarty模板引擎
- 9.1模板引擎的工作原理
- 9.2Smarty快速入门
- 9.3Smarty配置
- 9.4Smarty模板(视图)中的变量
- 9.5Smarty循环——foreach
- 9.6Smarty循环——section循环
- 9.7Smarty条件判断——if语句
- 9.8Smarty变量调节器
- 10、MVC框架
- 10.1MVC框架思想原理
- 10.2MVC实例:学生信息管理
- 10.3MVC第1个版本:整合学生模块和新闻模块
- 10.4MVC第2个版本:基础模型类的实现
- 10.5MVC第3个版本:工厂模型类
- 10.6MVC第4个版本:控制器类的实现
- 10.7MVC第5个版本:添加学生信息
- 10.8MVC第6个版本:控制器类的进一步优化
- 10.9MVC第7个版本:删除新闻数据
- 10.10MVC第8个版本:基础控制器类实现
- 10.11MVC第9个版本:学生信息修改
- 10.12MVC第10个版本:文件简单分目录
- 10.13MVC第11个版本:前端控制器实现
- 10.14MVC第12个版本:平台概念的引入
- 10.15MVC第13个版本:类的自动加载
- 10.16MVC第14个版本:常用目录常量配置
- 10.17MVC第15个版本:初始类实现
- 11、Blog系统实战
- 11.1项目开发流程
- 11.2博客系统概述
- 11.3博客项目的MVC目录结构
- 11.4博客项目MVC框架搭建
- 11.5学生信息管理(前台)
- 11.6学生信息管理(后台)
- 11.7封装PDOWrapper类
- 11.8PDOWrapper类与MVC框架整合
- 11.9工厂模型类方法的实现
- 11.10封装自己的Smarty类
- 11.11博客项目后台——首页管理
- 11.12博客项目后台——用户管理
- 11.13博客项目后台——用户登录
- 11.14图像验证码类
- 11.15用户登录——引入图像验证码
- 11.16用户访问权限(简单权限)
- 11.17博客项目后台首页相关信息修改
- 11.18博客项目后台——用户退出
- 11.19博客项目后台——友情链接管理
- 11.20文章类别管理
- 11.21文章管理
- 11.22前台首页管理
- 11.23列表页管理
- 11.24内容页管理