介绍
这篇文章给大家介绍在PHP中使用getallheaders无法获取自定义头如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
PHP有什么用
PHP是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及PHP自创新的语法,主要用来做网站开发,许多小型网站都用PHP开发,因为PHP是开源的,从而使PHP经得久不衰。
请求如下所示:
var_dump (getallheaders);
一开始通过getallheaders参数获取,但是发现在nginx部署的服务器上获取不到,非常奇怪,查看PHP手册发现getallheaders这个函数只支持apache服务器。于是找到兼容的方法:
if (! function_exists (& # 39; getallheaders& # 39;)), { function getallheaders (), { 数组$ headers =, (); foreach (_SERVER 美元;as name 美元;=祝辞,美元值),{ if (substr(名称、美元,0,,5),==,& # 39;HTTP_& # 39;), { $头[str_replace(& # 39;, & # 39;,, & # 39; & # 39;,,函数(函数(str_replace (& # 39; _ # 39;,, & # 39;, & # 39;,, substr(美元的名字,,5)))))),=,美元价值; } } return 美元头; } } var_dump (getallheaders ());
实际上这个方法就是找到$ _SERVER变量中以HTTP_开头的属性,对属性做一个字符串替换这样。$ _SERVER变量中的HTTP_USER_ID实际就是上面自定义的用户id:
关于在PHP中使用getallheaders无法获取自定义头如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。