当在二级目录中使用SpeedPHP框架时,自动获取当前访问的文...

#1 culone

// 当在二级目录中使用SpeedPHP框架时,自动获取当前访问的文件名

if('' == $GLOBALS['G_SP']['url']["url_path_base"]){
        if(basename($_SERVER['SCRIPT_NAME']) === basename($_SERVER['SCRIPT_FILENAME']))
                $GLOBALS['G_SP']['url']["url_path_base"] = $_SERVER['SCRIPT_NAME'];
        elseif (basename($_SERVER['PHP_SELF']) === basename($_SERVER['SCRIPT_FILENAME']))
                $GLOBALS['G_SP']['url']["url_path_base"] = $_SERVER['PHP_SELF'];
        elseif (isset($_SERVER['ORIG_SCRIPT_NAME']) && basename($_SERVER['ORIG_SCRIPT_NAME']) === basename($_SERVER['SCRIPT_FILENAME']))
                $GLOBALS['G_SP']['url']["url_path_base"] = $_SERVER['ORIG_SCRIPT_NAME'];
}
这段代码没看懂!
basename($_SERVER['SCRIPT_NAME']) === basename($_SERVER['SCRIPT_FILENAME'])
这有不成立的时候吗?


2012-12-16 23:52:51

#2 jake

会有,比如说像IIS,就可以设置虚拟的脚本SCRIPT_NAME对应不同的文件SCRIPT_FILENAME

或者换句话说,如果两个是绝对相等的话,PHP也不需要加入这么一个环境变量了。

2012-12-17 08:51:09