Codice PHP:
<?php
// data odierna da sostituire con la data che ti serve magari quella inserita ;-)
$now getdate(); 
// l ho messa solo per visualizzarla formattata a video ;-) 
$today date('d:m:Y');
//$today = date('28/06/2012');
// serve per creare i giorni ai mesi dell anno compreso quello di febbraio
$months = array( 3128 + ($now['year'] % == 0),31303130313130313031 ); 
// calcola i giorni del mese 
$days $months[$now['mon'] - 1]; 
// ti da i giorni restanti che mancano al nuovo 1 del mese 
$daysleft $days $now['mday'];
$d $daysleft 1;
// questo aggiunge i giorni mancanti alla dato $now  e ti restituisce formattata la date del prime giorno del mese successivo ;-)
$firstDayNextMonth  date('d-m-Y'strtotime ("+$d days"));
//$firstDayNextMonth  = date($today, strtotime ("+$daysleft days"));
echo "data odierna:$today Giorni Restanti: $daysleft   1 giorno mese successivo:$firstDayNextMonth";
echo 
"
"
;
echo 
$daysleft." - ".$days." - ".$now['mon']." - ".$now['mday'];
?>
Ci sono 2 errori:
1. devi sommare 1 a $daysleft per ottenere il primo giorno del mese successivo.
2. quando recuperi dall'array i giorni in base al mese devi sottrarre 1 dal mese dato che gli indici degli array partono da 0.