Test

Содержание
  1. Получение разрешения экрана с помощью PHP
  2. 19 ответов
  3. Полностью рабочий пример
  4. Получение разрешения экрана с помощью PHP
  5. Ответ 1
  6. Ответ 2
  7. Ответ 3
  8. Ответ 4
  9. ‘; echo ‘My headline’; echo ‘
  10. ‘; echo ‘My headline’; echo ‘ ‘; ?> Это приведет к выводу заголовка меньшего размера, если экран составляет 480 пикселей или меньше. Поэтому нет необходимости передавать какие-либо переменные с помощью JS или аналогичного клиентского скрипта. Ответ 5 Это очень простой процесс. Да, вы не можете получить ширину и высоту в PHP. Однако JQuery может предоставить ширину и высоту экрана. Сначала перейдите на https://github.com/carhartl/jquery-cookie и получите jquery.cookie.js. Вот пример использования php для получения ширины и высоты экрана: "; > else echo " "; foreach($clientProps as $p) < // создать выходную таблицу echo " ".ucwords(str_replace('.',' ',$p)).": ".$_POST[str_replace('.','',$p)]." "; > echo " "; > ?> window.history.replaceState(null,null); // избежать предупреждения формы, если пользователь нажимает кнопку обновить Возвращенные данные extract преобразованы в переменные. Например: window.innerWidth возвращается в $windowinnerWidth Мы будем очень благодарны если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями. Источник
  11. Ответ 5

Получение разрешения экрана с помощью PHP

Это делается с помощью JavaScript, а не PHP. PHP выполняется только на стороне сервера. Хотя, анализируя разрешение экрана пользователя, имейте в виду, что не все пользователи просматривают весь экран!

19 ответов

Вы не можете сделать это с помощью чистого PHP. Вы должны сделать это с помощью JavaScript. Есть несколько статей, написанных о том, как это сделать.

По сути, вы можете установить cookie, или вы даже можете сделать Ajax для отправки информации на PHP script. Если вы используете jQuery, вы можете сделать это примерно так:

$(function() < $.post('some_script.php', < width: screen.width, height:screen.height >, function(json) < if(json.outcome == 'success') < // do something with the knowledge possibly? >else < alert('Unable to let PHP know what the screen resolution is!'); >>,'json'); >); 

PHP (some_script.php)

'success')); > else < echo json_encode(array('outcome'=>'error','error'=>"Couldn't save dimension info")); > ?> 

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

Читайте также:  Php базы данных localhost

