处理 url类

来源:互联网 发布:excel2003删除重复数据 编辑:程序博客网 时间:2024/06/05 01:51
<?phpclass RequestPath{    private $parts=array(); //存储请求URL的所有部分             /********        函数名  :__construct()        函数功能 :构造函数负责实际路径的解析        e.g : http://域名/网页/动作/动作类型/参数1名称/参数1值/参数2名称/参数2值...        e.g : http://www.huiff.com/RequestPath.class.php/edit/trackbacks/page/2/flag/4    *********************************************************************************************/    public function __construct()    {        if(isset($_SERVER['PATH_INFO']))        {            $path= (substr($_SERVER['PATH_INFO'],-1) == '/') ? substr($_SERVER['PATH_INFO'],0,-1) :$_SERVER['PATH_INFO'];        }        else        {            $path= (substr($_SERVER['REQUEST_URI'],-1) == '/') ? substr($_SERVER['REQUEST_URI'],0,-1) : $_SERVER['REQUEST_URI'];          }         $bits             = explode('/',substr($path,1));        $parsed['action'] = array_shift($bits); //将数组头部移出数组        $parsed[]         = $parsed['action'];        $parsed['type']   = array_shift($bits); //将数组头部移出数组        $parsed[]         = $parsed['type'];              $parts_size=sizeof($bits);        if($parts_size % 2 != 0)        {            $parts_size -=1;          }        for( $i = 0 ; $i < $parts_size ; $i += 2 )        {            $parsed[$bits[$i]] = $bits[$i+1];            $parsed[]          = $bits[$i+1];         }        if(sizeof($bits) % 2 !=0)        {            $parsed[] = array_pop($bits);         }        $this->parts = $parsed;    }              /***********************************************************************************************    函数名   :__get  __set __isset    函数功能 :以下函数分别为获取,设置,和测试路径元素植           参数$key :参数名称                 ***********************************************************************************************/    public function __get($key)    {        return $this->parts[$key];     }    public function __set($key , $value)    {        $this->parts[$key]=$value;     }     public function __isset($key)    {        return isset($this->parts[$key]);      } }  //这里是运用$url = new RequestPath();echo "action = ".$url->__get('action')."";echo "type = ".$url->__get('type')."";echo "page = ".$url->__get('page')."";echo "index = ".$url->__get('index')."";echo "aa = ".$url->__get('aa')."";


	
				
		
原创粉丝点击