Rivedendo il tuo script tu metti dentro ad un array un semplice calendario...

Potresti usare gmmktime ti calcola il tempo di greenwich quindi senza l'ora legale...

$timestamp_inizio = gmmktime ( 0, 0, 0, $mese_i, $giorno_i, $anno_i);
$timestamp_fine = gmmktime ( 0, 0, 0, $mese_f, $giorno_f, $anno_f);