En développement web, la personnalisation des pages web en fonction du système d'exploitation utilisé par l'utilisateur est essentielle. PHP peut identifier le système d'exploitation sur lequel le script est exécuté et le navigateur utilisé par l'utilisateur. Cet article expliquera comment identifier le système d'exploitation utilisé par l'utilisateur en PHP et comment faire la distinction entre Android et iOS.
Les deux méthodes suivantes sont proposées :
Méthode 1 : Utiliser la variable HTTP_USER_AGENT
HTTP_USER_AGENT est un en-tête de requête envoyé par le navigateur au serveur Web, qui contient la chaîne de l'agent utilisateur. Cette chaîne contient généralement le nom du navigateur, la version du navigateur, le nom du système d'exploitation et la version du système d'exploitation. En PHP, vous pouvez utiliser le code suivant pour obtenir la valeur de cette variable :
$user_agent = $_SERVER['HTTP_USER_AGENT'];
Après avoir obtenu la valeur, nous souhaitons généralement retrouver les informations contenues dans la chaîne de l'agent utilisateur. . Pour déterminer le système d'exploitation de l'utilisateur, voici quelques chaînes d'agent utilisateur courantes :
Windows
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/58.0.3029.96 Safari/537.36
macOS
Mozilla/5.0 (Macintosh ; Intel Mac OS AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/51.0.2704.81 Mobile Safari/537.36
iOS
Mozilla/5.0 (iPhone ; CPU iPhone OS 9_1 comme Mac OS X) AppleWebKit/601.1 .46 (KHTML, comme Gecko) Version/9.0 Mobile/13B143 Safari/601.1
Le système d'exploitation et la version utilisés par l'utilisateur peuvent être déterminés en jugeant les mots-clés contenus dans la chaîne de l'agent utilisateur. Voici un exemple de code :
$user_agent = $_SERVER['HTTP_USER_AGENT'];
if (preg_match('/iphone|ipod|ipad/i', $user_agent)) {
// iOS if(preg_match('/OS\s(\d+)_(\d+)/i', $user_agent, $matches)) { $os_version = $matches[1] . '.' . $matches[2]; } echo 'iOS ' . $os_version;
} else if (preg_match('/android/i', $user_agent)) {
// Android if(preg_match('/Android\s(\d+(\.\d+)?)/i', $user_agent, $matches)) { $os_version = $matches[1]; } echo 'Android ' . $os_version;
} else if ( preg_match('/windows nt/i', $user_agent)) {
// Windows if(preg_match('/Windows NT (\d+(\.\d+)?)/i', $user_agent, $matches)) { $os_version = $matches[1]; } echo 'Windows ' . $os_version;
} else {
echo 'Unknown OS';
}
Méthode 2 : Utiliser la fonction get_browser de PHP
Le get_browser La fonction peut renvoyer le navigateur et le système d'exploitation utilisés par l'utilisateur. Informations connexes. Cependant, cette fonction s'appuie sur le fichier browscap.ini installé par PHP et sur les données correspondant aux informations de l'agent utilisateur spécifiées.
Voici un exemple de code :
$browser_info = get_browser(null, true);
$os = $browser_info['platform'];
if (preg_match('/iphone|ipod|ipad/i', $_SERVER ['HTTP_USER_AGENT'])) {
echo 'iOS ' . $os;
} else if (preg_match('/android/i', $_SERVER['HTTP_USER_AGENT'])) {
echo 'Android ' . $os;
} else {
echo 'Unknown OS';
}
Il devrait Notez que le fichier browscap.ini de PHP doit être téléchargé séparément et que son lien de téléchargement est https://browscap.org/stream?q=Full_PHP_BrowsCapINI
Conclusion
Les deux méthodes peuvent déterminer le système d'exploitation de l'utilisateur sur PHP, vous seulement besoin Choisissez simplement une méthode que vous aimez. Quelle que soit la méthode que vous choisissez, elle peut bien répondre aux besoins des systèmes d’exploitation des utilisateurs en matière de développement Web.
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!