PHP 教程

PHP 教程 PHP 简介 PHP 下载安装 PHP 语法 PHP 注释 PHP 变量 PHP Echo / Print PHP 数据类型 PHP 字符串 PHP 数值 PHP Math PHP 常量 PHP 运算符 PHP If...Else...Elseif PHP Switch PHP 循环 PHP 函数 PHP 数组 PHP 全局变量 PHP 正则表达式

PHP 表单

PHP 表单处理 PHP 表单验证 PHP 表单验证必填字段 PHP 表单验证URL/E-mail PHP 表单验证实例

PHP 高级教程

PHP 日期和时间 PHP Include PHP 文件处理 PHP 文件打开/读取 PHP 文件创建/写入 PHP 文件上传 PHP Cookies PHP Sessions PHP Filters PHP Filters Advanced PHP 回调函数 PHP JSON PHP 异常处理

PHP 面向对象

PHP 什么是 OOP PHP 类和对象 PHP 构造函数 PHP 析构函数 PHP 访问修饰符 PHP 继承 PHP 类常量 PHP 抽象类 PHP 接口 PHP 特征 PHP 静态方法 PHP 静态属性 PHP 命名空间 PHP 可迭代对象

MySQL 数据库

MySQL Database MySQL Connect MySQL Create DB MySQL Create Table MySQL Insert Data MySQL Get Last ID MySQL Insert Multiple MySQL Prepared MySQL Select Data MySQL Where MySQL Order By MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP XML

PHP XML Parsers PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Intro AJAX PHP AJAX Database AJAX XML AJAX Live Search AJAX Poll

PHP 实例

PHP 实例 PHP 编译器 PHP 测验 PHP 练习

PHP 参考手册

PHP 概述 PHP Array PHP Calendar PHP Date PHP Directory PHP Error PHP Exception PHP Filesystem PHP Filter PHP FTP PHP JSON PHP Keywords PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP Network PHP Output Control PHP RegEx PHP SimpleXML PHP Stream PHP String PHP Variable Handling PHP XML Parser PHP Zip PHP Timezones

PHP setrawcookie() 函数

❮ PHP Network 网络参考手册

实例

以下示例使用 PHP 创建一个 cookie。 cookie 名为 "user",值为 "John Doe"。 cookie 值不会进行 URL 编码。 cookie 将在 30 天 (86400 * 30) 后过期。 使用 "/",表示cookie在整个网站都可用(否则,请选择您喜欢的目录):

<?php
$cookie_name = "user";
$cookie_value = "John";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
// 86400 = 1 day
?>
<html>
<body>

<?php
echo "Cookie is set.";
?>

</body>
</html>
?>
亲自试一试 »

定义和用法

setrawcookie() 函数定义了一个 cookie(没有 URL 编码)与其余的 HTTP 标头一起发送。

cookie 通常用于识别用户。 cookie 是服务器嵌入在用户计算机上的一个小文件。 每次同一台计算机通过浏览器请求页面时,它也会发送 cookie。 使用 PHP,您可以创建和检索 cookie 值。

cookie 的名称会自动分配给同名的变量。 例如,如果发送了一个名为 "user" 的 cookie,则会自动创建一个名为 $user 的变量,其中包含 cookie 值。

注释: setrawcookie() 函数必须出现在 <html> 标记之前。

注意:要在发送时自动对 cookie 值进行 URL 编码,并在接收时自动解码,请改用 setcookie() 函数 .

语法

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

参数值

参数 描述
name 必需。指定 cookie 的名称
value 可选。指定cookie的值
expire 可选。指定cookie何时过期。值:time()+86400*30,将设置cookie在30天后过期。如果不设置此参数,cookie 将在会话结束时(浏览器关闭时)过期
path 可选。指定cookie的服务器路径。 如果设置为"/",则 cookie 将在整个域中可用。如果设置为"/php/",cookie 将仅在 php 目录和 php 的所有子目录中可用。默认值是设置 cookie 的当前目录
domain 可选。指定cookie的域名。要使 cookie 在 example.com 的所有子域上可用,请将 domain 设置为".example.com"。将其设置为 www.example.com 将使 cookie 仅在 www 子域中可用
secure 可选。 指定 cookie 是否应仅通过安全的 HTTPS 连接传输。 TRUE 表示只有存在安全连接时才会设置 cookie。默认为 FALSE。


技术细节

返回值: 若成功则返回 TRUE,若失败则返回 FALSE。
PHP 版本: 5+

更多实例

实例

检索名为"user"的 cookie 的值(使用全局变量 $_COOKIE)。 也可以使用 isset() 函数来判断 cookie 是否存在:

<html>
<body>

<?php
$cookie_name = "user";
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' does not exist!";
} else {
    echo "Cookie is named: " . $cookie_name . "<br>Value is: " . $_COOKIE[$cookie_name];
}
?>

</body>
</html>
亲自试一试 »

实例

要修改 cookie,只需使用 setrawcookie() 函数设置(再次)cookie:

<?php
$cookie_name = "user";
$cookie_value = "Alex";
setrawcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>
<html>
<body>

<?php
$cookie_name = "user";
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' does not exist!";
} else {
    echo "Cookie is named: " . $cookie_name . "<br>Value is: " . $_COOKIE[$cookie_name];
}
?>

</body>
</html>
亲自试一试 »

实例

要删除 cookie,请使用 setrawcookie() 函数,其过期日期已过去:

<?php
$cookie_name = "user";
unset($_COOKIE[$cookie_name]);
// empty value and expiration one hour before
$res = setrawcookie($cookie_name, '', time() - 3600);
?>
<html>
<body>

<?php
echo "Cookie 'user' is deleted.";
?>

</body>
</html>
亲自试一试 »

实例

创建一个检查 cookie 是否启用的小脚本。 首先,尝试使用 setrawcookie() 函数创建一个测试 cookie,然后计算 $_COOKIE 数组变量:

<?php
setrawcookie("test_cookie", "test", time() + 3600, '/');
?>
<html>
<body>

<?php
if(count($_COOKIE) > 0) {
    echo "Cookies are enabled";
} else {
    echo "Cookies are disabled";
}
?>

</body>
</html>
亲自试一试 »

❮ PHP Network 网络参考手册