måndag 19 september 2011

Guide PHP: Få fram om någon sitter på en mobil

Hej, tänkte visa dig hur du kan få fram om t.ex en användare är online via sin mobil eller något annat utifrån datorn.

Vi börjar så klart med koden:



if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|iphone|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']),' ppc;')>0) {

$mobile_browser++;

}


if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows ce')>0) {

$mobile_browser++;

}

else if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) {

$mobile_browser=0;

}


if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'iemobile')>0) {

$mobile_browser++;

}
Där har du hela funktionen för att få fram om en av dina användare är online via mobilen etc..

Här har du koden för att t.ex ändra status för en användare som är online via mobilen




if($mobile_browser>0) {

echo "Jag är online via mobilen";

}else{

echo "Jag är online via datorn";


}


Inga kommentarer:

Skicka en kommentar