views:

336

answers:

2

I'm trying to use get_browser() , unfortunately my page is on a shared host, and I have no access to php.ini.

I have downloaded the latest version of browscap.ini and placed in my document root. I have then added the following:-

if (!ini_set('browscap', '/home/private stuff/browscap.ini')) {
echo "Failed to set browscap";
} else {
echo "browscap = [" . ini_get('browscap') . "]";
}
exit();

But this fails, (nb: the echo statement for the failed condition always shows [] - even if I didn;t have the browscap.ini file the setting should still show up in the ini_get.... shouldn't it?)

I have looked at the previous questions on this and they don't seem to help, any ideas?

+2  A: 

I hadn't heard of this feature before, but in Googling around I came across phpbrowscap which is a standalone class that you should be able to use in your hosted environment. The author supports many configuration files and the QuickStart looks especially easy.

Tony Miller
Thanks Tony,I've followed your suggestion and now have phpbrowscap working - so that's great.Unfortunately it means that I will never learn why the ini_set() approach didn't work, but I guess life's too short....thx jon
GreybeardTheUnready
+1  A: 

As per the PHP manual, 'browscap' is changeable only in the system php.ini and/or httpd.conf. You cannot set it at the script level.

Marc B