function php_get_browser($agent = NULL) {
$agent = $agent ? $agent : $_SERVER['HTTP_USER_AGENT'];
$yu = array();
$q_s = array("#\.#","#\*#","#\?#");
$q_r = array("\.",".*",".?");
$brows = parse_ini_file("lite_php_browscap.ini",true);
foreach($brows as $k => $t) {
if(fnmatch($k, $agent)) {
$yu['browser_name_pattern'] = $k;
$pat = preg_replace($q_s, $q_r, $k);
$yu['browser_name_regex'] = strtolower("^$pat$");
foreach($brows as $g => $r) {
if($t['Parent'] == $g) {
foreach($brows as $a => $b) {
if($r['Parent'] == $a) {
$yu = array_merge($yu, $b, $r, $t);
foreach($yu as $d => $z) {
$l = strtolower($d);
$hu[$l] = $z;
}
}
}
}
}
break;
}
}
return $hu;
}
[출처 : php.net]
line6을 보면 실제로 파일을 읽어 오는 부분이 있다.
새로운 브라우저나 판올림이 이뤄질 경우 해당 홈페이지로 가서 업데이트 된 파일을 다운로드 받으면 된다.
lite_php_browscap.ini