zoukankan      html  css  js  c++  java
  • uri.php

    <?php 
    /**
    * 
    */
    class URI
    {
        function _fetch_uri_string()    
        {
            if(strtoupper($uri_protocol) == 'AUTO')
            {
                if(php_sapi_name() == 'cli')
                {
                    return;
                }
    
                $path = (isset($_SERVER['PATH_INFO']))?$_SERVER['PATH_INFO']:@getenv('PATH_INFO');
    
                $path = (isset($_SERVER['QUERY_STRING']))?$_SERVER['QUERY_STRING']:@getenv('QUERY_STRING');
    
                if(is_array($_GET) && count($_GET) == 1 && trim(key($_GET),'/') != '')
                {
                    key($_GET);
                }
    
                if(!isset($_SERVER['REQUEST_URI']) OR !isset($_SERVER['SCRIPT_NAME']))
                {
                    return '';
                }
                $uri = $_SERVER['REQUEST_URI'];
                if (strpos($uri, $_SERVER['SCRIPT_NAME']) == 0) {
                    $uri = substr($uri, strlen(dirname($_SERVER['SCRIPT_NAME'])));
                }
                if(strncmp($uri, '?/', 2) === 0)
                {
                    $uri = substr($uri, 2);
                }
                $parts = preg_split('#?#i', $uri, 2);
                $uri = $parts[0];
                if(isset($parts[1]))
                {
                    $_SERVER['QUERY_STRING'] = $parts[1];
                    parse_str($_SERVER['QUERY_STRING'], $_GET);
                }
                
                $uri = parse_url($uri, PHP_URL_PATH);
    
                return str_replace(array('//', './'), '/', trim($uri, '/'));
            }
        }
        private function _parse_cli_args()
        {
            $args = array_slice($_SERVER['argv'], 1);
            $uri_string = preg_replace('|'.preg_quote($suffix).'$|', '', $uri);
            return $args?'/'.implode('/', $args):'';
        }
    
        function _reindex_segments()
        {
            array_unshift($segments, NULL);
            unset($segments[0]);
        }
    }
  • 相关阅读:
    linux-nohup后台运行
    linux-友好显示文件大小
    System.exit(0)会跳过finally块的执行
    Spark-scala-API
    Lua协程-测试3
    Lua协程-测试2
    Lua协程
    费马大定理
    Spring事务超时、回滚的相关说明
    springboot测试service层的单元测试
  • 原文地址:https://www.cnblogs.com/echoshao/p/6511187.html
Copyright © 2011-2022 走看看