Detectar si el navegador es un móvil smartphone

Iniciado por el-brujo, 17 Mayo 2012, 17:39 PM

0 Miembros y 1 Visitante están viendo este tema.

el-brujo

Ejemplos:

Código (php) [Seleccionar]
<?php
$iphone 
strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod strpos($_SERVER['HTTP_USER_AGENT'],"iPod");

if (
$iphone || $android || $palmpre || $ipod || $berry == true)
{
header('Location: http://mobile.site.com/');
//OR
echo "<script>window.location='http://mobile.site.com'</script>";
}
?>


Código (php) [Seleccionar]

$phones = array('iPhone', 'Android', 'BlackBerry');

if ( preg_match('/('.implode('|', $phones).')/i', $_SERVER['HTTP_USER_AGENT']) ){
redirect
}



Código (php) [Seleccionar]

$mobile = 'http://mobile.mysite.com/';

if ((strstr($_SERVER['HTTP_USER_AGENT'], 'iPhone')) && empty($_COOKIE["mobilesitez"]) && $_SERVER['REQUEST_URI']=="/") {
header("Location: " . $mobile);
}

Code added to mobile page:

function set_cookie () {
document.cookie = 'mobilesitez=mobilesitez; domain=.mysite.com;';
window.location = 'http://www.mysite.com/'
}



Código (php) [Seleccionar]
<?php
if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod'))
 {
  
header('Location: http://yoursite.com/iphone');
  exit();
}
?>



Código (php) [Seleccionar]
if( preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|webos|galaxy|phone|pocket|psp|treo|android|mobile|240x320|400X240|nitro|nokia|portalmmm|proxinet|blackberry|palm||series40|series60|s60|sonyericsson|e10i|samsung|nexus|htc|desire|ipod|itunes|vodafone|wap-|wapi|wapa|wapp|series40|series60|s60|sonyericsson)/i', $user_agent) ){
//do something here for all mobile phones
}



Código (php) [Seleccionar]
$mobile_agents = '!(tablet|pad|mobile|phone|symbian|android|ipod|ios|blackberry|webos)!i';
if(preg_match($mobile_agents, $_SERVER['HTTP_USER_AGENT']))
{
   // Mobile!
}


Código (php) [Seleccionar]

$mobile = false;
if(isset($_SERVER['HTTP_USER_AGENT']))
{
   $mobile_agents = '!(tablet|pad|mobile|phone|symbian|android|ipod|ios|blackberry|webos)!i';
   if(preg_match($mobile_agents, $_SERVER['HTTP_USER_AGENT']))
   {
       $mobile = true;
   }
}

dimitrix

Lo siento brujo, pero esto es muy simple, no sotros somos Haxors (ni se como se escribe).

Ahora en serio, mil gracias, me va venir de perlas aunque lo usaré para cambiar el .css dependiendo si es móvil o no :-)




baeltaezaer

Hola, yo usé este http://pastebin.com/6TG5kL9i

Solo que el problema que tengo es al intentar diferenciar entre una tablet android y un smartphone android.

http://detectmobilebrowsers.mobi/help/

No sé si alguien ya haya podido realizar eso.

Saludos!

soru13

Cita de: baeltaezaer en 25 Julio 2012, 18:15 PM
Hola, yo usé este http://pastebin.com/6TG5kL9i

Solo que el problema que tengo es al intentar diferenciar entre una tablet android y un smartphone android.

http://detectmobilebrowsers.mobi/help/

No sé si alguien ya haya podido realizar eso.

Saludos!


Código (php) [Seleccionar]

<?php
include('Mobile_Detect.php');
$detect = new Mobile_Detect();
if (
$detect->isMobile()) {
    echo 
"<script>location.href='http://m.tuweb.com/';</script>";
}else{
if($detect->isTablet()){
echo "<script>location.href='http://m.tuweb.com/';</script>";
}
}
?>



eso71

Hola buen día, les tengo en una pregunta, este codigo lo pongo tal y como está en el index.php? todo completo o hay que seccionarlo en varios archivos?

dimitrix

Cita de: eso71 en 26 Octubre 2012, 18:13 PM
Hola buen día, les tengo en una pregunta, este codigo lo pongo tal y como está en el index.php? todo completo o hay que seccionarlo en varios archivos?

Mmm.... normalmente toda web tiene un <?php include('algo.php'); ?> que se repite en toda la web, ya sea para conectarse a la db o para lo que sea.

Pues tendría que ir ahí para que así afecte a todas las páginas(secciones).

Tienes que recordar que al ser un Header tiene que ir antes de cualquier salida de texto.