Salve a tutti!

Sto facendo una pagina che pororrà degli avvisi quando si sforeranno 30 giorni.

il codice è questo :
codice:
$x=split("-","2006-08-04");

  $a1 = mktime(0, 0, 0,  date('m'),  date('d'),  date('Y'));
  $a2 = mktime(0, 0, 0,  $x[1],$x[2]+30,$x[0]);

  $num= (((($a2 - $a1)/60)/60)/24);

  if (($num<=7) && ($num>=0)) {  echo $num; giorni } 
  else { 
        if ($num>=0)
        {
             echo $num." giorni"; 
        } else {
        echo ($num-($num*2)) ." giorni oltre tempo massimo";
   }
  }
Problema : facendo così mi da 1 giorno di ritardo se la data è il 4 agosto.

Però agosto ha 31 giorni... e la scadenza di 1 mese, in settembre cadrebbe il 5 e non il 4

Come posso modificarlo?