@Immerse -- certainly in the UK (or is it europe?), this strtotime() behaviour always worries me, how does it know you mean 5th June and not 6th May in your input?
$date = '05/06/2011';
$date = strtotime($date);
$new_date = strtotime('+ 1 year', $date);
echo date('d/m/Y', $new_date);
The last line suggests you meant 5th June, but what you get back is 6th May.
This is no doubt true of the whole DateTime class too, which IIRC is built upon strtotime().
Its not the fault of strtotime, btw, but is something we have to watch out for.