Эффективные способы получения URL-адреса сайта с помощью протокола в PHP

При работе с PHP обычно требуется URL-адрес веб-сайта, включая протокол (например, «http://» или «https://»). В этой статье блога мы рассмотрим различные методы получения URL-адреса сайта по протоколу с использованием PHP. Мы предоставим примеры кода для каждого метода, чтобы помочь вам реализовать их в ваших проектах. Давайте погрузимся!

Метод 1: использование $_SERVER[’HTTP_HOST’] и $_SERVER[’HTTPS’]

$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://';
$url = $protocol . $_SERVER['HTTP_HOST'];
echo $url;

Метод 2: использование $_SERVER[’REQUEST_SCHEME’]

$url = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'];
echo $url;

Метод 3: использование parse_url() и $_SERVER[’REQUEST_URI’]

$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://';
$host = $_SERVER['HTTP_HOST'];
$path = $_SERVER['REQUEST_URI'];
$url = $protocol . $host . $path;
echo $url;

Метод 4: использование $_SERVER[’SERVER_PROTOCOL’] и $_SERVER[’SERVER_NAME’]

$protocol = strtolower(substr($_SERVER['SERVER_PROTOCOL'], 0, strpos($_SERVER['SERVER_PROTOCOL'], '/'))) . '://';
$url = $protocol . $_SERVER['SERVER_NAME'];
echo $url;

Метод 5: использование $_SERVER[’SCRIPT_URI’]

$url = $_SERVER['SCRIPT_URI'];
echo $url;

Метод 6: использование $_SERVER[’PHP_SELF’] и $_SERVER[’HTTP_HOST’]

$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://';
$script = $_SERVER['PHP_SELF'];
$url = $protocol . $_SERVER['HTTP_HOST'] . $script;
echo $url;

Метод 7. Использование вспомогательной функции

function getSiteUrl() {
    $protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://';
    $url = $protocol . $_SERVER['HTTP_HOST'];
    return $url;
}
// Usage
$siteUrl = getSiteUrl();
echo $siteUrl;

В этой статье мы рассмотрели несколько методов получения URL-адреса сайта с помощью протокола PHP. В зависимости от ваших конкретных требований вы можете выбрать метод, который лучше всего соответствует вашим потребностям. Не стесняйтесь использовать предоставленные примеры кода в своих проектах и ​​улучшайте свои PHP-приложения с помощью точной и динамической генерации URL-адресов.