Как определить разрешения экрана через php?

Пользователь

от kaleigh , в категории: PHP , 3 года назад

Как определить разрешения экрана через php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от marisa , 2 года назад

@kaleigh 

Вы можете использовать функцию getimagesize() из расширения GD для определения разрешения изображения. Например:

1
2
3
$image_info = getimagesize('image.jpg');
$image_width = $image_info[0];
$image_height = $image_info[1];


Если вы хотите определить разрешение экрана посетителя, вы можете использовать суперглобальный массив $_SERVER и извлечь значение HTTP-заголовка "HTTP_USER_AGENT". После этого вы можете использовать регулярное выражение для извлечения разрешения экрана из этой строки.


Например:

1
2
3
4
5
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('/(d+)x(d+)/', $user_agent, $matches)) {
  $screen_width = $matches[1];
  $screen_height = $matches[2];
}


Однако стоит иметь в виду, что этот метод не совсем точен, так как строка HTTP_USER_AGENT может быть разной в зависимости от браузера и операционной системы. Также стоит учесть, что посетитель может изменить разрешение экрана

Пользователь

от yasmine , 2 года назад

@kaleigh 

Чтобы определить разрешение экрана через PHP, вы можете использовать глобальный массив $_SERVER, который содержит информацию о сервере и текущем запросе. В этом массиве есть переменные HTTP_USER_AGENT и HTTP_ACCEPT_LANGUAGE, которые содержат информацию о браузере пользователя и его языковых настройках.


Вы можете использовать эти переменные, чтобы определить тип браузера и его разрешение экрана. Например, вы можете использовать следующий код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?php
$user_agent = $_SERVER['HTTP_USER_AGENT'];

if(preg_match('/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/', $user_agent)){
    // Это мобильное устройство
    $resolution = "Мобильное разрешение";
} else {
    // Это настольный компьютер
    $resolution = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
}
?>


В этом коде мы используем регулярное выражение, чтобы определить, является ли браузер мобильным устройством. Если да, то мы присваиваем переменной $resolution значение "Мобильное разрешение". Если это настольный компьютер, мы используем переменную HTTP_ACCEPT_LANGUAGE, чтобы определить языковые настройки пользователя.


Чтобы получить конкретное разрешение экрана, вы можете использовать JavaScript и передать значение обратно на сервер, например, через AJAX-запрос.