对于我们所有的移动网站,我们都会通过PHP脚本将所有传入的请求记录到我们的页面中。我们每天都会从Opera mini获得数千次点击,我们一直在使用下面的代码片段来确定正确的用户代理。
if (array_key_exists("X-OperaMini-Phone", $headers))
{
$ua= mysql_real_escape_string('Opera-').($headers["X-OperaMini-Phone"]);
}
else
{ $ ua = mysql_real_escape_string($ _ SERVER ['HTTP_USER_AGENT']); }
然而,在运行一段时间后,我发现在绝大多数情况下,X-OperaMini-Phone标头是空白的。上面的代码看起来是否正确?如果是这样,你能解释一下原因吗?
答案 0 :(得分:0)
建议在检测Opera Mini时在UA字符串中查找字符串“Opera Mini”。所有设备均可能无法报告 X-OperaMini-Phone 标头。请参阅此处了解详情。 http://dev.opera.com/articles/view/opera-mini-request-headers/