Regarding using php to obtain the URL of the current script, many friends will say that it is very simple, but to obtain very detailed information, you need to go through multiple judgments.
$PHP_TIME = time();
$PHP_SELF = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : (isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME' ] : $_SERVER['ORIG_PATH_INFO']);
/**
Get the name of the currently running script: It seems a bit confusing at first. Why don’t you use if else? Look at something like this. It is best to look from right to left. It's easier to understand this way. $_SERVER['SCRIPT_NAME'] $_SERVER['PHP_SELF'] $_SERVER['ORIG_PATH_INFO'] These three server global variables obtain the current script name. It mainly depends on the current environment of the server. Whatever exists, take that.
isset() function is very useful. Tests whether a variable has been defined. Note: $a= NULL; isset($a) will return false. Note the usage of isset and empty functions. If used incorrectly, big problems may arise. Read the manual yourself.
*/
$PHP_QUERYSTRING = $_SERVER['QUERY_STRING'];
$PHP_DOMAIN = $_SERVER['SERVER_NAME'];
$PHP_REFERER = isset( $_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
$PHP_SCHEME = $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://' ; //Test whether the server has started the ssl connection and if so. Just use https:// secure connection for communication
$PHP_PORT = $_SERVER['SERVER_PORT'] == '80' ? '' : ':'.$_SERVER['SERVER_PORT'];
$PHP_SITEURL = $PHP_SCHEME. $PHP_DOMAIN.$PHP_PORT.PHPCMS_PATH;
$PHP_URL = $PHP_SCHEME.$PHP_DOMAIN.$PHP_PORT.$PHP_SELF.($PHP_QUERYSTRING ? '?'.$PHP_QUERYSTRING : '');
/**
Get the URL of the current script
*/
Thank you for reading, I hope it can help you. If you want to get more related articles, please pay attention to the PHP Chinese website (www.php.cn)!