为什么这个PHP apache_request_headers不能在IIS 7工作 [英] Why this php apache_request_headers doesn't work on IIS 7

查看:329
本文介绍了为什么这个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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