@KyleFarris . я не очень хорошо разбираюсь в jquery и json . то, как будет выглядеть код, выглядит следующим образом: $(function() < $.post('header.php', < width: 800px >, function(json) < if(json.outcome == 'success') < header-800px.php // do something with the knowledge possibly? >else < header.php; >>,’json’); >);

Я не согласен с вами по поводу разрешения зрения, однако, ответ отличный! Я думаю, что эта информация может использоваться для статистики и банов. Я бы предпочел пользовательский агент и IP для этого. Разрешение экрана тоже хорошо!

Какое значение имеет «some_script.php»? Это должно быть имя страницы, загружающей скрипт? Может ли это быть общим для всех страниц?

Непосредственно с PHP невозможно, но.

Я пишу этот простой код, чтобы сохранить разрешение экрана на сеансе PHP для использования в галерее изображений.

Это приведет к отображению заголовка меньшего размера, если экран имеет разрешение 480 пикселей или меньше. Поэтому нет необходимости передавать какие-либо вары с помощью JS или подобных.

Используйте JavaScript ( screen.width и screen.height IIRC, но я могу ошибаться, не делал JS через некоторое время). PHP не может этого сделать.

Вы можете попробовать RESS (Responsive design + Server side components), см. этот учебник:

Это очень простой процесс. Да, вы не можете получить ширину и высоту в PHP. Это правда, что JQuery может обеспечить ширину и высоту экрана. Сначала перейдите в https://github.com/carhartl/jquery-cookie и получите jquery.cookie.js. Вот пример использования php для получения ширины и высоты экрана:

           

Using jquery.cookie.js to store screen height and width

";> if(isset($_COOKIE['sh'])) < echo "Screen height: ".$_COOKIE['sh']."
";> ?>

У меня есть тест, который вы можете выполнить: http://rw-wrd.net/test.php

Я не думаю, что вы можете определить размер экрана только с PHP, но вы можете обнаружить пользовательский агент.

 if (isset($DEVICE_TYPE) and $DEVICE_TYPE=="MOBILE") < echo '' > ?> 

Полностью рабочий пример

Я не смог найти реально работающий пример PHP, который бы «невидимо» (без параметров URL) возвращал размер экрана клиента и другие свойства серверному PHP, поэтому я собрал этот пример.

JS заполняет и отправляет скрытую форму (сценарий PHP из массива свойств JS), POST самому себе (данные теперь доступны в PHP и возвращает данные в виде таблицы).

(Проверено в «нескольких» браузерах.)

    table,trtd "; foreach($clientProps as $p) < //create hidden form echo ""; > echo " "; echo ""; >else< echo ""; foreach($clientProps as $p) < //create output table echo ""; > echo "
".ucwords(str_replace('.',' ',$p)).":".$_POST[str_replace('.','',$p)]."
"; > ?>

Возвращенные данные extract в переменные. Например:

Вы можете установить ширину окна в файлах cookie, используя JS-интерфейс, и вы можете получить его в PHP:

  
$width = " "; $height = " "; echo 'This screen is : '.$width.' x '.$height; 

Обратите внимание, что это вывод сценария, каждый раз, когда вы его повторяете — поэтому вы не можете использовать его для вычисления ширины — в основном $ width будет состоять из около 80 символов и не может быть преобразовано в число

это не дает вам высоту / ширину экрана — это переменная, поэтому единственное, что вы можете сделать с помощью этого метода, это отобразить размер (не сохранять его или делать с ним математику).

решение: сделать масштабируемый веб-дизайн. (наш должен сказать правильный веб-дизайн). Формирование должно выполняться на стороне клиента, и я хотел, чтобы информация передавалась на сервер, но информация по-прежнему полезна (сколько объектов в например, транзакция в виде строк), но все же веб-дизайн должен быть текучим, поэтому каждый элемент строки не следует помещать в таблицы, если только его фактическая таблица (и данные не будут масштабированы для отдельных ячеек), если вы используете div, вы можете складывать каждый элемент рядом с друг друга и ваше окно должны «сломать» строку в нужном месте. (просто нужно правильно css)

Это можно легко сделать с помощью файлов cookie. Этот метод позволяет странице проверять сохраненные значения cookie на высоту и ширину экрана (или значения высоты и ширины порта порта браузера), и если они отличаются друг от друга, он будет reset cookie и перезагружает страницу. Код должен учитывать пользовательские настройки. Если упорные файлы cookie отключены, используйте файл cookie сеанса. Если это не сработает, вам нужно выполнить настройку по умолчанию.

  • Javascript: проверьте, установлен ли файл cookie высотой и шириной.
  • Javascript: если установлено, проверьте, соответствует ли screen.height и screen.width(или что вам угодно) текущему значению файла cookie
  • Javascript: Если cookie не установлен или он не соответствует текущему значению, то: а. Javascript: создать постоянный или сеансовый файл cookie с именем (например,) ‘shw’ для значения текущего экрана screen.height и screen.width.
    б. Javascript: перенаправление на SELF с помощью window.location.reload(). Когда он перезагрузится, он пропустит шаг 3.
  • PHP: $_COOKIE [‘shw’] содержит значения.
  • Продолжить с PHP

Например, я использую некоторые общие функции cookie, найденные в Интернете. Убедитесь, что setCookie вернет правильные значения. Я поместил этот код сразу после заголовка. Очевидно, что функция должна быть в исходном файле.

   .

Источник

Получение разрешения экрана с помощью PHP

Мне нужно определить разрешение экрана пользователя, который посещает мой веб-сайт. Как это сделать?

Ответ 1

Вы не можете этого сделать с чистым PHP. Вы должны сделать это с помощью JavaScript. О том, как это сделать, написано множество статей.

По сути, вы можете установить cookie или даже использовать Ajax для отправки информации в PHP-скрипт. Если вы используете jQuery, вы можете сделать это примерно так:

jquery:

$(function()

$.post(‘some_script.php’, < width: screen.width, height:screen.height >, function(json)

if(json.outcome == ‘success’)

// Возможн о чт о-либо сделать с этими значениями?

> else

alert(‘Невозможно определить в PHP разрешение экрана!’);

>

>,’json’);

>);

PHP (some_script.php)

// Например, вы можете сделать что-то вроде этого:

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»));

>

?>

