PHP setcookie() 函数用法及示例

PHP HTTP  参考手册

setcookie()函数发送 Cookie

语法

bool setcookie ( string $name [, string $value= "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [,bool $httponly = false ]]]]]] )

定义和用法

它用来设置COOKIE。

 setcookie() 一旦定义了 Cookie,会和剩下的 HTTP 头一起发送给客户端。 和其他 HTTP 头一样,必须在脚本产生任意输出之前发送 Cookie(由于协议的限制)。 请在产生任何输出之前(包括 <html> 和 <head> 或者空格)调用本函数。
一旦设置 Cookie 后,下次打开页面时可以使用 $_COOKIE 读取。 Cookie 值同样也存在于 $_REQUEST。

返回值

 如果在调用本函数以前就产生了输出,setcookie() 会调用失败并返回 FALSE。 如果 setcookie() 成功运行,返回 TRUE。当然,它的意思并非用户是否已接受 Cookie。

参数

序号参数和说明
1

name

cookie的名称。

2

value

Cookie 值。 这个值储存于用户的电脑里,请勿储存敏感信息。 比如 name 是 'cookiename', 可通过 $_COOKIE['cookiename'] 获取它的值。

3

errno

它包含有关cookie输入的信息。

4

expire

Cookie 的过期时间。 这是个 Unix 时间戳,即 Unix 纪元以来(格林威治时间 1970 年 1 月 1 日 00:00:00)的秒数。 也就是说,基本可以用 time() 函数的结果加上希望过期的秒数。 或者也可以用 mktime()。 time()+60*60*24*30 就是设置 Cookie 30 天后过期。 如果设置成零,或者忽略参数, Cookie 会在会话结束时过期(也就是关掉浏览器时)。

5

path

Cookie 有效的服务器路径。 设置成 '/' 时,Cookie 对整个域名 domain 有效。 如果设置成 '/foo/', Cookie 仅仅对 domain 中 /foo/ 目录及其子目录有效(比如 /foo/bar/)。 默认值是设置 Cookie 时的当前目录。

6

domain

Cookie 的有效域名/子域名。 设置成子域名(例如 'www.example.com'),会使 Cookie 对这个子域名和它的三级域名有效(例如 w2.www.example.com)。 要让 Cookie 对整个域名有效(包括它的全部子域名),只要设置成域名就可以了(这个实例里是 'example.com')。

在线示例

试试下面的实例

<?php
   $input = '它包含cookie的名称';
   
   setcookie("TestCookie", $input);
   setcookie("TestCookie", $input, time()+3600); 
   setcookie("TestCookie", $input, time()+3600, "/~rasmus/", "(cainiaoplus.com)", 1);
?>

PHP HTTP  参考手册