Определение мобильного устройства в php

Определение мобильного устройства. Введение

Определение мобильного устройства в php Сегодня перебирал свои старые исходники и нашел одну замечательную функцию, которая определяет с компьютера зашел пользователь или с мобильного устройства. Я уже не помню, сам ее писал или нашел где-то в интернете, а может нашел кусок и отредактировал. Не важно откуда она взялась, главное. что функция работает. Определение устройство, с которого просматривается сайт, реализовано очень просто: получаем информацию о HTTP_USER_AGENT и сравниваем со всеми известными на данный момент агентами, используемыми мобильными устройствами.

Определение мобильного устройства. Код

// определение мобильного устройства
function check_mobile_device() { 
	$mobile_agent_array = array('ipad', 'iphone', 'android', 'pocket', 'palm', 'windows ce', 'windowsce', 'cellphone', 'opera mobi', 'ipod', 'small', 'sharp', 'sonyericsson', 'symbian', 'opera mini', 'nokia', 'htc_', 'samsung', 'motorola', 'smartphone', 'blackberry', 'playstation portable', 'tablet browser');
	$agent = strtolower($_SERVER['HTTP_USER_AGENT']);	 
	// var_dump($agent);exit;
	foreach ($mobile_agent_array as $value) {	 
		if (strpos($agent, $value) !== false) return true;	 
	}		
	return false; 
}

И пример использования:

// пример использования
$is_mobile_device = check_mobile_device();
if($is_mobile_device){
	echo "Вы зашли с мобильного устройства";
}else{
	echo "Вы зашли с PC";
}

На этом все. Если у кого-то эта функция не будет срабатывать — присылайте в комментарии название устройства, а лучше, используемый им, юзер агент. Тогда функция будет дополняться, и вместе мы ее сделаем более универсальной.

Рассказать друзьям:


Оценить:
(8 оценок, среднее: 5,00 из 5)

Определение мобильного устройства в php: 7 комментариев

    1. А зачем? Ведь на планшетах под управлением Windows 10, стоит десктопная версия!

  1. Здравствуйте!
    А можно эту инфу занести как-то в форму? в input ?
    Например как для получения заголовка стр title в script document.querySelector(«input[name=’page_title’]»).value = document.title

  2. Здравствуйте. Есть не большой текст.
    Можно ли сделать, чтоб этот текст был в спойлере или его вообще не было, если человек зашёл с мобильного устройства, а если с компа, то как обычно. (Планшеты не читывать, то есть планшет = комп)
    Заранее благодарю.

    1. Доброго времени,
      Можно добавить условие при выводе страницы — если устройство мобильное, то выводить один кусок верстки, а если десктоп — показывать совсем другое

Добавить комментарий для ICaR-Soft.ru Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code