Logo
  • 欢迎使用 CodeIgniter4
    • 欢迎使用 CodeIgniter4
    • 服务器要求
    • 贡献致谢
    • PSR 兼容性
    • 许可协议
  • 安装
    • Composer 安装
    • 手动安装
    • 运行你的应用
    • Worker 模式
    • 故障排除
    • 部署
    • 变更记录
    • 从旧版本升级
    • CodeIgniter 仓库
  • 指南
    • 构建第一个应用程序
    • REST API 入门
  • CodeIgniter4 概览
    • 应用程序结构
    • 模型、视图和控制器
    • 自动加载文件
    • 服务
    • 工厂
    • 处理 HTTP 请求
    • 安全指南
    • 设计与架构目标
  • 常规主题
    • 配置
    • CodeIgniter URL
    • 辅助函数
    • 全局函数和常量
    • 日志信息记录
    • 错误处理
    • 网页缓存
    • AJAX 请求
    • 代码模块
    • 管理应用程序
    • 处理多环境
  • 控制器和路由
    • URI 路由
    • 控制器
    • 控制器过滤器
    • 控制器注解
    • 自动路由(改进版)
    • HTTP 消息
    • Request 类
    • IncomingRequest 类
    • 内容协商
    • HTTP 方法伪装
    • RESTful 资源处理
  • 构建响应
    • 视图
    • 视图渲染器
    • 视图布局
    • 视图单元
    • 视图解析器
    • 视图装饰器
    • HTML Table 类
    • HTTP 响应
    • API 响应
    • API 资源
    • 内容安全策略
    • 本地化
    • 在视图文件中使用 PHP 替代语法
  • 数据库操作
    • 快速入门:使用示例
    • 数据库配置
    • 连接数据库
    • Running Queries
    • Generating Query Results
    • 查询辅助方法
    • Query Builder Class
    • Transactions
    • Getting Metadata
    • 自定义函数调用
    • 数据库事件
    • Database Utilities
  • 数据建模
    • 使用 CodeIgniter 的模型
    • 使用实体类
  • 管理数据库
    • 数据库 Forge
    • 数据库迁移
    • 数据库填充
    • 数据库命令
  • 类库参考
    • 缓存驱动
    • Cookie 类
    • 跨域资源共享 (CORS)
    • CURLRequest 类
    • Email 类
    • 加密服务
    • 处理文件
    • 文件集合
    • Honeypot 类
    • 图像处理类
    • 分页
    • Publisher 类
    • Security 类
    • Session 类
    • Throttler 类
    • 时间与日期
    • Typography 类
    • 处理上传文件
    • 处理 URI
    • User Agent 类
    • Validation 类
  • 辅助函数
    • 数组辅助函数
    • Cookie 辅助函数
    • 日期辅助函数
    • 文件系统辅助函数
    • 表单辅助函数
    • HTML 辅助函数
    • Inflector 辅助函数
    • 数字辅助函数
    • 安全辅助函数
    • 测试辅助函数
    • 文本辅助函数
    • URL 辅助函数
    • XML 辅助函数
  • 测试
    • 入门指南
    • 数据库
    • 生成数据
    • 测试控制器
    • HTTP 测试
    • 测试响应
    • 测试 CLI 命令
    • 模拟
    • 基准测试
    • 调试应用
    • Session 测试
  • 命令行使用
    • CLI 概述
    • 通过 CLI 运行控制器
    • Spark 命令
    • 创建 Spark 命令
    • CLI 生成器
    • CLI 库
    • CLI Signals
    • CLIRequest 类
  • 扩展 CodeIgniter
    • 创建核心系统类
    • 替换通用函数
    • 事件
    • 扩展控制器
    • 身份验证
    • 创建 Composer 包
    • 为 CodeIgniter 做贡献
  • 官方包
CodeIgniter
  • 辅助函数
  • Cookie 辅助函数

Cookie 辅助函数

Cookie 辅助函数文件包含协助处理 Cookie 的相关函数。

  • 加载此辅助函数

  • 可用函数

加载此辅助函数

使用以下代码加载此辅助函数:

<?php

helper('cookie');

可用函数

提供以下函数:

