【问题标题】:PHP: detect name of android device?PHP:检测android设备的名称?
【发布时间】:2014-08-12 13:07:16
【问题描述】:

我想知道如何检测访问者在 PHP 中使用的 Android 设备,例如。 Galaxy S. 在用手机浏览 facebook 时,我看到: “在 Galaxy S 上安装 Facebook 并加快浏览速度”

所以我查看了 phpinfo();位于我的服务器上,来自我在浏览 facebook 时使用的同一浏览器并搜索“galaxy”文本,但没有找到匹配项。那么它是如何检测到我的设备名称的呢?以及如何在我的 PHP 脚本中检测到它?

任何帮助将不胜感激。

【问题讨论】:

  • var_dump(getallheaders());
  • 我的服务器没有启用 getallheaders()
  • 试过:function getallheaders() { $headers = ''; foreach ($_SERVER as $name => $value) { if (substr($name, 0, 5) == 'HTTP_') { $headers[str_replace(' ', '-', ucwords(strtolower(str_replace(' _', ' ', substr($name, 5)))))] = $value; } } 返回 $headers; } getallheaders();然后在浏览器中加载它并为galaxy做了一个“在页面中查找”并没有匹配
  • 你不会找到文字galaxy,你会找到型号,例如我的三星galaxy s4 mini在用户代理中发送GT-19195

标签: php user-agent


【解决方案1】:

在这里找到类似的东西:- http://forums.macrumors.com/showthread.php?t=205417

检查它是否对你有用。

<?php
/* detect mobile device*/
$ismobile = 0;
$container = $_SERVER['HTTP_USER_AGENT'];
// A list of mobile devices 
$useragents = array ( 
'Blazer' ,
'Palm' ,
'Handspring' ,
'Nokia' ,
'Kyocera',
'Samsung' ,
'Motorola' ,
'Smartphone', 
'Windows CE' ,
'Blackberry' ,
'WAP' ,
'SonyEricsson',
'PlayStation Portable', 
'LG', 
'MMP',
'OPWV',
'Symbian',
'EPOC',
); 

foreach ( $useragents as $useragents ) { 
 if(strstr($container,$useragents)) {
   $ismobile = 1;
 }
}
if ( $ismobile == 1 ) {
echo "<p>mobile device</p>";
echo $_SERVER['HTTP_USER_AGENT'];
}
?>

这里还有一些东西:- http://mobiledetect.net/

还有更多:- http://detectmobilebrowsers.mobi/

干杯!

【讨论】:

  • 它只是回应 $_SERVER['HTTP_USER_AGENT']?我在我的问题中说:所以我查看了 phpinfo();位于我的服务器上,使用的是我在浏览 facebook 时使用的同一浏览器并搜索“galaxy”文本但没有找到匹配项。
  • 我明白了。检查我在问题中发布的链接。可能对你有帮助:)
【解决方案2】:

使用超全局$_SERVER

$useragent = $_SERVER['HTTP_USER_AGENT'];
$info = get_browser($useragent);

有关get_browser结果的更多信息,请参见此处的doku:http://de2.php.net/manual/en/function.get-browser.php
我猜对你的 purpous 来说最重要的是$info-&gt;platform

【讨论】:

  • 不太可能从中检索特定的设备名称。
  • 我的问题包含:所以我查看了 phpinfo();位于我的服务器上,使用的是我在浏览 facebook 时使用的同一浏览器并搜索“galaxy”文本但没有找到匹配项。
  • phpinfo();根本不会帮助您,因为它不包含任何有关 clinet 方面的信息!它仅包含有关您的 php 环境的信息作为 php.ini 中的配置
  • phpinfo();最后包含客户端变量,如所有 $_SERVER 指令。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多