我正在尝试整合我公司合作伙伴的网站,我在这里遇到了这一行:
header("Location: field/index.php", overwrite);
我浏览了header()
函数的PHP手册,但找不到名为overwrite
的参数。
有人能给我任何线索吗?
答案 0 :(得分:3)
第二个参数(replace)与覆盖相同。如果你看到这一行:
header("Location: field/index.php", overwrite);
这很可能无效(如果覆盖是常量,则技术上有效)。它应该是:
header("Location: field/index.php", true);
答案 1 :(得分:1)
PHP header()
有三个参数:
"Location: field/index.php"
此处)http_response_code
:用于强制HTTP响应代码可选的replace参数指示标头是否应该 替换以前的类似标题[...]默认情况下,它将替换
代码中的overwrite
值无效,因为它是一个不带引号的字符串,其中应该是布尔值。使用header("Location: field/index.php", true);
是正确的,但由于true
是默认设置,因此您只需要header("Location: field/index.php")
。
答案 2 :(得分:1)
它(覆盖)可以是常量,例如
define('overwrite', true);
header("Location: field/index.php", overwrite);
在这种情况下,overwrite
代表布尔true
,用于替换之前的标题。
虽然,常量应该使用大写字母声明,但如果有人使用小写字母,它不会引发任何错误。建议定义常量的方法是
defined('OVERWRITE') or define('OVERWRITE', TRUE);
值得一提的是,任何以这种方式定义的常量都可以在整个脚本/应用程序中全局使用,基本上开发人员在脚本或应用程序的最开始定义常量,并且可以在不同的文件中定义(包括/在启动时执行)因此,您可能在当前脚本中看不到它。
答案 3 :(得分:0)
http://us3.php.net/manual/en/function.header.php
php网站对这类问题很有用。第二个参数只是告诉它是否“覆盖”(替换)已经设置的值。
请注意,传递给函数的值不一定与参数名称有任何关系。它们只是按顺序使用。在这里,overwrite
必须是其他地方的变量集,尽管令人惊讶的是它没有前面的典型$将它标记为PHP中的变量。评估变量overwrite,并将其值作为头函数中的第二个参数传递。