> Manuales > Taller de PHP

Interesante clase en PHP5 para detectar la resolución de pantalla, el navegador o el sistema operativo, entre otras muchas características.

Siguiendo con nuestro taller de PHP, vamos a ver en este artículo una clase de Shahadat Hossain Khan, publicada en PHPClasses sobre la detección de resoluciones de pantalla y navegadores.

Esta clase está escrita en PHP 5 y para utilizarla tan sólo tenemos que descargarnos el script desde la página de PHPClases.

Este script lo que nos hace es almacenar los datos obtenidos mediante Javascript en cookies, para posteriormente ser leídos por la clase de PHP en el servidor.

Esto ayuda a, por ejemplo, utilizar distintos estilos dependiendo del navegador, o si queremos utilizar CSS 3, a reconocer el navegador y sólo utilizarlo en aquellos que sean compatibles con CSS3. Tan solo son unos ejemplos, pero se pueden hacer muchas mas cosas con dicho script.

Una vez que tenemos descargado el script, podemos empezar a utilizarlo.

Vamos a construir un ejemplo para que quede todo más claro.

Para empezar, tenemos que iniciar sesión para poder almacenar datos en las cookies y especificar la ruta donde está el archivo que hemos descargado:

<?php

session_start();

$path=dirname(__FILE__).'/';
include_once $path.'client_browser_detection.php';

if(isset($_GET['dochk'])){
unset($_SESSION);
header('location: '.$_SERVER['PHP_SELF']); exit();
}

$browser=new clientBrowserDetection(true);

Una vez que tenemos esto, vamos a crear ya el código HTML con el ejemplo de utilización:

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Browser detection</title>
<?=$browser->browser_detection_js_meta?>
</head>

<body>
<p><a href="<?=$_SERVER['PHP_SELF']?>?dochk=yes">Check Again</a> | <a href="index.php">Back to Example Index</a></p>
<pre>
<?php #print_r($browser_info_php); ?>
<?php print_r($browser->getBrowserInformation()); ?>
</pre>

</body>
</html>

A grandes rasgos, lo que hace este ejemplo es imprimirnos por pantalla las características del navegador utilizado.

Ahora vamos a ver otro ejemplo de utilización de este script PHP 5 En concreto, es similar al anterior, con la salvedad de que le añadimos una hoja de estilos que utiliza los parámetros obtenidos por el script acerca del navegador en forma de variables.

<?php

session_start();

$path=dirname(__FILE__).'/';
include_once $path.'client_browser_detection.php';

$browser=new clientBrowserDetection();

?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Browser detection</title>
<?=$browser->getCssLoadingJsCode('style_main.css.php')?>
</head>

<body>
<script type='text/javascript'>
<!-- BEGIN
//<![CDATA[

document.write('<h5>'+rbd_output+'</h5>');

//]]>
// End -->
</script>

<pre>
<h3>$browser->getBrowserInformation()</h3><?php print_r($browser->getBrowserInformation()); ?>
<h3>$browser->browser_info_php</h3><?php print_r($browser->browser_info_php); ?>
</pre>
<div class="test_div">this is a test div that automatically control thorugh dynamic css of this browser detection control</div>
</body>
</html>

Hemos colocado todo el código completo, ya que únicamente se cambia el inicio del código donde añadimos el archivo que contiene los estilos y el script para hacerlo funcionar.

Si necesitáis ayuda, o tenéis más dudas, podéis entrar en la página donde se encuentra el script, allí encontrareis toda la información necesaria.

Sara Alvarez

Equipo DesarrolloWeb.com

Manual