Определить юзер агент

Print RSS
87

Author
Чатланин
0
Привет. Как определить юзер агентов? Гдето 10 и может больше юзер агентов надо определить. Создат массив? Как создать?
например мне нужен определить нокиа6230,нокиа2630,нокиа6161 и д. Буду определить слабый телефонов и для них ниже качество и мелький шрифт устанавлю.
K

Транклюкаторщик
0
узнать юзер - агент - $_SERVER['HTTP_USER_AGENT'], а пост неосилил
Author
Чатланин
0
2. МеталлоgетектоР eGo,
Етот сам знаю.
$ua=$_SERVER['HTTP_USER_AGENT'];
echo' Browser: $ua <br/>';
мне нужен определить некоторый браузеров. Типо
if($ua="Гыы" || $ua="оу" || $ua="аа" || $ua="ыы"){
привет
}
но ето не вверный решение там stripos или чтото должен быть. Или создать массив
K

Транклюкаторщик
0
ну во первых
<?
$ua=$_SERVER['HTTP_USER_AGENT'];
echo' Browser: $ua <br/>';
?>
- это невалидный код (переменная в ординарных кавчках не выведет значение, юзай точки), а во вторых - это уже активная xss, хотя бы через htmlspecialchars() пропускай браузер
да и вообще, в твоем варианте надо иметь уже готовую базу браузеров
делай так:
<?
$ua = htmlspecialchars($_SERVER['HTTP_USER_AGENT']);
$brow = array(['nokia6131'] => '11|60',['nokia n97'] => '12|100',....);
foreach($brow as $k => $v){
if(stripos ($ua,$k) !== false){
$ua = $k;
$options = explode('|',$v); // $options[0] - размер шрифта, $options[1] - качество картинки
break;
}
}
?>
только мне кажется это уже извращение, делай шрифт 11px и качество среднее, и все.
Changed: KOZZ (14.09.2010 / 10:08)
Author
Чатланин
0
4. МеталлоgетектоР eGo, да нет 11px фигня. Ты хоть пробовал зайти сюда на висави с мобилом нокиа 6230?екран 128*128 ыы. А за кодов большое спосибо буду тестанит
K

Транклюкаторщик
0
5, телефоны всякие бывают, только таких все меньше и меньше.
есть телефоны которые только wml сайты поддерживают, почему бы не сделать wml версию?
хз, такой телефон - это уже проблема хозяина телефона а не сайта. подстраиваться под меньшинство в этом случае имхо не стоит
Author
Чатланин
0
6. МеталлоgетектоР eGo, да нет из за wml тогда надо все переписать. Там формы ,anchor и всякий фигня. Лучше бы исправ код 4 посте.
$brow = array([ 'nokia6131' ] => '11|60' ,[ 'nokia n97' ] => '12|100' ,....);
а нелзя бы без '12|100' и '11|60'? Типо
$brow = array([ 'nokia6131' ] => ,[ 'nokia n97' ] => ,....); только броузеры

Персональный статус
0
<?
$h_ua = strtolower($_SERVER['HTTP_USER_AGENT']);
if (!$h_ua||strpos($h_ua,'siemens')!==false||strpos($h_ua,'fly')!==false||strpos($h_ua,'sonyericsson')!==false||strpos($h_ua,'samsung')!==false||strpos($h_ua,'nokia')!==false)
{
echo 'Hello!';
}
?>

Author
Чатланин
0
8. Тitov, а почему нижнем регистре ? (strtolower)
Changed: Мансур (14.09.2010 / 13:00)
Author
Чатланин
0
При поиске нашол такой код может комуто пригодится.
<?php
 $mobile_browser = '0' ;   
if ( preg_match ( '/(up.browser|up.link| mmp|symbian|smartphone|midp|wap|phone)/i', strtolower ( $_SERVER [ ' HTTP_USER_AGENT'] ) ) ) { $ mobile_browser++; }   if ( ( strpos ( strtolower ( $_SERVER [ ' HTTP_ACCEPT'] ) , 'application/vnd.wap. xhtml+xml') > 0 )  or  ( ( isset ( $_SERVER [ ' HTTP_X_WAP_PROFILE'] )  or  isset ( $ _SERVER[ 'HTTP_PROFILE' ] ) ) ) ) { $ mobile_browser++; }       $mobile_ua = strtolower ( substr ( $ _SERVER[ 'HTTP_USER_AGENT' ] , 0 , 4 ) ) ; $ mobile_agents= array ( 'w3c ' , 'acs-' , ' alav', 'alca' , 'amoi' , 'audi' , 'avan' , 'benq' , ' bird', 'blac' , 'blaz' , 'brew' , 'cell' , 'cldc' , 'cmd- ', 'dang' , 'doco' , 'eric' , 'hipt' , 'inno' , 'ipaq' , ' java', 'jigs' , 'kddi' , 'keji' , 'leno' , 'lg-c' , 'lg-d' , 'lg -g', 'lge-' , 'maui' , 'maxo' , 'midp' , 'mits' , ' mmef', 'mobi' , 'mot-' , 'moto' , 'mwbp' , 'nec-' , 'newt' , 'noki' , 'oper' , 'palm' , 'pana' , 'pant' , ' phil', 'play' , 'port' , 'prox' , 'qwap' , 'sage' , ' sams', 'sany' , 'sch-' , 'sec-' , 'send' , 'seri' , 'sgh-' , 'shar' , 'sie-' , 'siem' , 'smal' , 'smar' , 'sony' , ' sph-', 'symb' , 't-mo' , 'teli' , 'tim-' , 'tosh' , 'tsm-' , 'upg1' , 'upsi' , 'vk-v' , 'voda' , 'wap-' , 'wapa' , ' wapi', 'wapp' , 'wapr' , 'webc' , 'winw' , ' winw', 'xda' , 'xda-' ) ;   if ( in_array ( $mobile_ua , $mobile_agents ) ) { $mobile_browser ++; }   if ( strpos ( strtolower ( $_SERVER [ ' ALL_HTTP'] ) , 'OperaMini' ) > 0 ) { $ mobile_browser++; }   if ( strpos ( strtolower ( $_SERVER [ ' HTTP_USER_AGENT'] ) , 'windows' ) > 0 ) { $ mobile_browser= 0 ; }   if ( $mobile_browser > 0 ) { // do something } else { // do something else }      
?>
Changed: Мансур (14.09.2010 / 13:21)
Stickers / Tags / Rules / Top topics / Top Posts / Search