通过从浏览器解析用户代理字符串来找出用户正在使用哪部电话.(在 PHP中)
例如.诺基亚1100,三星D900.
有一个很好的图书馆,有足够的电话供应商和模型数据库吗?
我找到的一些解决方案,需要你的观点:
i)phonedetection:https://www.handsetdetection.com – 付费订阅
ii)WURFL – http://wurfl.sourceforge.net/
iii)自己的解决方案 – 我有一个小型的手机制造商和型号数据库,但我必须在我的代码中添加用户代理字符串的定制检查,以匹配/模糊匹配数据库,因为用户代理字符串格式在制造商之间不一致.
更新:
我们创建了一个量身定制的解决方案,它是正则表达式的混合,可以将标准用户代理(如iOS,Android,Blackberry和WURFL)作为其他手机(如symbian,j2me,bada等)的后备机制.
添加数据库/缓存(MysqL,memcached,mongodb等)之后WURFL工作得很好,它已经作为核心代码库中的设置存在.尽管你必须每隔几周用最新版本的WURFL手机xml数据库更新/同步wurfl信息以保持更新与新发布的手机的规格.
其次,您应该考虑解析时间.如果您最终使用ie WURFL并在您的站点上解析该XML,则在检查设备信息时需要解析40万行XML.当然,您可以将XML放入本地索引数据库,但这也需要一些维护脚本来将更新后的XML中的数据与数据库同步.
第三个(但也许应该是第一个?)正在考虑解决方案的成本/收益.如果您在网站上赚钱,那么对合作伙伴承担一些责任可能是明智之举.像handsetdetection.com这样的托管服务似乎能够以不那么可怕的成本提供高流量.另一个好处是,他们负责维护自己的存储库,如果他们的服务不够好,可能会失去客户.理论上,OpenSource社区可以进行4个月的休假,并且在那段时间内不会维持洗礼(我真的不认为应该担心任何事情;-)
不知道你的确切需求,我会优先考虑这样:
>尽可能使用简单的解决方案,即Detect Mobile Browsers的解决方案>像WURFL一样去OpenSource.我只是喜欢OpenSource解决方案:-)>如果您的业务需要保证稳定性和数据质量,您应该让专业人员处理它;-)