Base di conoscenze
1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Utilizzare il file browscap.ini
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.iniSe 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-detectorowhichbrowser/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.
Link a questa FAQ: https://faq.infomaniak.com/505
Questa FAQ è stata utile?