我正在尝试集成我公司的一个合作伙伴的网站,我在这里遇到了这样的情况:
header("Location: field/index.php", overwrite); 我浏览了header()函数的PHP手册,但没有找到一个名为overwrite的参数。有没有人能给我点提示?
发布于 2013-07-23 07:00:40
例如,它(覆盖)可以是一个常量
define('overwrite', true);
header("Location: field/index.php", overwrite);在本例中,overwrite表示布尔型true,它被用来替换之前的头部。
虽然常量应该使用大写字母来声明,但如果有人使用小写字母来声明常量,则不会抛出任何错误。定义常量的推荐方法是
defined('OVERWRITE') or define('OVERWRITE', TRUE);值得一提的是,以这种方式定义的任何常量在整个脚本/应用程序中都是全局可用的,基本上开发人员在脚本或应用程序的最开始定义常量,它可以在不同的文件中定义(在启动时包含/执行),因此,您可能在当前脚本中看不到它。
发布于 2013-07-23 06:52:29
第二个参数(replace)的含义与overwrite相同。如果您看到这一行:
header("Location: field/index.php", overwrite);这很可能是无效的(如果覆盖是一个常量,那么它在技术上是有效的)。它应该是:
header("Location: field/index.php", true);发布于 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")。
https://stackoverflow.com/questions/17798752
复制相似问题