Ho una funzione php che scrive in un file di testo quando passano i vari bot, ma non sempre funziona e non capisco il motivo.

Questo un pezzo di codice:
if (strstr($_SERVER['HTTP_USER_AGENT'], 'Googlebot')){$bot='Googlebot';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'Mediapartners')){$bot='Adsense';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'Slurp')){$bot='Hot Bot';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'ichiro')){$bot='ichiro';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'msnbot')){$str_bot='Msn';}
else if (strstr($_SERVER['HTTP_USER_AGENT'], 'bingBot')){$str_bot='Bing';}

Ho provato a spostare il codice da fondo pagina all'inizio, ma nulla cambia.

Confrontando il risultato della funzione con il log accessi del server risulta che un determinato bot non sempre viene intercettato.

Per cui, il codice funziona, ma non funziona sempre.

A cosa può essere dovuto? Grazie per dritte e info.