Hrmm....guess I could. Just woke up and got to work. Let me get all settled and I'll see what I can think of.
So now that I've got some coffee in my system, I don't think the current method would be the best way to take leap years into account. Since the epoch only goes back to 1969, we'd only be taking a few leap years into account. Plus, the length of time shortens on a Windows PC. So this probably wouldn't be the best method. But there are calendar and mcal functions that would help here.
But you asked for this to take leap years into account, so here goes:
$dob = '1990-05-15';
$time = strtotime($dob);
$year = date('Y', $time);
$age = 0;
if((($year % 4 == 0) && ($year % 100 != 0)) || ($year % 400 == 0)) {
$age += ((time() - $time) / 31449600);
}
else {
$age += ((time() - $time) / 31536000);
}
$age = floor($age);
echo $age;