0

我已经实现了 Wurfl,但问题在于它给我的手机屏幕分辨率错误。wurfl 有多准确,我不知道我做错了什么。

require_once 'wurfl_config.php';

require_once WURFL_CLASS_FILE;

$ua = strtolower($_SERVER['HTTP_USER_AGENT']);


$wurflObj = new wurfl_class();
$wurflObj->GetDeviceCapabilitiesFromAgent($ua);

$width = $wurflObj->capabilities['display']['resolution_width'];

//Config file
    // Single define to be checked when starting the parser and/or the class
define("WURFL_CONFIG", true);

// Where all data is stored (wurfl.xml, cache file, logs, etc)
$data = '/var/www/html/includes/wurfl/';
define("DATADIR", $data);

// Path and filename of wurfl_parser.php
define("WURFL_PARSER_FILE", 'wurfl_parser.php');

// Path and filename of wurfl_class.php
define("WURFL_CLASS_FILE", 'wurfl_class.php');

// Path and name of the wurfl
define ("WURFL_FILE", DATADIR."wurfl.xml");

// Path and name of the log file
define ("WURFL_LOG_FILE", DATADIR."wurfl.log");

// suggested log level for normal use (default PHP logging constants)
//define ("LOG_LEVEL", LOG_ERROR );
// suggested log level for debug use
define ("LOG_LEVEL", LOG_INFO);

// Set this true if you want to use cache. Strongly suggested
define ("WURFL_USE_CACHE", true);

// Set this true if you want to avoid using cache.php file, and
// generate a single file for each device user agent and use that as a cache
// NOTICE: using Multicache will still generate cache.php and agent2id.php,
//  but will not dump the entire XML as PHP into cache.php. As a result
//  cache.php will be MUCH smaller and load WAY faster; as a drawback you will
//  have many more I/O accesses to the single tiny files.
define ("WURFL_USE_MULTICACHE", true);

// Path and name of the cache file
define ("CACHE_FILE", DATADIR."cache.php");

// Set path of the Multicache directory where all the little caches will be
// stored. Should be a directory that contains *only* these files, so that its
// content can be safely cleaned when a new cache is created.
// If not using Multicache, this parameter will not be used.
define ("MULTICACHE_DIR", DATADIR."multicache/");

// Temporary directory for manual updates.
define ("MULTICACHE_TMP_DIR", DATADIR."multicache_tmp/");
// This file is created and removed when manually updating multicache files
define ("MULTICACHE_TOUCH", DATADIR."multicache.lockfile");

// File suffix for Multicache files
define ("MULTICACHE_SUFFIX",".php");

// Autoload set to false, I will load it when needed
define ("WURFL_AUTOLOAD", false);

// This parameter tells the class to automatically update cache files when a
// new XML is found.
// Using the multicache is not suggested to automatically update it. Use the
// external scripts.
define ("WURFL_CACHE_AUTOUPDATE", true);

// Path and name of the file to store user_agent->id relation
// (ignored if caching is disabled)
define ("WURFL_AGENT2ID_FILE", DATADIR."agent2id.php4");

// Configure a patch file
define("WURFL_PATCH_FILE", DATADIR.'wurfl_patch.xml');
define("WURFL_PATCH_DEBUG", false);

//define("WURFL_PATCH_FILE", DATADIR.'web_browsers_patch.xml');

// Set the maximum number of user_agents to cache
define ("MAX_UA_CACHE", 30);

这是返回不正确宽度的已知问题,还是我做错了什么?

4

1 回答 1

3

WURFL 与其中的数据一样准确。不过总的来说还是很好的。

您使用的是哪个版本的 WURFL 数据?
您要获取哪些设备和浏览器的屏幕尺寸?(什么是用户代理?)
你得到了什么价值?
您期望什么值?

于 2009-11-09T12:12:17.403 回答