Это действующий базовый код. Однако обычно разрешение экрана — это не то, что вам нужно. Возможно, вас больше интересует размер фактического окна просмотра браузера, поскольку именно там отображается страница .

Ответ 2

Непосредственно с PHP невозможно, но.

Я пишу этот простой код для сохранения разрешения экрана в сеансе PHP для использования в галерее изображений.

session_start();

if(isset($_SESSION[‘screen_width’]) AND isset($_SESSION[‘screen_height’]))

echo ‘Разрешение экрана пользователя: ‘ . $_SESSION[‘screen_width’] . ‘x’ . $_SESSION[‘screen_height’];

> else if(isset($_REQUEST[‘width’]) AND isset($_REQUEST[‘height’]))

$_SESSION[‘screen_width’] = $_REQUEST[‘width’];

$_SESSION[‘screen_height’] = $_REQUEST[‘height’];

header(‘Location: ‘ . $_SERVER[‘PHP_SELF’]);

> else

echo ‘window.location = «‘ . $_SERVER[‘PHP_SELF’] . ‘?width=»+screen.width+»&height font-size: 14px; color: #1a0e95; display: table-row-group;» dir=»ltr»> >

?>

Новое решение. Если вам нужно отправить другой параметр в Get Method :

session_start();

if(isset($_SESSION[‘screen_width’]) AND isset($_SESSION[‘screen_height’]))

echo ‘Разрешение экрана пользователя: ‘ . $_SESSION[‘screen_width’] . ‘x’ . $_SESSION[‘screen_height’];

print_r($_GET);

> else if(isset($_GET[‘width’]) AND isset($_GET[‘height’]))

$_SESSION[‘screen_width’] = $_GET[‘width’];

$_SESSION[‘screen_height’] = $_GET[‘height’];

$x=$_SERVER[«REQUEST_URI»];

$parsed = parse_url($x);

$query = $parsed[‘query’];

parse_str($query, $params);

unset($params[‘width’]);

unset($params[‘height’]);

$string = http_build_query($params);

$domain=$_SERVER[‘PHP_SELF’].»?».$string;

header(‘Location: ‘ . $domain);

> else

$x=$_SERVER[«REQUEST_URI»];

$parsed = parse_url($x);

$query = $parsed[‘query’];

parse_str($query, $params);

unset($params[‘width’]);

unset($params[‘height’]);

$string = http_build_query($params);

$domain=$_SERVER[‘PHP_SELF’].»?».$string;

echo ‘window.location = «‘ . $domain . ‘&width=»+screen.width+»&height font-size: 14px; color: #1a0e95; display: table-row-group;» dir=»ltr»> >

?>

Ответ 3

PHP — это серверный язык , он выполняется только на сервере, а результирующий вывод программы отправляется клиенту. Таким образом, информация об «экране клиента» недоступна.

Тем не менее, вы можете попросить клиента сообщить вам, какое у него разрешение экрана, через JavaScript. Напишите небольшой скриптлет для отправки вам screen.width и screen.height – возможно, через AJAX или, что более вероятно, с начальной «страницей перехода», которая находит его, а затем перенаправляет на http://example.net/index.php?size= AxB

Говоря как пользователь, я бы предпочел, чтобы вы разработали сайт, который бы нормально работал с любым разрешением экрана. Я просматриваю окна разного размера, в основном не развернутые.

Ответ 4

Я обнаружил, что использование CSS для моего html внутри моего php помогло мне.

echo ‘

‘;

echo ‘My headline’;

echo ‘

‘;

echo ‘

‘;

echo ‘My headline’;

echo ‘

‘;

?>

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

Ответ 5

Это очень простой процесс. Да, вы не можете получить ширину и высоту в PHP. Однако JQuery может предоставить ширину и высоту экрана. Сначала перейдите на https://github.com/carhartl/jquery-cookie и получите jquery.cookie.js. Вот пример использования php для получения ширины и высоты экрана:

";

> else

echo "

";

foreach($clientProps as $p) < // создать выходную таблицу

echo "

";

>

echo "

".ucwords(str_replace('.',' ',$p)).": ".$_POST[str_replace('.','',$p)]."

";

>

?>

window.history.replaceState(null,null); // избежать предупреждения формы, если пользователь нажимает кнопку обновить

Возвращенные данные extract преобразованы в переменные. Например:

window.innerWidth возвращается в $windowinnerWidth

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Оцените статью