Maison > Article > développement back-end > PHP implémente des méthodes et des exemples de classes d'inspection de navigateur
Cet article présente principalement la classe d'inspection de navigateur implémentée par PHP et analyse en détail les compétences associées au fonctionnement du navigateur PHP sous forme d'exemples. C'est très simple et pratique. Les amis dans le besoin peuvent s'y référer
<.>Les détails sont les suivants :<?php //原作者:epsilon7 //SonyMusic([email]sonymusic@163.net[/email]) class BrowserDetector { var $UA = ""; //$HTTP_USER_AGENT的内容 var $BROWSER= "Unknown"; //浏览器类型 var $PLATFORM = "Unknown"; //操作系统 var $VERSION= ""; //浏览器版本号 var $MAJORVER = ""; //浏览器主版本号 var $MINORVER = ""; //浏览器副版本号 /* 构造函数开始 */ function BrowserDetector(){ $this->UA = getenv(HTTP_USER_AGENT); $preparens = ""; $parens = ""; $i = strpos($this->UA,"("); if ($i >= 0) { $preparens = trim(substr($this->UA,0,$i)); $parens = substr($this->UA,$i+1,strlen($this->UA)); $j = strpos($parens,")"); if($j>=0) { $parens = substr($parens,0,$j); } } else { $preparens = $this->UA; } $browVer = $preparens; $token = trim(strtok($parens,";")); while($token) { if($token=="compatible") { } elseif(preg_match("/MSIE/i","$token")) { $browVer = $token; } elseif(preg_match("/Opera/i","$token")) { $browVer = $token; } elseif(preg_match("/X11/i","$token") || preg_match("/SunOS/i","$token") || preg_match ("/Linux/i","$token")) { $this->PLATFORM = "Unix"; } elseif(preg_match("/Win/i","$token")) { $this->PLATFORM = $token; } elseif(preg_match("/Mac/i","$token") || preg_match("/PPC/i","$token")) { $this->PLATFORM = $token; } $token = strtok(";"); } $msieIndex = strpos($browVer,"MSIE"); if($msieIndex >= 0) { $browVer = substr($browVer,$msieIndex,strlen($browVer)); } $leftover = ""; if(substr($browVer,0,strlen("Mozilla")) == "Mozilla") { $this->BROWSER = "Netscape"; $leftover=substr($browVer,strlen("Mozilla")+1,strlen($browVer)); } elseif(substr($browVer,0,strlen("Lynx")) == "Lynx") { $this->BROWSER = "Lynx"; $leftover=substr($browVer,strlen("Lynx")+1,strlen($browVer)); } elseif(substr($browVer,0,strlen("MSIE")) == "MSIE") { $this->BROWSER = "IE"; $leftover=substr($browVer,strlen("MSIE")+1,strlen($browVer)); } elseif(substr($browVer,0,strlen("Microsoft Internet Explorer")) == "Microsoft Internet Explorer") { $this->BROWSER = "IE"; $leftover=substr($browVer,strlen("Microsoft Internet Explorer")+1,strlen($browVer)); } elseif(substr($browVer,0,strlen("Opera")) == "Opera") { $this->BROWSER = "Opera"; $leftover=substr($browVer,strlen("Opera")+1,strlen($browVer)); } $leftover = trim($leftover); $i=strpos($leftover," "); if($i > 0) { $this->VERSION = substr($leftover,0,$i); } else { $this->VERSION = $leftover; } $j = strpos($this->VERSION,"."); if($j >= 0) { $this->MAJORVER = substr($this->VERSION,0,$j); $this->MINORVER = substr($this->VERSION,$j+1,strlen($this->VERSION)); } else { $this->MAJORVER = $this->VERSION; } } } //测试程序开始 $test=new browserdetector; echo $test->UA."<br>"; echo $test->BROWSER."<br>"; echo $test->PLATFORM."<br>"; echo $test->VERSION."<br>"; echo $test->MAJORVER."<br>"; echo $test->MINORVER."<br>"; ?>Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun. Recommandations associées :
Classe d'empaquetage de cryptage et de déchiffrement DES implémentée par PHP
Analyse des problèmes de connexion Socket et de délai d'expiration des données de lecture et d'écriture en PHP
phpExplication détaillée des méthodes et exemples d'appel de votre propre programme Java
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!