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]);
        }
    }
  • 相关阅读:
    supervised learning 监督式学习
    4.4 day14 内置函数
    4.3 day13 迭代器 生成器
    4.2 homework
    4.2 day12 装饰器-带参数
    3.29 homework
    SQL Server 索引和视图
    SQL Server 事务、异常和游标
    SQL Server 触发器
    SQL Server 存储过程
  • 原文地址:https://www.cnblogs.com/echoshao/p/6511187.html
Copyright © 2011-2022 走看看