При работе с веб-приложениями на PHP часто необходимо определить, использует ли данный URL-адрес протокол HTTP или HTTPS. Эта информация может быть полезна для различных целей, таких как перенаправление пользователей на защищенные страницы или создание динамического контента на основе протокола. В этой статье мы рассмотрим семь различных методов с примерами кода, которые помогут вам проверить, является ли URL-адрес HTTP или HTTPS в PHP.
Метод 1: использование переменной $_SERVER[’HTTPS’]
Пример кода:
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') {
// HTTPS URL
} else {
// HTTP URL
}
Метод 2: использование функции parse_url()
Пример кода:
$url = "http://www.example.com";
$parsedUrl = parse_url($url);
if ($parsedUrl['scheme'] === 'https') {
// HTTPS URL
} else {
// HTTP URL
}
Метод 3: использование функции strpos()
Пример кода:
$url = "https://www.example.com";
if (strpos($url, 'https://') === 0) {
// HTTPS URL
} else {
// HTTP URL
}
Метод 4. Использование регулярных выражений
Пример кода:
$url = "https://www.example.com";
if (preg_match('/^https:/i', $url)) {
// HTTPS URL
} else {
// HTTP URL
}
Метод 5: использование функции filter_var()
Пример кода:
$url = "http://www.example.com";
if (filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED) === 'https') {
// HTTPS URL
} else {
// HTTP URL
}
Метод 6. Использование библиотеки cURL
Пример кода:
$url = "https://www.example.com";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
$info = curl_getinfo($ch);
if ($info['url'] === $url) {
// HTTPS URL
} else {
// HTTP URL
}
curl_close($ch);
Метод 7: использование функции get_headers()
Пример кода:
$url = "https://www.example.com";
$headers = get_headers($url);
if (strpos($headers[0], 'HTTP/1.1 200 OK') !== false) {
// HTTPS URL
} else {
// HTTP URL
}
В этой статье мы рассмотрели семь различных методов проверки того, является ли URL-адрес HTTP или HTTPS в PHP. Эти методы включают использование переменной $_SERVER['HTTPS']
, анализ URL-адреса с помощью parse_url()
, использование strpos()
и регулярных выражений, а также использование filter_var()
, используя библиотеку cURL и функцию get_headers()
. Каждый метод имеет свои преимущества и может использоваться в зависимости от конкретных требований вашего PHP-приложения. Используя эти методы, вы можете эффективно определить протокол URL-адреса и выполнить соответствующие действия.