set_cookie($name[, $value = ''[, $expire = 0[, $domain = ''[, $path = '/'[, $prefix = ''[, $secure = false[, $httpOnly = false[, $sameSite = '']]]]]]]])
参数:
  • $name (array|Cookie|string) -- Cookie 名称 或 包含所有可用参数的关联数组 或 CodeIgniter\Cookie\Cookie 实例

  • $value (string) -- Cookie 值

  • $expire (int) -- 过期前的秒数。如果设置为 0,Cookie 仅在浏览器打开期间有效

  • $domain (string) -- Cookie 域名(通常为:.yourdomain.com)

  • $path (string) -- Cookie 路径

  • $prefix (string) -- Cookie 名称前缀。如果设置为 '',则使用 app/Config/Cookie.php 中的默认值

  • $secure (bool) -- 是否仅通过 HTTPS 发送 Cookie。如果设置为 null,则使用 app/Config/Cookie.php 中的默认值

  • $httpOnly (bool) -- 是否对 JavaScript 隐藏 Cookie。如果设置为 null,则使用 app/Config/Cookie.php 中的默认值

  • $sameSite (string) -- SameSite Cookie 参数的值。如果设置为 null,则使用 app/Config/Cookie.php 中的默认值

返回类型:

void

备注

在 v4.2.7 之前,由于一个 bug,$secure 和 $httpOnly 的默认值为 false, app/Config/Cookie.php 中的这些值从未被使用。

此辅助函数提供了更友好的语法来设置浏览器 Cookie。 有关其使用的描述,请参阅 Response 库, 因为该函数是 CodeIgniter\HTTP\Response::setCookie() 的别名。

备注

此辅助函数仅将浏览器 Cookie 设置到 Services::response() 返回的全局 Response 实例中。因此,如果你创建并返回另一个 Response 实例(例如,如果你调用 redirect()), 此处设置的 Cookie 将不会自动发送。

get_cookie($index[, $xssClean = false[, $prefix = '']])
参数:
  • $index (string) -- Cookie 名称

  • $xssClean (bool) -- 是否对返回值应用 XSS 过滤

  • $prefix (string|null) -- Cookie 名称前缀。如果设置为 '',将使用 app/Config/Cookie.php 中的默认值。如果设置为 null,则不使用前缀

返回:

Cookie 值,如果未找到则返回 null

返回类型:

mixed

备注

自 v4.2.1 起,引入了第三个参数 $prefix,由于 bug 修复,行为发生了一些变化。详情请参阅 升级。

此辅助函数提供了更友好的语法来获取浏览器 Cookie。 有关其使用的详细描述,请参阅 IncomingRequest 库, 因为该函数与 CodeIgniter\HTTP\IncomingRequest::getCookie() 的行为非常相似, 不同之处在于它还会在 app/Config/Cookie.php 文件中你设置的 Config\Cookie::$prefix 前面加上前缀。

警告

使用 XSS 过滤是一种不良实践。它不能完全防止 XSS 攻击。建议在视图中使用正确 $context 的 esc() 函数。

delete_cookie($name[, $domain = ''[, $path = '/'[, $prefix = '']]])
参数:
  • $name (string) -- Cookie 名称

  • $domain (string) -- Cookie 域名(通常为:.yourdomain.com)

  • $path (string) -- Cookie 路径

  • $prefix (string) -- Cookie 名称前缀

返回类型:

void

允许你删除一个 Cookie。除非你设置了自定义路径或其他值, 否则只需要 Cookie 的名称即可。

<?php

delete_cookie('name');

此函数在其他方面与 set_cookie() 完全相同,只是 它没有 value 和 expire 参数。

这也只是将用于删除 Cookie 的浏览器 Cookie 设置到 Services::response() 返回的全局 Response 实例中。

备注

当你使用 set_cookie() 时, 如果 value 设置为空字符串且 expire 设置为 0,则 Cookie 将被删除。 如果 value 设置为非空字符串且 expire 设置为 0,则 Cookie 仅在浏览器打开期间有效。

你可以在第一个参数中提交一个值数组, 也可以设置离散的参数。

<?php

delete_cookie($name, $domain, $path, $prefix);
has_cookie(string $name[, ?string $value = null[, string $prefix = '']])
参数:
  • $name (string) -- Cookie 名称

  • $value (string|null) -- Cookie 值

  • $prefix (string) -- Cookie 前缀

返回类型:

bool

检查在 Services::response() 返回的全局 Response 实例中 是否存在指定名称的 Cookie。这是 CodeIgniter\HTTP\Response::hasCookie() 的别名。

上一页 下一页

© 版权所有 2019-2026 CodeIgniter 基金会。 最后更新于 2026-04-20.

利用 Sphinx 构建,使用的 主题 由 Read the Docs 开发.

由 CodeIgniter 中国开发者社区翻译并制作

Github 简体中文翻译 · 离线版压缩包下载 · PDF 版下载