- php_uname
- Описание
- Список параметров
- Возвращаемые значения
- Примеры
- Смотрите также
- User Contributed Notes 4 notes
- Определение версии Windows
- Определить ось
- 7 ответов
- phpversion
- Описание
- Список параметров
- Возвращаемые значения
- Примеры
- Примечания
- Смотрите также
- Уроки WordPress
- Скрипт для определения браузера пользователя на PHP
- Теория из слов автора:
- Теперь IE 6
- Opera 10.61
- Safari 5.1
- Chrome 6.0.427.0
- Практика из слов автора
- Её код целиком:
- Примеры работы
- Определяем мобильные браузеры
php_uname
(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)
php_uname — Возвращает информацию об операционной системе, на которой запущен PHP
Описание
php_uname() возвращает описание операционной системы, на которой запущен PHP. Это та же строка, с которой начинается вывод phpinfo() . Для вывода названия операционной системы также можно использовать константу PHP_OS , но имейте в виду, что эта константа содержит название операционной системы, на которой PHP был собран ( built).
На некоторых старых UNIX-платформах получить информацию о текущей ОС может оказаться невозможным. В таких случаях функция выдаст название ОС, на которой PHP был собран. Такое случается, когда библиотека, которой пользуется uname(), недоступна или работает некорректно.
Список параметров
mode — одиночный символ, определяющий, какая информация будет выводиться:
- ‘a’ : По умолчанию. Содержит все режимы в следующей последовательности «s n r v m» .
- ‘s’ : Название операционной системы, например, FreeBSD .
- ‘n’ : Имя хоста, например, localhost.example.com .
- ‘r’ : Номер релиза, например, 5.1.2-RELEASE .
- ‘v’ : Информация о версии. Может сильно различаться в разных ОС.
- ‘m’ : Архитектура процессора, например, i386 .
Возвращаемые значения
Возвращает описание ОС в виде строки.
Примеры
Пример #1 Несколько примеров использования php_uname()
echo php_uname ();
echo PHP_OS ;
/* Разные варианты:
Linux localhost 2.4.21-0.13mdk #1 Fri Mar 14 15:08:06 EST 2003 i686
Linux
FreeBSD localhost 3.2-RELEASE #15: Mon Dec 17 08:46:02 GMT 2001
FreeBSD
Windows NT XN1 5.1 build 2600
WINNT
*/
if ( strtoupper ( substr ( PHP_OS , 0 , 3 )) === ‘WIN’ ) <
echo ‘Сервер работает под управлением Windows!’ ;
> else <
echo ‘Сервер работает под управлением ОС, отличной от Windows!’ ;
>
Ниже приведено несколько Предопределённых PHP-констант, которые могут оказаться полезными:
Пример #2 Некоторые константы OS
// *nix
echo DIRECTORY_SEPARATOR ; // /
echo PHP_SHLIB_SUFFIX ; // so
echo PATH_SEPARATOR ; // :
// Win*
echo DIRECTORY_SEPARATOR ; // \
echo PHP_SHLIB_SUFFIX ; // dll
echo PATH_SEPARATOR ; // ;
?>
Смотрите также
- phpversion() — Получает текущую версию PHP
- php_sapi_name() — Возвращает тип интерфейса между веб-сервером и PHP
- phpinfo() — Выводит информацию о текущей конфигурации PHP
User Contributed Notes 4 notes
Note that php_uname(‘n’) does not always equal $_SERVER[‘HOST_NAME’]
The machine that you are running the script may server many different host names so don’t use this when building urls.
Although it does not indicate receiving parameters this function allows some chars as parameters, they are the options a; m; n; r; s; v.
I don’t know exactly what each one does, but below is a code example and its output on PHP 5.5 running on RedHat 4.4
echo » ;
phpinfo ();
?>
Note that I used file_get_contentes with a file, that file is present in most linux boxies and varies on content, but most of times it indicates kernel version, linux version, distribution and so on. In my case my user didn’t have access to the file, so to identify that it was a red hat I paid attention to php_info outputs, there in the middle was the postgress driver description, p. eg indicating the distribution.
I guess there is no easy way to find out the server version programmatically a 100% of times, but by and large you can get around by yourself.
Определение версии Windows
Определение версии ОС и браузера
Здравствуйте! Подскажите, пожалуйста, необходимо определить версию ОС и браузера с которого.
Определение версии браузера через php
Всем доброго времени суток! Нужна помощь. Я хочу сделать проверку версии браузера, но не могу.
Определение версии Windows
Всем привет! Подскажите, пожалуйста, как программно определить версию windows. Дело в том, что.
Определение полной версии Windows
Здравствуйте, помогите пожалуйста разобраться, хочу узнать полную версию Windows, например, Windows.
Тематические курсы и обучение профессиям онлайн Профессия PHP-разработчик (Skillbox) Fullstack-разработчик на PHP (Skillbox) Веб-разработчик с нуля (Нетология) Профессия веб-разработчик (Skillbox) |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Определение версии и пользователей ОС Windows внешнего носителя информации
Доброго времени суток! Стоит следующая задача: имеется компьютер, который служит для проведения.
Определение версии Java и версии браузера
Поступила интересная задача. Есть необходимость получать, оперативно, от клиента информацию о.
Есть ли какие — то ограничения по минимальной версии Windows / Linux для последней версии Qt?
Привет! Вот тут какие — то непонятки. Скачал Qt последний на Win7 — ворк пёрфеткли, на 8.1 — та же.
Определение версии ОС
Всем доброго времени суток. Кто может подсказать как определить тип операционной системы.
Определение текущей версии ОС
Нужно написать программу на С\С++ для Linux/Unix, которая определяет текущую версию системы, штамп.
Определение версии программы
Здравствуйте! Помогите, пожалуйста, написать код для следующей программы. Даны, допустим, две.
Определить ось
7 ответов
Довольно таки сложно.
getenv(‘HTTP_USER_AGENT’); (apache)- это здесь, или здесь:
$_SERVER[‘HTTP_USER_AGENT’]; (iis)
но там долго мучаться с парсингом.
Бери какой нить снифер, коцай его и вырежи то место где он определяет операционку.
А я нашла вот что:
echo PHP_OS;
echo php_uname();
ya.ru найдет все :)(это про расширения только на пхп его определить нельзя)
А то что касается:
echo PHP_OS;
echo php_uname();
php_uname — Returns information about the operating system PHP was built on
я думую все понятно без коментариев :)) Тебе нужно было узнать операционную систему клиента,или операционную систему сервера ?
Originally posted by Joker
ya.ru найдет все :)(это про расширения только на пхп его определить нельзя)
А то что касается:
echo PHP_OS;
echo php_uname();
php_uname — Returns information about the operating system PHP was built on
я думую все понятно без коментариев :)) Тебе нужно было узнать операционную систему клиента,или операционную систему сервера ?
phpversion
(PHP 4, PHP 5, PHP 7, PHP 8)
phpversion — Получает текущую версию PHP
Описание
Возвращает строку с номером версии текущего PHP-интерпретатора или расширения.
Список параметров
Необязательное имя расширения.
Возвращаемые значения
Если задан аргумент extension , phpversion() вернёт версию этого расширения или false , если информации о версии нет или расширение в данный момент не включено.
Примеры
Пример #1 Пример использования phpversion()
// Выводит строку типа ‘Текущая версия PHP: 4.1.1’
echo ‘Текущая версия PHP: ‘ . phpversion ();
// Выводит строку типа ‘2.0’ или ничего, если расширение не включено
echo phpversion ( ‘tidy’ );
?>
Пример #2 Пример использования PHP_VERSION_ID
// PHP_VERSION_ID доступна в версиях PHP 5.2.7 и выше. Если
// наша версия ниже, можно её сэмулировать
if (! defined ( ‘PHP_VERSION_ID’ )) <
$version = explode ( ‘.’ , PHP_VERSION );
define ( ‘PHP_VERSION_ID’ , ( $version [ 0 ] * 10000 + $version [ 1 ] * 100 + $version [ 2 ]));
>
// PHP_VERSION_ID определена как число. Чем больше число, тем новее
// PHP. Эта константа задаётся по той же схеме, что приведена выше:
//
// $version_id = $major_version * 10000 + $minor_version * 100 + $release_version;
//
// Теперь с PHP_VERSION_ID можно проверять, какая функциональность есть в
// текущей версии PHP. Не обязательно пользоваться version_compare()
// каждый раз, когда требуется проверить, поддерживает ли PHP нужную
// нам функцию.
//
// Например, мы можем задать значения констант PHP_VERSION_*,
// которые недоступны в версиях ранее 5.2.7
if ( PHP_VERSION_ID 50207 ) <
define ( ‘PHP_MAJOR_VERSION’ , $version [ 0 ]);
define ( ‘PHP_MINOR_VERSION’ , $version [ 1 ]);
define ( ‘PHP_RELEASE_VERSION’ , $version [ 2 ]);
Примечания
Эта информация также доступна через предопределённую константу PHP_VERSION . Более детальную информацию можно получить с помощью констант PHP_VERSION_* .
Смотрите также
- Константы PHP_VERSION
- version_compare() — Сравнивает две «стандартизованные» строки с номером версии PHP
- phpinfo() — Выводит информацию о текущей конфигурации PHP
- phpcredits() — Выводит список разработчиков PHP
- php_logo_guid()
- zend_version() — Получает версию движка Zend
Уроки WordPress
Уроки разработки из собственного опыта
Скрипт для определения браузера пользователя на PHP
Автор: Николаенко Максим · Опубликовано 21 октября, 2012 · Обновлено 27 августа, 2020
Недавно для одного интересного проекта мне потребовалось сделать определение браузера и его версии на PHP. Шаблон был адаптивный (responcive), и надо было подстроить под разные браузеры вывод элементов страницы. Сайт я писал на любимом движке WordPress и тема была сверстана под него. Как всегда недолго думая над задачей полез я в Интернет. Мое было удивление когда я нашел готовый скрипт, который полностью меня устроил в первой десятке выдачи google. Респект и уважуха разработчику и блогеру ко
торый этот скрипт написал и выложил у себя на блоге.
Чем он особо мне понравился, так это тем, что скрипт мог определять браузеры на движке Gecko, а не только основные браузеры (Firefox, Chrome, IE, Opera, Safari), и даже те, которые построены на ядре Trident (Maxthon, Avant Browser, MyIE2), и даже старые версии Оперы, маскирующиеся под IE. Кроме того, скрипт находит и отображает версию браузера.
Автор блога выложил некоторые сведения, которые я также хотел бы выложить себе на сайт.
Теория из слов автора:
Как определяется браузер на PHP?
В PHP есть замечательная переменная под названием $_SERVER[‘HTTP_USER_AGENT’].
У меня, например, она выглядит так:
Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Отсюда вытащить браузер и версию просто, не так ли?
Теперь IE 6
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Здесь уже немного посложнее, но тоже не должно вызывать особых затруднений.
Opera 10.61
Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.6.30 Version/10.61
Опера приготовила нам подлянку: название браузера в начале, а версия, как это не странно, в конце.
Safari 5.1
Mozilla/5.0 (Windows; U; Windows NT 6.1; ru-RU) AppleWebKit/533.17.8 (KHTML, like Gecko) Version/5.0.1 Safari/533.17.8
Safari тоже удивляет: через слэш идёт вовсе не номер версии. Номер версии идёт чуть раньше.
Chrome 6.0.427.0
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.1 (KHTML, like Gecko) Chrome/6.0.427.0 Safari/534.1
Хром вытащить легче, хорошо бы ещё не перепутать его с Safari…
(О том, почему все браузеры (кроме Оперы) называют себя Mozilla можно в простой и увлекательной форме почитать здесь.)
Практика из слов автора
Вы уже узнали, какое разнообразие в строке User-agent предлагают всего лишь пять браузеров.
Но в 9 из 10 случаев нас спасёт следующее регулярное выражение:
После этого во втором элементе массива будет лежать название браузера, а в третьем — его версия.
Исключение представляет лишь Safari начиная с версии 3.0 и Opera начиная с версии 10.00.
Для этих браузеров мы пишем:
И ещё одна строка кода:
Если мы не смогли определить браузер, но знаем, что он использует ядро Gecko, то выводим сообщение о том, что браузер работает на этом ядре.
Вот, в сущности, и всё содержание первой, более компактной функции по определению браузера.
Её код целиком:
Примеры работы
В таблице приведён результат работы двух функций — в первом столбце браузер, в котором вызывались функции, во втором — ответ функции, учитывающей малоизвестные браузеры, в третьей — результат работы сокращённой функции.
Браузер | Результат полной функции | Результат сокращённой функц ии |
Firefox 1.5.0.12 | Firefox 1.5.0.12 | Firefox 1.5.0.12 |
Firefox 3.0.10 | Firefox 3.0.10 | Firefox 3.0.10 |
Firefox 3.6.9 | Firefox 3.6.9 | Firefox 3.6.9 |
Firefox 4.0 | Firefox 4.0 | Firefox 4.0 |
IE 4.01 | IE 4.01 | MSIE 4.01 |
IE 5.5 | IE 5.5 | MSIE 5.5 |
IE 6.0 | IE 6.0 | MSIE 6.0 |
IE 7.0 | IE 7.0 | MSIE 7.0 |
IE 8.0 | IE 8.0 | MSIE 8.0 |
Chrome 5.0.375.127 | Chrome 5.0.375.127 | Chrome 5.0.375.127 |
Chromium 6.0.472.36 | Chrome 6.0.472.36 | Chrome 6.0.472.36 |
Chrome 7.0.517.8 | Chrome 7.0.517.8 | Chrome 7.0.517.8 |
Opera 7.03 | Opera 7.03 | MSIE 6.0 |
Opera 8.0 | Opera 8.0 | MSIE 6.0 |
Opera 8.54 | Opera 8.54 | Opera 8.54 |
Opera 9.50 | Opera 9.50 | Opera 9.50 |
Opera 10.00 | Opera 10.00 | Opera 10.00 |
Opera 10.10 | Opera 10.10 | Opera 10.10 |
Opera 10.61 | Opera 10.61 | Opera 10.61 |
Safari 3.0 | Safari 3.0 | Safari 3.0 |
Safari 4.0 | Safari 4.0 | Safari 4.0 |
Safari 5.0.1 | Safari 5.0.1 | Safari 5.0.1 |
Flock 1.2.6 | Flock 1.2.6 | Firefox 2.0.0.17 |
Epiphany 2.22 | Epiphany 2.22 | Firefox 2.0.0.20 |
Navigator 9.0.0.6 | Navigator 9.0.0.6 | Firefox 2.0.0.12 |
Netscape 8.1.3 | Netscape 8.1.3 | Browser based on Gecko |
Konqueror 4.4 | Konqueror 4.4 | Browser based on Gecko |
Galeon 2.0.4 | Browser based on Gecko | Browser based on Gecko |
Iceape 1.1.13 | Browser based on Gecko | Browser based on Gecko |
Iceweasel 3.0.4 | Iceweasel 3.0.4 | Browser based on Gecko |
SeaMonkey 1.1.14 | SeaMonkey 1.1.14 | Browser based on Gecko |
Minefield 3.7 | Minefield 3.7 | Browser based on Gecko |
Avant Browser 7.0 | Avant Browser based on IE 7.0 | MSIE 7.0 |
Camino 2.0.4 | Camino 2.0.4 | Firefox 3.0.19 |
Красным цветом отмечены браузеры, которые функция не смогла определить.
А здесь вы можете проверить работу функций в своём браузере.
Надеюсь, что эти функции будут кому-то полезны.
Удачи.
Скачать скрипт для определения браузера можно у меня:
или на сайте автора:
Еще раз отдельное спасибо автору!
Определяем мобильные браузеры
Еще из комментариев на сайте автора нашел, как определить мобильные устройстка: