Tip: Cómo detectar con PHP si te visita un iPhone

Sábado, Enero 30, 2010 2:17
Posted in category Cómo, Mozilla, PHP, Programación, Tips, iPhone

Estoy trabajando un poco en sitios que “pueden ser visitados desde el iPhone” [así lo solicitó el cliente], el tema es que existen algunas funciones javascript para detectar que si usas jQuery te “bloquea” los efectos.

La solución es muy sencilla, aplicar el script en PHP como a continuación:
PHP<5.3.0

if (ereg('iPhone',$_SERVER['HTTP_USER_AGENT']))
{
header("Location:/iphone.html");
}

PHP>=5.3.0

if (preg_match("/iPhone/",$_SERVER['HTTP_USER_AGENT']))
{
header("Location:iPhone.php");
}

OJO: Es IMPORTANTE que si tiene PHP mayor o igual a 5.3.0 usen preg_match en lugar de ereg, por que ereg está OBSOLETO en PHP 5.3.0 y será eliminado en PHP 6.0.0

La función es muy sencilla ya que detecta si en la cadena del Agente del usuario [HTTP_USER_AGENT] incluye la palabra iPhone. Evidentemente esto es fácilmente manipulable por ejemplo en Firefox cambiando el User Agent en about:config colocando:

Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; es-es) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16

Deben reiniciar firefox una vez realicen esto

[Con el userAgent cambiado hasta mi blog lo cargó en modo iPhone]

[recuerda colocar de vuelta la configuración después de jugar (Firefox/x.x.x) [x.x.x = tu versión...] :P ]

Para que vean el ejemplo pueden navegar al ejemplo acá [agréguenle una x al .php para que vean el código fuente]..

y acá la captura desde el iPhone:

Saludos, y espeor haya sido de su utilidad este tip [Pronto espero presentarlo en ASP.net]

You can leave a response, or trackback from your own site.

One Response to “Tip: Cómo detectar con PHP si te visita un iPhone”

  1. Luckio says:

    Febrero 6th, 2010 at 04:15

    Como le saca el jugo a su iPhone el hombre… xD

Leave a Reply