Detectar dispositivos móviles en PHP
-
Utilice la clase
mobiledetect
para detectar dispositivos móviles en PHP -
Utilice
HTTP_USER_AGENT
y la funciónpreg_match()
para detectar dispositivos móviles en PHP
Introduciremos algunos métodos para detectar dispositivos móviles en PHP.
Utilice la clase mobiledetect
para detectar dispositivos móviles en PHP
Podemos usar una clase PHP liviana llamada Mobile Detect
para detectar dispositivos móviles en PHP. También detecta tabletas. La biblioteca utiliza ciertos encabezados HTTP y cadenas de agentes de usuario para detectar dispositivos móviles. Podemos descargar la librería usando el compositor con el siguiente comando.
composer require mobiledetect/mobiledetectlib
La biblioteca proporciona varios métodos como isMobile()
, isTablet()
, isIOS()
para detectar varios entornos móviles. Podemos crear un objeto de la clase Mobile_Detect()
y usar estos métodos.
Por ejemplo, descargue la biblioteca en el directorio del proyecto usando el comando composer anterior. A continuación, solicite el archivo autoload.php
usando la función require_once
. El archivo se encuentra dentro del directorio vendor
. A continuación, cree un objeto $detect
de la clase Mobile_Detect()
. Luego, use la función isMobile()
en una condición if
. Dentro del bloque if
, muestre el mensaje Mobile device detected
y muestre el mensaje Mobile device not detected
en el bloque else
.
El siguiente ejemplo detectará si se accede a la página web desde un dispositivo móvil. La sección de salida a continuación muestra el caso cuando la página web se abre desde una PC. Podemos encontrar el Modo de diseño receptivo yendo a Inspeccionar elemento con un clic derecho en la página web. Allí, podemos elegir diferentes dispositivos móviles y actualizar el script. Cuando elegimos un dispositivo móvil, la salida cambiará a Mobile device detected
. De esta forma, podemos utilizar la clase Mobile Detect
para detectar dispositivos móviles en PHP.
Código de ejemplo:
require_once "vendor/autoload.php";
$detect = new Mobile_Detect;
if ( $detect->isMobile() ) {
echo "Mobile device detected";
}
else {
echo "Mobile device not detected";
}
?>
Producción :
Mobile device not detected
Utilice HTTP_USER_AGENT
y la función preg_match()
para detectar dispositivos móviles en PHP
Podemos utilizar la cadena HTTP_USER_AGENT
para obtener la información sobre el navegador del usuario para visitar el sitio web. Usaremos la variable superglobal $_SERVER
y la cadena como un elemento de matriz. La variable superglobal contiene información sobre el servidor web. Crearemos una colección personalizada de cadenas de usuario-agente que se encuentran en dispositivos móviles. Luego, podemos verificar si coinciden con el navegador que el usuario actual está navegando usando la función preg_match()
. La colección de cadenas de agente de usuario se puede agregar manualmente junto con el lanzamiento de nuevos dispositivos móviles compatibles. Se encuentra aquí una lista de una colección actualizada de cadenas de agentes de usuario.
Por ejemplo, cree una variable $user_agent
y almacene $_SERVER["HTTP_USER_AGENT"]
en ella. Luego use la función preg_match()
para hacer coincidir la cadena de usuario-agente. Utilice la colección de cadenas como primer parámetro. Utilice la variable $user_agent
como segundo parámetro. Por último, muestre el mensaje según corresponda utilizando la condición if-else
.
Aquí, abrimos la página web desde un iPhone. Por lo tanto, la cadena de agente de usuario coincide con la colección. De esta forma, podemos detectar el dispositivo móvil en PHP.
Código de ejemplo:
$user_agent = $_SERVER["HTTP_USER_AGENT"];
if(preg_match("/(android|webos|avantgo|iphone|ipod|ipad|bolt|boost|cricket|docomo|fone|hiptop|opera mini|mini|kitkat|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i",$user_agent ))
{
echo "mobile device detected";
}
else{
echo "mobile device not detected";
}
Producción :
Mobile device detected
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn