Чтобы получить ссылку на текущую страницу в PHP, вы можете использовать несколько методов. Ниже я объясню несколько распространенных подходов на примерах кода:
Метод 1: использование $_SERVER[’PHP_SELF’]
$currentLink = $_SERVER['PHP_SELF'];
Этот метод получает путь и имя текущего файла относительно корня документа. Однако он не содержит никаких параметров запроса.
Метод 2: использование $_SERVER[’REQUEST_URI’]
$currentLink = $_SERVER['REQUEST_URI'];
Этот метод извлекает полный URL-адрес, включая параметры запроса, если таковые имеются. Он возвращает путь, имя файла и строку запроса текущей страницы.
Метод 3: использование $_SERVER[’SCRIPT_NAME’] и $_SERVER[’QUERY_STRING’]
$currentLink = $_SERVER['SCRIPT_NAME'];
if ($_SERVER['QUERY_STRING']) {
$currentLink .= '?' . $_SERVER['QUERY_STRING'];
}
Этот метод объединяет имя скрипта и строку запроса (если есть) для получения URL-адреса текущей страницы.
Метод 4: использование $_SERVER[’HTTP_HOST’] и $_SERVER[’REQUEST_URI’]
$currentLink = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
Этот метод создает полный URL-адрес, используя HTTP-хост и URI запроса.
Метод 5. Использование функции get_current_url()
function get_current_url()
{
$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http';
$host = $_SERVER['HTTP_HOST'];
$uri = $_SERVER['REQUEST_URI'];
return $protocol . '://' . $host . $uri;
}
$currentLink = get_current_url();
Этот метод инкапсулирует логику в пользовательскую функцию для упрощения повторного использования.