Détecter les appareils mobiles avec PHP

WBOY
Libérer: 2024-02-28 12:02:01
avant
326 Les gens l'ont consulté

l'éditeur php Yuzai vous présentera aujourd'hui comment utiliser PHP pour détecter les appareils mobiles. Avec la popularité des appareils mobiles, la conception réactive des sites Web est devenue particulièrement importante. En détectant le type d'appareil utilisé par les utilisateurs pour accéder au site Web via PHP, nous pouvons fournir un contenu et une mise en page personnalisés pour différents appareils afin d'améliorer l'expérience utilisateur. Cet article explique comment utiliser PHP pour détecter le type d'appareil de l'utilisateur et fournir une meilleure adaptation mobile à votre site Web.


Utilisez la classemobiledetectdansphppour détecter les appareils mobiles

mobiledetect类检测移动设备

我们可以使用名为Mobile Detect的轻量级 PHP 类来检测 PHP 中的移动设备。它还可以检测平板设备。该库使用某些Http标头和用户代理字符串来检测移动设备。我们可以使用 Composer 使用以下命令下载库。

composer require mobiledetect/mobiledetectlib 
Copier après la connexion

该库提供了各种方法,如isMobile()isTablet()isiOS()来检测各种移动环境。我们可以创建Mobile_Detect()类的对象并使用这些方法。

例如,使用上面的 composer 命令下载项目目录中的库。接下来,使用require_once函数需要文件autoload.php。该文件位于vendor目录中。接下来,创建Mobile_Detect()类的对象$detect。然后,在if条件下使用函数isMobile()。在if块中,显示消息检测到移动设备,并在else块中显示消息未检测到移动设备

下面的示例将检测网页是否是从移动设备访问的。下面的输出部分显示了从 PC 打开网页时的情况。我们可以通过在网页上单击鼠标右键找到响应式设计模式来检查元素。在那里,我们可以选择不同的移动设备并刷新脚本。当我们选择移动设备时,输出将更改为检测到移动设备。这样,我们就可以使用Mobile Detect类来检测 PHP 中的移动设备。

示例代码:

require_once "vendor/autoload.php";  $detect = new Mobile_Detect;  if ( $detect->isMobile() ) { echo "Mobile device detected"; } else { echo "Mobile device not detected"; } ?> 
Copier après la connexion

输出:

Mobile device not detected 
Copier après la connexion

在 PHP 中使用HTTP_USER_AGENTpreg_match()函数检测移动设备

我们可以使用字符串HTTP_USER_AGENT来获取有关用户浏览器访问网站的信息。我们将使用$_SERVER超全局变量和字符串作为数组元素。超全局变量包含有关网络服务器的信息。我们将创建在移动设备中找到的用户代理字符串的自定义集合。然后,我们可以使用preg_match()函数检查这些是否与当前用户正在浏览的浏览器匹配。随着支持的新移动设备的发布,可以手动添加用户代理字符串的集合。可在此处找到更新的用户代理字符串集合列表。

例如,创建一个变量$user_agent并在其中存储$_SERVER["HTTP_USER_AGENT"]。然后使用preg_match()函数来匹配用户代理字符串。使用字符串集合作为第一个参数。使用$user_agent变量作为第二个参数。最后,使用if-elseNous pouvons utiliser une classe PHP légère nomméeMobile Detectpour détecter en PHP les appareils mobiles . Il peut également détecter les tablettes. Cette bibliothèque utilise certains en-têtes

Http

et des

strings

d'agent utilisateur pour détecter les appareils mobiles. Nous pouvons télécharger la bibliothèque à l'aide de Composer en utilisant la commande suivante.

$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"; } 
Copier après la connexion

La bibliothèque fournit diverses méthodes, telles queisMobile(),isTablet(),is

iOS() pour détecter divers a environnement mobile. Nous pouvons créer des objets de la classe Mobile_Detect()et utiliser ces méthodes. Par exemple, utilisez la commande composer ci-dessus pour télécharger la bibliothèque dans le répertoire project. Ensuite, le fichier autoload.phpest requis à l'aide de la fonction require_once. Ce fichier se trouve dans le répertoire vendor. Ensuite, créez un objet de classe Mobile_Detect() $detect. Ensuite, utilisez la fonction isMobile()dans une condition if. Dans le bloc if, affichez le message Appareil mobile détecté, et dans le bloc else, affichez le message Appareil mobile non détectécode>. L'exemple ci-dessous détectera si une page Web est accessible à partir d'un appareil mobile. La section de sortie ci-dessous montre ce qui se passe lorsqu'une page Web est ouverte à partir d'un PC. Nous pouvons inspecter les éléments en trouvant le Design Mode Responsive en cliquant avec le bouton droit sur la page Web. Là, nous pouvons sélectionner un autre appareil mobile et actualiser le script. Lorsque nous sélectionnons un appareil mobile, le résultat devient Appareil mobile détecté. De cette façon, nous pouvons utiliser la classe Mobile Detectpour détecter les appareils mobiles en PHP. Exemple de code :
Mobile device detected 
Copier après la connexion
Sortie : rrreee

En PHP en utilisantHTTP_USER_AGENTetpreg_match()détecte les appareils mobiles

Nous pouvons utiliser la chaîne HTTP_USER_AGENTpour obtenir des informations sur le site Web visité par le navigateur de l'utilisateur. Nous utiliserons la variable superglobale $_SERVERet les chaînes comme éléments array. Les variables superglobales contiennent des informations sur le réseauserveur. Nous allons créer une collection personnalisée de chaînes d'agent utilisateur trouvées sur les appareils mobiles. Nous pouvons ensuite utiliser la fonction preg_match()pour vérifier si ceux-ci correspondent au navigateur que l'utilisateur actuel navigue. À mesure que de nouveaux appareils mobiles pris en charge sont publiés, des collections de chaînes d'agent utilisateur peuvent être ajoutées manuellement. Une liste mise à jour des collections de chaînes d'agent utilisateur peut être trouvée ici. Par exemple, créez une variable $user_agentet stockez-y $_SERVER["HTTP_USER_AGENT"]. Utilisez ensuite la fonction preg_match()pour faire correspondre la chaîne de l'agent utilisateur. Utilisez une collection de chaînes comme premier argument. Utilisez la variable $user_agentcomme deuxième paramètre. Enfin, utilisez les conditions if-elsepour afficher le message en conséquence. Ici, nous avons ouvert la page Web depuis l'iPhone. La chaîne de l'agent utilisateur correspond donc à l'ensemble. De cette façon, nous pouvons détecter les appareils mobiles en PHP. Exemple de code : rrreee Sortie : rrreee

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:lsjlt.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!