Sure..
Change the implode statement from $html = implode('', file('http://www.wunderground.com/weatherstation/WXDailyHistory.asp?ID=KKYLOUIS20&year=2006&month=10&day=3'));
to
$html = implode('', file('http://www.wunderground.com/weatherstation/WXDailyHistory.asp?ID=KKYLOUIS20&year=' . $year . '&month=' . $mon . '&day=' . $day));
Enclosing strings with single quote chars tells PHP not to parse the string for substituted variable names. Enclosing them in double quotes allows the variables within to be parsed. Example:
$string = 'parsed';
$a = '$string';
$b = "$string";
$a above with have the contents '$string'. $b above will have the contents 'parsed';
Ken