cookie 是服务器留在用户计算机中的小文件,网站可以用它来识别访问网站的计算机。
创建 cookie
通过 setcookie() 函数来创建一个 cookie ,成功返回 TRUE ,否则返回 FALSE 。
语法:
bool setcookie( string name [, string value [, int expire [, string path [, string domain ]]]] )
参数说明:
参数 说明
name cookie 名称
value 可选,cookie 值
expire 可选,过期时间,时间戳格式
path 可选,服务器端有效路径,/ 表示整个域名有效,默认为当前设置 cookie 时页面的路径
domain 可选,该 cookie 有效的域名
cookie 会以一定格式被存储在用户计算机特定位置。
例子:
<?php setcookie("username", "xiaoming", time()+3600, "/", ".baidu.com"); ?>在该例子中,我们设置了一个名称为 username 的cookie,其值为 xiaoming ,并在1小时候后过期。如果时间也被省略,cookie 将会在会话结束后(一般是浏览器关闭)失效。
该例子使用了 path 和 domain 参数,即在 baidu.com 域名的 / 路径下该 cookie 都有效(即全站有效)。
读取 cookie
PHP 内置了 $_COOKIE 变量以访问设置的 cookie 值。
例子:
<?php echo $_COOKIE["username"]; //输出 xiaoming ?>使用 isset() 函数来检测 cookie 变量是否已经被设置:
销毁 cookie
可以通过设置 cookie 过期时间为以前的时间点来销毁一个 cookie :
PHP Session 概述
session 是一种客户与网站(服务器)更为安全的对话方式。一旦开启了 session 会话,便可以在网站的任何页面使用(保持)这个会话,从而让访问者与网站之间建立了一种“对话”机制。
session 会话会为每一个开启了 session 会话的访问者建立一个唯一的会话 ID ,用于识别用户。该会话 ID 可能存储于用户电脑的 cookie 内,也可能通过 URL 来传递。而对应的具体 session 值会存储于服务器端,这也是与 cookie 的主要区别,并且安全性相对较高。
创建 session
要创建 session ,必须先使用 session_start() 函数开启一个 session 会话,系统会分配一个会话 ID:
使用 session_register() 函数注册一个 session 变量,成功返回 TRUE ,否则返回 FALSE
语法:
bool session_register( mixed name [, mixed …] )
使用 session_register() 函数可以在目前会话下注册一个或多个全局 session 变量。
例子:
<?php session_start(); $username = "xiaoming"; session_register("username"); ?>在该例子中,我们向 session 注册了一个名为 username 的变量,其值为 xiaoming
读取 session
PHP 内置的 $_SESSION 变量可以很方便的访问设置的 session 变量。
例子:
销毁 session
可以通过 使用 session_unset() 来注销整个 session 会话。
另一种方式
可以通过直接添加 $_SESSION 数组成员的方式注册 session 变量:
如果要注销这种方式注册的 session 变量,需要使用 unset() 函数:
读取 session 变量与销毁 session 会话则同前面的方式相同。
不可使用 unset() 来销毁 session 会话。
文件上传
文件上传功能是网络生活中经常使用的一个功能。使用 PHP 可以很方便的实现文件上传,其具体流程如下:
表单选择文件 -> 检查文件大小及类型 -> 生成临时文件 -> 移动临时文件至文件存储目录 -> 记录文件信息以便于管理。
在文件上传功能中,需要考虑以下几个问题:
1.限定上传文件的类型
2.服务器端文件存储目录
HTML 表单
在文件上传表单中,需要将表单的 ENCTYPE 属性设置为 multipart/form-data :
在 标签里, type=“file” 表示应该把输入作为文件来处理,这时候会出现选择文件的浏览按钮,点击该按钮即可选择本地电脑里的文件。
PHP 文件上传处理
PHP 提供了内置变量 $_FILES 来处理上传的文件。
$_FILES 变量说明(设定表单 name 属性为 file ):
$_FILES 变量 说明
$_FILES[“file”][“name”] 客户端提交文件的原名称
$_FILES[“file”][“type”] 浏览器提供的文件的 MIME 类型,如 gif 图片为 image/gif 。不过此类型在 PHP 端并不检查,因此不要想当然认为有这个值
$_FILES[“file”][“size”] 已上传文件的大小,单位为字节
$_FILES[“file”][“tmp_name”] 文件被上传后在服务端储存的临时文件名
$_FILES[“file”][“error”] 和该文件上传相关的错误代码,为0则表示上传成功
当点击“确定”按钮提交表单至 upload.php 后,可以利用 $_FILES 变量来处理提交的文件。