Base di conoscenze

1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!

Utilizzare il file browscap.ini

Aggiornamento 06/08/2026

Questa guida illustra il ruolo del file browscap.ini, utilizzato da PHP per identificare alcune caratteristiche di un browser web (nome, versione, sistema operativo e funzionalità) a partire dall'intestazione HTTP User-Agent.

Oggi, l'utilizzo di browscap.ini è principalmente finalizzato a garantire la compatibilità con applicazioni esistenti. Per i nuovi sviluppi, si preferiscono generalmente metodi più moderni.

 

Utilizzo con la funzione get_browser()

La funzione nativa PHP get_browser() richiede l'accesso a un file browscap.ini aggiornato per identificare le caratteristiche del browser che ha effettuato la richiesta.

Nei servizi di Web Hosting di Infomaniak, questo file è generalmente disponibile nella seguente posizione:

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

Se necessario, è possibile verificarne il contenuto utilizzando lo script seguente:

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

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

if (file_exists($file)) {
    echo file_get_contents($file);
} else {
    echo 'File not found.';
}

A causa delle sue dimensioni e del costo del suo caricamento, l'utilizzo di browscap.ini può influire sulle prestazioni delle applicazioni che si basano su get_browser().

 

Alternative consigliate

Per i nuovi progetti, è generalmente preferibile utilizzare soluzioni più adatte alle pratiche attuali dello sviluppo web:

  • Librerie PHP installate con Composer, come matomo/device-detector o whichbrowser/parser, che offrono un rilevamento dei browser e dei dispositivi regolarmente aggiornato e più completo.
  • User-Agent Client Hints (UA-CH), quando supportati dal browser, per ottenere informazioni strutturate tramite i meccanismi previsti dagli standard HTTP attuali.
  • Rilevamento delle funzionalità (Feature Detection), verificando direttamente la disponibilità di una funzionalità (ad esempio in JavaScript o con la regola CSS @supports) anziché dedurre il comportamento in base al browser utilizzato.

Questa FAQ è stata utile?