zoukankan      html  css  js  c++  java
  • PHP获取当前页面的URL

    /**
     * 获取当前页面完整URL地址
     *
     * @author 52php.cnblogs.com
     */
    function http_get_page_url()
    {
    	global $_G;
    
    	if (empty($_G['pageUrl']))
    	{
    		$protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://';
    		$phpSelf = $_SERVER['PHP_SELF'] ? string_safe_replace($_SERVER['PHP_SELF']) : string_safe_replace($_SERVER['SCRIPT_NAME']);
    		$pathInfo = isset($_SERVER['PATH_INFO']) ? string_safe_replace($_SERVER['PATH_INFO']) : '';
    		$relateUrl = isset($_SERVER['REQUEST_URI']) ? string_safe_replace($_SERVER['REQUEST_URI']) : $phpSelf . (isset($_SERVER['QUERY_STRING']) ? '?' . string_safe_replace($_SERVER['QUERY_STRING']) : $pathInfo);
    		$_G['pageUrl'] = trim($protocal . (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '') . $relateUrl, '/');
    	}
    
    	// 删除 backUrl 参数
    	$_G['pageUrl'] = preg_replace('/&backUrl=[^&]+/', '', $_G['pageUrl']);
    
    	return $_G['pageUrl'];
    }
    /**
     * 安全过滤函数
     *
     * @param string $string
     * @return string
     */
    function string_safe_replace($string)
    {
    	$string = str_replace('%20', '', $string);
    	$string = str_replace('%27', '', $string);
    	$string = str_replace('%2527', '', $string);
    	$string = str_replace('*', '', $string);
    	$string = str_replace('"', '"', $string);
    	$string = str_replace("'", '', $string);
    	$string = str_replace('"', '', $string);
    	$string = str_replace(';', '', $string);
    	$string = str_replace('<', '&lt;', $string);
    	$string = str_replace('>', '&gt;', $string);
    	$string = str_replace("{", '', $string);
    	$string = str_replace('}', '', $string);
    	$string = str_replace('\', '', $string);
    
    	return $string;
    }

    延伸阅读:

    $_SERVER["SCRIPT_NAME"]、$_SERVER["PHP_SELF"]、$_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]

  • 相关阅读:
    常见mysql中出现的问题
    php 根据身份证号相关操作
    Linux的上传文件和下载文件
    php实现socket
    PHP开启缓存加速
    spark使用Hive表操作
    部署ganglia3.7
    Redis Cluster架构优化
    spark读取hdfs数据本地性异常
    spark join broadcast优化
  • 原文地址:https://www.cnblogs.com/52php/p/5669711.html
Copyright © 2011-2022 走看看