Получить размеры экрана php

Как определить ширину экрана PHP

Часто бывает нужно заранее знать ширину экрана. В CSS за это отвечает тэг @media.

Например, если Вы не хотите показывать блок класса .rightBanner на экранах уже 1000px , Вы просто пишете

И браузер, получив такой CSS от сервера, скроет блок .rightBanner на узких экранах.

Определить реальную текущую ширину экрана можно с помощью JavaScript про это есть статья

Но, что если Вы вообще не хотите отдавать браузеру какой-то контент. To сэкономить трафик или ускорить загрузку страницы.

Встаёт вопрос — как определить ширину экрана уже на этапе формирования ответа сервера.

Ответ — никак. По крайне мере если Вам нужна точная ширина и Вы не планируете делать финты с AJAX.

Если Вам просто нужно понять зашёл ли посетитель с мобильного устройства или с десктопа — это я покажу ниже

Пример кода на PHP

Результат

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

Комментарии к коду

preg_match возвращает 1 если найдёт в $_SERVER[«HTTP_USER_AGENT»] один из перечисленных заголовков: android, avantgo, blackberry и так далее.

В таком случае $not_mobile это 0 или FALSE и условие if не выолняется.

Список заголовков наверняка уже устарел, когда Вы читаете эту статью, но, во-первых, Вы сами можете его дополнить. Во-вторых нужны ли все возможные заголовки или достаточно основных решать Вам.

Если Вы не собираетесь использовать функцию повторно, можно ограничиться строчкой:

$not_mobile = !(preg_match(«/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i», $_SERVER[«HTTP_USER_AGENT»]));

Ваш HTTP_USER_AGENT

В следующем блоке вы можете увидеть свой HTTP_USER_AGENT

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1623.0 Safari/537.36

Проверка — распознал ли скрипт ваше устройство как мобильное или нет

Ваше устройство не распознано как мобильное

Если скрипт неверно распознал ваше устройство — напишите мне в телеграм @andreyolegovichru

Источник

Как должен выглядеть код PHP для запроса разрешение браузера клиента?

Добрый день, помогите пожалуйста
у меня задача, узнать у клиента/посетителя ширину браузера, если она меньше или равна 1024 то нужно вернуть TRUE
Т.е. php код со встроенным javascript
Пытался гуглить, нагуглил

  

PHP плохо знаю, но как понимаю нужно просто прочитать ширину, потом по условию = else false
Что то вроде того

В настоящее время требуется уменьшать размер контента для тех же мобильных устройств.
Например:
На странице слайдер с изображением размерами 1920×500 пикс. в формате *.jpg весом в 40-50 Кбайт., 3 штуки – 150 Кб.

Представляете сколько можно сэкономить времени на загрузку страницы отдавая клиенту значительно меньшие по размеру изображения зная размер экрана клиента.

Hereigo

\n"; echo "Высота экрана: ". $_GET['height'] ."
\n"; > else < // передаем переменные с размерами echo "\n"; exit(); > ?>

Вам это для чего?
если для дизайна, почитайте в сторону адаптивной верстки и CSSqueries

если для работы, то такое предложение, но оно плохое:
1. загружается php файл.
2. в самом начале проверяете куки.
2.1. если куки найдены, то в куках написано ваше разрешение экрана
2.2. если куки не найдены, то
2.2.1 перебрасываете пользователя на отдельную страницу, на которой яваскриптом определяется разрешение. это разрешение записывается в куку яваскриптом (читай $.cookie) и снова пользователя перебрасываем назад.

все что ушло на клиент (а JS отрабатывает только на клиенте) обратно в php уже не получить. Только AJAX-ом отправить данные на сервер с клиента.

Isolution666

Хорошо, допустим я гуру в media css, и я знаю как сделать сайт адаптивным. С точки зрения логики, я хотел бы некоторые элементы для телефона не «дисплэйнойнить», прости господи, а чтобы их вообще не было, даже в коде, даже в комментариях кода, вообще нигде. Во-первых, чтобы не грузить телефон лишним контентом, чтобы быстрее грузился, и ещё, к примеру есть скрипт, который при загрузке картинки на сайт, делает ресайз на 5 размеров, от оригенала до суперлёгкого превью, так вот, с точки зрения безопасности:
код по типу

Не безопасен! ибо хакеры и xss-атаки не дремлют. Наровясь напихать всякой дряни.
РАЗ
Подставлять преффиксы через функцию класса, — зная размер экрана, значительно легче
ДВА.
То есть, зная размер экрана, убирается вся шелуха одним махом. Картинки — мелкие
Не нужные для мобильной версии блоки — отсутствуют.
Юзеру комфортно
Владельцу — спокойно
И все счастливы ))
Админ.
Короче, надо без всякого говнокода знать размер экрана, чтобы даже когда javascript отключён, всё рендерится и статистика просмотров идёт, как это сделать на php — до сих пор голову ломаю.

Источник

Как заполучить размеры экрана пользователя через PHP

Через PHP данную задачу не решить, но можно поступить хитрее и воспользоваться финтом, который представлен в этом уроке.

Делаем AJAX запрос на сторону PHP скрипта, передав нужную нам информацию:

$(function() < $.post('some_script.php', < width: screen.width, height:screen.height >, function(json) < if(json.outcome == 'success') < // запрос прошёл успешно >else < alert('Unable to let PHP know what the screen resolution is!'); >>,'json'); >);

Далее обрабатываем информацию на стороне сервера:

if(isset($_POST['width']) && isset($_POST['height'])) < $_SESSION['screen_width'] = $_POST['width']; $_SESSION['screen_height'] = $_POST['height']; echo json_encode(array('outcome'=>'success')); > else < echo json_encode(array('outcome'=>'error','error'=>"Couldn't save dimension info")); >

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://stackoverflow.com/questions/1504459/getting-the-screen-resolution-using-php
Перевел: Станислав Протасевич
Урок создан: 20 Декабря 2015
Просмотров: 15291
Правила перепечатки

5 последних уроков рубрики «PHP»

Фильтрация данных с помощью zend-filter

Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Контекстное экранирование с помощью zend-escaper

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Подключение Zend модулей к Expressive

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Совет: отправка информации в Google Analytics через API

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц

Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Источник

Как заполучить размеры экрана пользователя через PHP

Через PHP данную задачу не решить, но можно поступить хитрее и воспользоваться финтом, который представлен в этом уроке.

Делаем AJAX запрос на сторону PHP скрипта, передав нужную нам информацию:

$(function() < $.post('some_script.php', < width: screen.width, height:screen.height >, function(json) < if(json.outcome == 'success') < // запрос прошёл успешно >else < alert('Unable to let PHP know what the screen resolution is!'); >>,'json'); >);

Далее обрабатываем информацию на стороне сервера:

if(isset($_POST['width']) && isset($_POST['height'])) < $_SESSION['screen_width'] = $_POST['width']; $_SESSION['screen_height'] = $_POST['height']; echo json_encode(array('outcome'=>'success')); > else < echo json_encode(array('outcome'=>'error','error'=>"Couldn't save dimension info")); >

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: http://stackoverflow.com/questions/1504459/getting-the-screen-resolution-using-php
Перевел: Станислав Протасевич
Урок создан: 20 Декабря 2015
Просмотров: 15292
Правила перепечатки

5 последних уроков рубрики «PHP»

Фильтрация данных с помощью zend-filter

Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Контекстное экранирование с помощью zend-escaper

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Подключение Zend модулей к Expressive

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Совет: отправка информации в Google Analytics через API

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц

Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Источник

Читайте также:  METANIT.COM
Оцените статью