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.
mobiledetect
dansphppour détecter les appareils mobilesmobiledetect
类检测移动设备
我们可以使用名为Mobile Detect
的轻量级 PHP 类来检测 PHP 中的移动设备。它还可以检测平板设备。该库使用某些Http标头和用户代理字符串来检测移动设备。我们可以使用 Composer 使用以下命令下载库。
composer require mobiledetect/mobiledetectlib
该库提供了各种方法,如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"; } ?>
输出:
Mobile device not detected
HTTP_USER_AGENT
和preg_match()
函数检测移动设备我们可以使用字符串HTTP_USER_AGENT
来获取有关用户浏览器访问网站的信息。我们将使用$_SERVER
超全局变量和字符串作为数组元素。超全局变量包含有关网络服务器的信息。我们将创建在移动设备中找到的用户代理字符串的自定义集合。然后,我们可以使用preg_match()
函数检查这些是否与当前用户正在浏览的浏览器匹配。随着支持的新移动设备的发布,可以手动添加用户代理字符串的集合。可在此处找到更新的用户代理字符串集合列表。
例如,创建一个变量$user_agent
并在其中存储$_SERVER["HTTP_USER_AGENT"]
。然后使用preg_match()
函数来匹配用户代理字符串。使用字符串集合作为第一个参数。使用$user_agent
变量作为第二个参数。最后,使用if-else
Nous pouvons utiliser une classe PHP légère nomméeMobile Detect
pour détecter en PHP les appareils mobiles . Il peut également détecter les tablettes. Cette bibliothèque utilise certains en-têtes
et des
stringsd'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"; }
La bibliothèque fournit diverses méthodes, telles queisMobile()
,isTablet()
,is
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.php
est 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 Detect
pour 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_AGENT
etpreg_match()
détecte les appareils mobiles
Nous pouvons utiliser la chaîne
HTTP_USER_AGENT
pour obtenir des informations sur le site Web visité par le navigateur de l'utilisateur. Nous utiliserons la variable superglobale
$_SERVER
et 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_agent
et 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_agent
comme deuxième paramètre. Enfin, utilisez les conditions
if-else
pour 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!