<?php
// to get current page url, write echo get_current_page_url();
function get_current_page_url() {
$page_url = 'http';
if ($_SERVER['HTTPS'] == 'on') {
$page_url .= 's';
}
$page_url .= '://';
if ($_SERVER['SERVER_PORT'] != '80') {
$page_url .= $_SERVER['SERVER_NAME'] . ':' . $_SERVER['SERVER_PORT'] . $_SERVER['REQUEST_URI'];
}
else {
$page_url .= $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
}
return $page_url;
}
?>
Why do you need to show the port number?
If the web server is not being addressed on a standard port, it would be necessary to include it in a URL in order to point to the correct service on the machine hosting the web server. Browsers and other HTTP clients pretty much assume port :80 as a default. SSL clients pretty much assume port :443 as a default.
That said, the code should be checking not only for port :80, but also port :443 to determine whether to omit the port number. As the code is now, it would unnecessarily add port :443 to all SSL requests.