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

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

от ottilie.farrell , в категории: PHP , 2 года назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от marshall.cummings , год назад

@ottilie.farrell 

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

1
2
3
4
5
6
7
8
9
$user_agent = $_SERVER['HTTP_USER_AGENT'];

if (preg_match('/(d+)x(d+)/', $user_agent, $matches)) {
  $screen_width = $matches[1];
  $screen_height = $matches[2];
  echo "Screen resolution: $screen_width x $screen_height";
} else {
  echo "Could not determine screen resolution.";
}


Однако следует иметь в виду, что этот метод не всегда работает точно, так как не все браузеры предоставляют такую информацию. Если вы хотите получить более точную информацию о разрешении экрана, вам может потребоваться использовать JavaScript или определенные браузерные апи.

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

от kennedi_pfeffer , год назад

@ottilie.farrell 

Размер экрана пользователя можно определить с помощью объекта $_SERVER['HTTP_USER_AGENT'], который содержит информацию о браузере и операционной системе, используемых пользователем.


Вот пример кода на PHP, который позволяет получить ширину и высоту экрана пользователя:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
if(isset($_SERVER['HTTP_USER_AGENT'])) {
  $user_agent = $_SERVER['HTTP_USER_AGENT'];
  if(strpos($user_agent, 'Chrome') !== false){
    preg_match('/Chrome/([0-9]+)/', $user_agent, $match);
    $version = $match[1];
    $is_chrome = true;
  } elseif(strpos($user_agent, 'Firefox') !== false){
    preg_match('/Firefox/([0-9]+)/', $user_agent, $match);
    $version = $match[1];
    $is_firefox = true;
  } elseif(strpos($user_agent, 'Safari') !== false){
    preg_match('/Safari/([0-9]+)/', $user_agent, $match);
    $version = $match[1];
    $is_safari = true;
  }
}

if(isset($is_chrome) && $is_chrome){
  $js = 'window.screen.width';
} elseif(isset($is_firefox) && $is_firefox){
  $js = 'window.innerWidth';
} elseif(isset($is_safari) && $is_safari){
  $js = 'screen.width';
}

if(isset($js)){
  $width = '<script type="text/javascript">document.write('.$js.')</script>';
}

if(isset($is_chrome) && $is_chrome){
  $js = 'window.screen.height';
} elseif(isset($is_firefox) && $is_firefox){
  $js = 'window.innerHeight';
} elseif(isset($is_safari) && $is_safari){
  $js = 'screen.height';
}

if(isset($js)){
  $height = '<script type="text/javascript">document.write('.$js.')</script>';
}

echo 'Ширина экрана: '.$width.' пикселей<br>';
echo 'Высота экрана: '.$height.' пикселей';


Этот код проверяет тип браузера, используемого пользователем, и выбирает соответствующий метод определения размера экрана. Ширина и высота экрана выводятся на экран в пикселях.