Последние время часто вижу на форумах вопрос: как определить размер экрана мобильного телефона. Эти темы часто остаются без ответа - вот решил написать как решить эту проблемку с помощью WURFL.
WURFL это огромная база характеристик мобильных телефонов в формате xml, на момент написания этой заметки wurfl.xml весит более 6 мегабайт.( http://wurfl.sourceforge.net/wurfl.xml).
Качаем http://downloads.sourceforge.net/wurfl/wurfl_php_tools_21.zip, распаковываем, заливаем на сервер - допустим в папку wurfl. Здесь же создаём папку data с разрешением на запись, Качаем wurfl.xml, и помещаем его в папку data. Запускаем update_cache.php - всё wurfl стоит - если мы сделали всё правильно.
Теперь открывает текстовой редактор и пишем:
<?php
require_once('wurfl_config.php');
require_once(WURFL_CLASS_FILE);
$wurflObj = new wurfl_class();
$matched = $wurflObj->getDeviceCapabilitiesFromAgent($_SERVER['HTTP_USER_AGENT']);
$width = $wurflObj->getDeviceCapability("resolution_width");
$height = $wurflObj->getDeviceCapability("resolution_height");
echo "Размер дисплея: $width x $height";
?>
Так же существует очень удобная библиотека Tera-WURFL (http://www.tera-wurfl.com/) отличие от классического wurfl то что кэш он хранит не в файлах а в mysql что естественно повышает работоспособность. Вот пример работы tera-wurfl http://devel.tera-tones.com:8000/ringtones/tera_wurfl/check_wurfl.php
Оф.сайт wurfl: wurfl.sourceforge.net
Вот и всё спасибо за внимания.
Июнь 14th, 2008 at 03:22
При запуске wurfl/update_cache.php
Выдал:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 79 bytes) in /public_html/wap/wurfl/wurfl_parser.php on line 400
Пытался осмыслить, но тщетно:(:(:(
Any ideas?