`
tw5566
  • 浏览: 459150 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

php 网址解析

    博客分类:
  • php
 
阅读更多
	
/*
'URL_REWRITE_ON' => false,//是否开启重写,true开启重写,false关闭重写	
'URL_MODULE_DEPR' => '/',//模块分隔符,一般不需要修改
'URL_ACTION_DEPR' => '-',//操作分隔符,一般不需要修改
'URL_PARAM_DEPR' => '-',//参数分隔符,一般不需要修改
'URL_HTML_SUFFIX' => '.html',//伪静态后缀设置,例如 .html ,一般不需要修改
'URL_HTTP_HOST' => '', //设置网址域名,cp2.0添加
*/


//网址解析
    private function _parseUrl(){

		$script_name = $_SERVER["SCRIPT_NAME"];//获取当前文件的路径
		$url = $_SERVER["REQUEST_URI"];//获取完整的路径,包含"?"之后的字符串
		
		//去除url包含的当前文件的路径信息
		if ( $url && @strpos($url,$script_name,0) !== false ){
			$url = substr($url, strlen($script_name));
		} else {
			$script_name = str_replace(basename($_SERVER["SCRIPT_NAME"]), '', $_SERVER["SCRIPT_NAME"]);
			if ( $url && @strpos($url, $script_name, 0) !== false ){
				$url = substr($url, strlen($script_name));
			}
		}
	
		//第一个字符是'/',则去掉
		if ($url[0] == '/') {
			$url = substr($url, 1);
		}		
		
		//去除问号后面的查询字符串
		if ( $url && false !== ($pos = @strrpos($url, '?')) ) {
			$url = substr($url,0,$pos);
		}
		
		//去除后缀
		if ($url&&($pos = strrpos($url,$this->appConfig['URL_HTML_SUFFIX'])) > 0) {
			$url = substr($url,0,$pos);
		}
		
		$flag=0;
		//获取模块名称
		if ( $url && ($pos = @strpos($url, $this->appConfig['URL_MODULE_DEPR'], 1) )>0 ) {
			self::$module = substr($url,0,$pos);//模块
			$url = substr($url,$pos+1);//除去模块名称,剩下的url字符串
			$flag = 1;//标志可以正常查找到模块
		} else {	//如果找不到模块分隔符,以当前网址为模块名
			self::$module = $url;
		}
		
		$flag2=0;//用来表示是否需要解析参数
		//获取操作方法名称
		if($url&&($pos=@strpos($url,$this->appConfig['URL_ACTION_DEPR'],1))>0) {
			self::$action = substr($url, 0, $pos);//模块
			$url = substr($url, $pos+1);
			$flag2 = 1;//表示需要解析参数
		} else {
			//只有可以正常查找到模块之后,才能把剩余的当作操作来处理
			//因为不能找不到模块,已经把剩下的网址当作模块处理了
			if($flag){
				self::$action=$url;
			}
		}				
		//解析参数
		if($flag2) {
			$param = explode($this->appConfig['URL_PARAM_DEPR'], $url);
			$param_count = count($param);
			for($i=0; $i<$param_count; $i=$i+2) {			
				$_GET[$i] = $param[$i];
				if(isset($param[$i+1])) {
					if( !is_numeric($param[$i]) ){
						$_GET[$param[$i]] = $param[$i+1];
					}
					$_GET[$i+1] = $param[$i+1];
				}
			}	
		}	
	}

 

分享到:
评论

相关推荐

    PHP解析器,解析php文件

    PHP解析器是用于处理PHP(Hypertext Preprocessor)源代码的软件工具,它能够将PHP语言编写的脚本转化为可执行的代码,通常是为了在Web服务器上运行这些脚本。PHP是一种广泛使用的开源服务器端脚本语言,特别适合于...

    PHP word解析数学公式

    本篇文章将深入探讨如何使用PHP解析包含数学公式、图片以及数字上下标的Word文档。 1. **PHP与Word文档解析** PHP可以借助一些开源库来解析Word文档,如PHPWord、PHPDocX等。这些库允许开发者读取、创建和编辑Word...

    php解析xml实例

    php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例php解析xml实例

    DWZ短网址解析系统php版v3.0build20131107运营版

    【DWZ短网址解析系统php版v3.0build20131107运营版】是一款基于PHP编程语言的开源网址缩短服务系统。它主要用于解决互联网上长链接不便分享和记忆的问题,通过技术手段将冗长的URL转换为简短的、易于传播的短网址。...

    php(解析*.php文件)

    在“php(解析*.php文件)”这个主题中,我们将深入探讨PHP解析器的工作原理,以及如何配置PHP环境。 首先,PHP解析器是PHP运行的核心组件,它的主要任务是读取*.php文件,解析其中的PHP代码,并将其转换为服务器能够...

    蓝奏云网盘直链解析PHP源码

    【标题】"蓝奏云网盘直链解析PHP源码"涉及到的核心技术是PHP编程语言以及网络请求库CURL的应用。在PHP中,蓝奏云网盘直链解析主要是为了获取存储在蓝奏云上的文件的直接下载链接,以便用户可以无需通过蓝奏云的网页...

    一个用PHP编写的PHP解析器

    标题中的“一个用PHP编写的PHP解析器”指的是PHP Parser,这是一个开源项目,由nikic维护,用于解析PHP源代码并将其转化为抽象语法树(AST)。这个解析器可以帮助开发者理解和操作PHP代码,尤其是在进行静态代码分析...

    PHP解析HTML代码库

    本文将深入探讨"PHP解析HTML代码库",包括其核心概念、用途以及如何使用。 1. **核心概念**: - **DOM(Document Object Model)**: DOM是HTML和XML文档的标准表示方法,它将文档视为一个可编程的对象树。PHP中的`...

    二维码解析php类库

    "二维码解析php类库"是一个专门针对这一需求开发的工具,它允许开发者通过PHP轻松地读取和解析二维码数据。 二维码(Quick Response Code)是一种二维条码,由黑白相间的模块组成,可以存储大量的信息,如文本、...

    PHP解析APK包获取所有信息

    本文将深入探讨如何利用PHP解析APK包,获取其中包含的各种元数据,如应用名称、版本信息、图标名以及包名等关键信息。 首先,我们需要了解APK文件的本质。APK是Android系统中应用的安装包格式,它实际上是一个ZIP...

    php域名解析信息查询网页版小工具 v2.0

    php域名解析信息查询工具网页版可查域名解析的IP,以及A、CNAME、MX、NS、TXT、AAAA、SRV等解析记录。是网站站长及用到域名的技术员必备的实用小工具,通过访问网址快速使用。推荐linux平台php5.4-5.6 环境使用本源码...

    基于PHP的DWZ短网址解析系统 php版 运营版.zip

    【标题】中的“基于PHP的DWZ短网址解析系统 php版 运营版.zip”表明这是一个使用PHP语言开发的短网址服务系统,适用于运营环境。短网址服务是一种将长网址缩短为简短易记的网址的技术,常用于社交媒体、营销活动或者...

    单文件123网盘在线解析PHP源码

    单文件123网盘在线解析PHP源码,一种非常实用的工具,可 以方便地帮助用户在网页上直接解析出其它网站中的资源,并 提供下载链接。当用户需要获取某些资源时,往往需要通过各 种搜索引擎或者专业的资源网站进行查找...

    一个好用的php模版解析类

    "一个好用的PHP模版解析类"是针对这个主题的具体实现,提供了一种高效、易于维护的方式来构建动态网站。 模板引擎的核心思想是通过定义特定的语法或标记来嵌入动态内容。在PHP中,这种模板解析类通常会识别如`{{...

    php快速解析xml

    php快速解析xml已经试过,很好用。内赋了简单的使用方法,可以仿照例子进行解析。

    基于PHP的DWZ短网址解析系统php版运营版源码.zip

    【标题】"基于PHP的DWZ短网址解析系统php版运营版源码.zip" 提供的是一个使用PHP语言开发的短网址服务系统,该系统专为运营版本设计,旨在高效地管理和解析短链接。DWZ(Dynamic Website ZONE)是一个流行且功能丰富...

    qzone.rar_QQ空间php解析_php 登录QQ空间_php添加留言板_site:www.pudn.com_空间PHP源

    QQ空间PHP解析与登录QQ空间的PHP实现是一个常见的Web开发技术话题,主要涉及到PHP编程语言在社交网络应用中的运用。这个"qzone.rar"压缩包包含了一份PHP源码,允许用户通过PHP脚本直接在QQ空间上增加留言,且无需...

    PHP实例开发源码-DWZ短网址解析系统 php版 运营版.zip

    PHP实例开发源码—DWZ短网址解析系统 php版 运营版.zip PHP实例开发源码—DWZ短网址解析系统 php版 运营版.zip PHP实例开发源码—DWZ短网址解析系统 php版 运营版.zip

    xw_最简单的二次解析源码内附一次解析接口_二次解析站_源码

    在IT领域,二次解析是一种常见的视频流处理技术,主要...通过分析和理解`xw.php`的源码,可以进一步掌握PHP编程、网络请求处理以及视频流解析等技能。同时,也要注意版权和合法性问题,确保在合法范围内使用此类技术。

Global site tag (gtag.js) - Google Analytics