首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP header()函数

PHP header()函数
EN

Stack Overflow用户
提问于 2013-07-23 06:48:52
回答 4查看 1.5K关注 0票数 2

我正在尝试集成我公司的一个合作伙伴的网站,我在这里遇到了这样的情况:

代码语言:javascript
复制
header("Location: field/index.php", overwrite); 

我浏览了header()函数的PHP手册,但没有找到一个名为overwrite的参数。有没有人能给我点提示?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-07-23 07:00:40

例如,它(覆盖)可以是一个常量

代码语言:javascript
复制
define('overwrite', true);
header("Location: field/index.php", overwrite);

在本例中,overwrite表示布尔型true,它被用来替换之前的头部。

虽然常量应该使用大写字母来声明,但如果有人使用小写字母来声明常量,则不会抛出任何错误。定义常量的推荐方法是

代码语言:javascript
复制
defined('OVERWRITE') or define('OVERWRITE', TRUE);

值得一提的是,以这种方式定义的任何常量在整个脚本/应用程序中都是全局可用的,基本上开发人员在脚本或应用程序的最开始定义常量,它可以在不同的文件中定义(在启动时包含/执行),因此,您可能在当前脚本中看不到它。

票数 1
EN

Stack Overflow用户

发布于 2013-07-23 06:52:29

第二个参数(replace)的含义与overwrite相同。如果您看到这一行:

代码语言:javascript
复制
header("Location: field/index.php", overwrite);

这很可能是无效的(如果覆盖是一个常量,那么它在技术上是有效的)。它应该是:

代码语言:javascript
复制
header("Location: field/index.php", true);
票数 3
EN

Stack Overflow用户

发布于 2013-07-23 06:52:49

PHP header()有三个参数

HTTP字符串:( here)

  • http_response_code:用于强制
  • 响应代码替换:一个布尔选项,用于覆盖以前的类似报头

来自the documentation

可选的replace参数指示标头是否应替换以前的类似标头...默认情况下,它将替换

代码中的overwrite值无效,因为它是一个不带引号的字符串,而布尔值应该在其中。使用header("Location: field/index.php", true);是正确的,但是因为true是默认的,所以您只需要header("Location: field/index.php")

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17798752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档