Maison  >  Article  >  développement back-end  >  Détecter les appareils mobiles avec PHP

Détecter les appareils mobiles avec PHP

WBOY
WBOYavant
2024-02-28 12:01:01352parcourir

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 classe mobiledetect dans php pour détecter les appareils mobiles

mobiledetect 类检测移动设备

我们可以使用名为 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>

在 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é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

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.

<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

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.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🎜

En PHP en utilisant HTTP_USER_AGENT et preg_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é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 : 🎜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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer