Maison > Article > développement back-end > Détecter les appareils mobiles avec PHP
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
dans php pour détecter les appareils mobilesmobiledetect
类检测移动设备我们可以使用名为 Mobile Detect
的轻量级 PHP 类来检测 PHP 中的移动设备。它还可以检测平板设备。该库使用某些 Http 标头和用户代理字符串来检测移动设备。我们可以使用 Composer 使用以下命令下载库。
<code><code class="language-bash hljs" data-lang="bash"><span style="display:flex;"><span>composer require mobiledetect/mobiledetectlib </span></span></code></code>
该库提供了各种方法,如 isMobile()
、isTablet()
、is<strong class="keylink">iOS</strong>()
来检测各种移动环境。我们可以创建 Mobile_Detect()
类的对象并使用这些方法。
例如,使用上面的 composer 命令下载项目目录中的库。接下来,使用 require_once
函数需要文件 autoload.php
。该文件位于 vendor
目录中。接下来,创建 Mobile_Detect()
类的对象 $detect
。然后,在 if
条件下使用函数 isMobile()
。在 if
块中,显示消息检测到移动设备
,并在 else
块中显示消息未检测到移动设备
。
下面的示例将检测网页是否是从移动设备访问的。下面的输出部分显示了从 PC 打开网页时的情况。我们可以通过在网页上单击鼠标右键找到响应式设计模式来检查元素。在那里,我们可以选择不同的移动设备并刷新脚本。当我们选择移动设备时,输出将更改为检测到移动设备
。这样,我们就可以使用 Mobile Detect
类来检测 PHP 中的移动设备。
示例代码:
<code><code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">require_once</span> <span style="color:#ba2121">"vendor/autoload.php"</span>; </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span><span style="color:#19177c">$detect</span> <span style="color:#666">=</span> <span style="color:#008000;font-weight:bold">new</span> Mobile_Detect; </span></span><span style="display:flex;"><span> </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> ( <span style="color:#19177c">$detect</span><span style="color:#666">-></span><span style="color:#7d9029">isMobile</span>() ) { </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"Mobile device detected"</span>; </span></span><span style="display:flex;"><span>} </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">else</span> { </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"Mobile device not detected"</span>; </span></span><span style="display:flex;"><span>} </span></span><span style="display:flex;"><span><span style="color:#bc7a00">?></span><span > </span></span></span></code></code>
输出:
<code><code class="language-text hljs" data-lang="text"><span style="display:flex;"><span>Mobile device not detected </span></span></code></code>
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ée Mobile 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.
<code><code class="language-php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#19177c">$user_agent</span> <span style="color:#666">=</span> <span style="color:#19177c">$_SERVER</span>[<span style="color:#ba2121">"HTTP_USER_AGENT"</span>]; </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span>(preg_match(<span style="color:#ba2121">"/(<strong class="keylink">Android</strong>|<strong class="keylink">WEB</strong>os|avant<strong class="keylink">Go</strong>|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"</span>,<span style="color:#19177c">$user_agent</span> )) </span></span><span style="display:flex;"><span>{ </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"mobile device detected"</span>; </span></span><span style="display:flex;"><span>} </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">else</span>{ </span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"mobile device not detected"</span>; </span></span><span style="display:flex;"><span>} </span></span></code></code>
La bibliothèque fournit diverses méthodes, telles que isMobile()
, 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 <code>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 : 🎜<code><code class="language-text hljs" data-lang="text"><span style="display:flex;"><span>Mobile device detected </span></span></code></code>🎜Sortie : 🎜rrreee🎜
HTTP_USER_AGENT
et preg_match()
détecte les appareils mobilesHTTP_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éseau🎜🎜serveur🎜. 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 : 🎜rrreeeCe 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!