PHP setrawcookie() 函数

PHP 教程 · 2019-01-26 15:29:23

定义和用法

setrawcookie() 函数不对 cookie 值进行 URL 编码,发送一个 HTTP cookie。

cookie 是由服务器发送到浏览器的变量。cookie 通常是服务器嵌入到用户计算机中的小文本文件。每当同一台计算机通过浏览器请求页面时,就会发送这个 cookie。

cookie 的名称自动指定为相同名称的变量。例如,如果被发送的 cookie 名为 "user",则会自动创建一个名为 $user 的变量,包含 cookie 的值。

必须在任何其他输出发送到客户端前对 cookie 进行赋值。

如果成功,该函数返回 TRUE。如果失败则返回 FALSE。

语法


setrawcookie(name,value,expire,path,domain,secure)


参数 描述
name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的过期时间。

time()+3600*24*30 将设置 cookie 的过期时间为 30 天。如果这个参数没有设置,那么 cookie 将在 session 结束后(即浏览器关闭时)自动失效。

path 可选。规定 cookie 的服务器路径。

如果路径设置为 "/",那么 cookie 将在整个域名内有效.如果路径设置为 "/test/",那么 cookie 将在 test 目录下及其所有子目录下有效。默认的路径值是 cookie 所处的当前目录。

domain 可选。规定 cookie 的域名。

为了让 cookie 在 example.com 的所有子域名中有效,您需要把 cookie 的域名设置为 ".example.com"。当您把 cookie 的域名设置为 www.example.com 时,cookie 仅在 www 子域名中有效。

secure 可选。规定是否需要在安全的 HTTPS 连接来传输 cookie。如果 cookie 需要在安全的 HTTPS 连接下传输,则设置为 TRUE。默认是 FALSE。

提示和注释

提示:可以通过 $HTTP_COOKIE_VARS["user"] 或 $_COOKIE["user"] 来访问名为 "user" 的 cookie 的值。

注意:setrawcookie() 函数与 setcookie() 函数几乎完全相同,不同的是不会在发往客户端时,对 cookie 值进行自动 URL 编码。

实例 1

设置并发送 cookie:


<?php
$value = "my cookie value";
// send a simple cookie
setrawcookie("TestCookie",$value);
?>
<html>
<body>
...
...



<?php
$value = "my cookie value";
// send a cookie that expires in 24 hours
setrawcookie("TestCookie",$value, time()+3600*24);
?>
<html>
<body>
...
...


实例 2

检索 cookie 值的不同方法(在 cookie 设置之后):


<html>
<body>
<?php
// Print individual cookies
echo $_COOKIE["TestCookie"];
echo "<br />";
echo $HTTP_COOKIE_VARS["TestCookie"];
echo "<br />";
// Print all cookies
print_r($_COOKIE);
?>
</body>
</html>

上面的代码将输出:


my cookie value
my cookie value
Array ([TestCookie] => my cookie value)


实例 3

通过把失效日期设置为过去的日期/时间,删除一个 cookie:


<?php
// Set the expiration date to one hour ago
setrawcookie ("TestCookie", "", time() - 3600);
?>
<html>
<body>
...
...


实例 4

创建一个数组 cookie:


<?php
setrawcookie("cookie[three]","cookiethree");
setrawcookie("cookie[two]","cookietwo");
setrawcookie("cookie[one]","cookieone");
// print cookies (after reloading page)
if (isset($_COOKIE["cookie"]))
  {
  foreach ($_COOKIE["cookie"] as $name => $value)
    {
    echo "$name : $value <br />";
    }
  }
?>
<html>
<body>
...
...

上面的代码将输出:


three : cookiethree
two : cookietwo
one : cookieone


点击查看所有 PHP 教程 文章: https://www.codercto.com/courses/l/5.html

查看所有标签

创新者

创新者

[美] 沃尔特·艾萨克森 / 关嘉伟、牛小婧 / 中信出版社 / 2017-4 / 88.00元

《创新者》是沃尔特·艾萨克森继全球畅销书《史蒂夫·乔布斯传》之后的又一部力作,不仅讲述了计算机和互联网从无到有的发展历程,为我们 生动地刻画出数字时代的创新者群像,还深度挖掘互联网的精神内核,解读了“诗意科学”这个重大主题。 在近200年的数字化进程中群星闪耀,艾萨克森从第一个计算机程序的创造者、浪漫主义诗人拜伦之女埃达•洛夫莱斯伯爵夫人说起,细数了这一群将科学与人文融合的创新者,他们包括第......一起来看看 《创新者》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具