Guest Mecanik Posted December 5, 2012 Share Posted December 5, 2012 Cum detectez daca sunt de pe mobil ? Acest lucru este foarte important , unele website-uri cunoscute detecteaza daca esti de pe mobil , in cazul in care esti de pe mobil , te redirectioneaza spre alta interfata , cu alta rezolutie . De exemplu daca intram pe www.addicted2.ro , daca avem un script care detecteaza daca suntem pe mobil , ne redirectioneaza automat pe www.m.addicted2.ro(fictiv) sau unde vrem noi . Pentru a detecta daca suntem de pe mobil folosim $_SERVER['HTTP_USER_AGENT']; Ce face aceasta functie ? Ne arata informatii despre browserul folosit cat si sistemul de operare. Acum avem nevoie de o lista cu browserele mobile , sau sisteme de operare. <?php $array = array( 'alcatel', 'amoi', 'android', 'avantgo', 'blackberry', 'benq', 'cell', 'cricket', 'docomo', 'elaine', 'htc', 'iemobile', 'iphone', 'ipad', 'ipaq', 'ipod', 'j2me', 'java', 'midp', 'mini', 'mmp', 'mobi', 'motorola', 'nec-', 'nokia', 'palm', 'panasonic', 'philips', 'phone', 'playbook', 'sagem', 'sharp', 'sie-', 'silk', 'smartphone', 'sony', 'symbian', 't-mobile', 'telus', 'up'.browser', 'up'.link', 'vodafone', 'wap', 'webos', 'wireless', 'xda', 'xoom', 'zte'); ?> Acum ca avem lista , verificam fiecare element din lista daca se potriveste cu informatiile noastre : <?php $info = $_SERVER['HTTP_USER_AGENT']; foreach($array as $agent){ if(preg_match("/".$agent."/i",$info){ //continuarea codului in cazul in care sunteti de pe un mobil break; } } ?> [/code] Intai am obtinut informatiile de la browserul/sistemul nostru , dupa care verificam pentru fiecare element daca se potriveste cu browserul nostru sau sistemul de operare . Codul complet : [CODE] <?php $array = array( 'alcatel', 'amoi', 'android', 'avantgo', 'blackberry', 'benq', 'cell', 'cricket', 'docomo', 'elaine', 'htc', 'iemobile', 'iphone', 'ipad', 'ipaq', 'ipod', 'j2me', 'java', 'midp', 'mini', 'mmp', 'mobi', 'motorola', 'nec-', 'nokia', 'palm', 'panasonic', 'philips', 'phone', 'playbook', 'sagem', 'sharp', 'sie-', 'silk', 'smartphone', 'sony', 'symbian', 't-mobile', 'telus', 'up'.browser', 'up'.link', 'vodafone', 'wap', 'webos', 'wireless', 'xda', 'xoom', 'zte'); $info = $_SERVER['HTTP_USER_AGENT']; foreach($array as $agent){ if(preg_match("/".$agent."/i",$info)){ //continuarea codului in cazul in care sunteti de pe un mobil break; } } ?> [/code] Link to comment Share on other sites More sharing options...
Recommended Posts