为什么这个PHP apache_request_headers不能在IIS 7工作 [英] Why this php apache_request_headers doesn't work on IIS 7
本文介绍了为什么这个PHP apache_request_headers不能在IIS 7工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这适用于Apache的,为什么它似乎并没有在IIS 7上运行?
如果(!function_exists('apache_request_headers')){
功能apache_request_headers(){
$头=阵列();
的foreach($ _ SERVER为$关键=> $值){
如果(SUBSTR($键,0,5)=='HTTP_'){
$头[str_replace函数('',' - ',ucwords(str_replace函数('_','',用strtolower(SUBSTR($键,5)))))] = $价值;
}
}
返回$头;
}
}功能getCurrentPageUrl(){
$ PAGEURL ='HTTP';
如果($ _ SERVER [HTTPS] ==关于){$ PAGEURL =S;}
$ PAGEURL =://。
如果($ _ SERVER [SERVER_PORT]!=80){
。$ PAGEURL = $ _ SERVER [SERVER_NAME]:。$ _ SERVER [SERVER_PORT] $ _ SERVER [REQUEST_URI];
}其他{
。$ PAGEURL = $ _ SERVER [SERVER_NAME] $ _ SERVER [REQUEST_URI]。
}
返回$ PAGEURL;
}$ A = apache_request_headers();$ POS = strrpos($ A [用户代理],REBOL);
解决方案
这是Apache的具体,看着文档。
http://php.net/manual/en/function。 Apache的请求headers.php
This works on Apache, why it doesn't seem to work on IIS 7 ?
if(!function_exists('apache_request_headers')) {
function apache_request_headers() {
$headers = array();
foreach($_SERVER as $key => $value) {
if(substr($key, 0, 5) == 'HTTP_') {
$headers[str_replace(' ', '-', ucwords(str_replace('_', ' ', strtolower(substr($key, 5)))))] = $value;
}
}
return $headers;
}
}
function getCurrentPageUrl() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
$a = apache_request_headers();
$pos = strrpos($a["User-Agent"], "REBOL");
解决方案
It's Apache specific, looking at the Docs.
http://php.net/manual/en/function.apache-request-headers.php
这篇关于为什么这个PHP apache_request_headers不能在IIS 7工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文