Con versiones recientes de PHP es mucho mas relajado
Código PHP:
<?php
// Para PHP >= 5.3.0
$ini = new DateTime('2013-07-10'); // formato: aaaa-mm-dd
$fin = new DateTime('2013-07-31');
$intervalo = $ini->diff($fin);
$dias_diff = $intervalo->format('%a');
echo 'Hay de diferencia '.$dias_diff.'dias <p/>';
for ($i=0;$i<$dias_diff;$i++){
$ini->add(new DateInterval('P1D'));
echo $ini->format('Y-m-d') . '<br/>';
}