Base de conocimientos

1 000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!

Utilizar el archivo browscap.ini

Actualización 06/08/2026

Esta guía presenta la función del archivo browscap.ini, que PHP utiliza para identificar ciertas características de un navegador web (nombre, versión, sistema operativo y capacidades) a partir de su encabezado HTTP User-Agent.

Hoy en día, el uso de browscap.ini está orientado principalmente a garantizar la compatibilidad con aplicaciones existentes. Para los nuevos desarrollos, generalmente se prefieren métodos más modernos.

 

Uso con la función get_browser()

La función nativa de PHP get_browser() requiere acceso a un archivo browscap.ini actualizado para identificar las características del navegador que realizó la solicitud.

En los servicios de alojamiento web de Infomaniak, este archivo suele estar disponible en la siguiente ubicación:

/opt/php/lib/php/browscap.ini

Si es necesario, puede verificar su contenido utilizando el siguiente script:

<?php
header('Content-Type: text/plain');

$file = '/opt/php/lib/php/browscap.ini';

if (file_exists($file)) {
    echo file_get_contents($file);
} else {
    echo 'Archivo no encontrado.';
}

Debido a su tamaño y al costo de su carga, el uso de browscap.ini puede afectar el rendimiento de las aplicaciones que dependen de get_browser().

 

Alternativas recomendadas

Para los nuevos proyectos, generalmente es preferible utilizar soluciones más adaptadas a las prácticas actuales del desarrollo web:

  • Bibliotecas PHP instaladas con Composer, como matomo/device-detector o whichbrowser/parser, que ofrecen una detección de navegadores y dispositivos más completa y actualizada.
  • Indicadores del cliente User-Agent (UA-CH), cuando el navegador los admite, para obtener información estructurada a través de los mecanismos previstos por los estándares HTTP actuales.
  • Detección de funciones (Feature Detection), verificando directamente la disponibilidad de una función (por ejemplo, en JavaScript o con la regla CSS @supports) en lugar de deducir el comportamiento a partir del navegador utilizado.

¿Le ha sido útil esta FAQ?