Tal vez esto te sirva:
Código PHP:
//FUNCION PARA DETERMINAR EL ULTIMO DIA DE UN MES DE UN AÑO DADOS
function ultimoDia($mes,$ano){
$ultimo_dia=28;
while (checkdate($mes,$ultimo_dia + 1,$ano)){
$ultimo_dia++;
}
return $ultimo_dia;
}
//Ahora suponiendo que tengas desglosado la fecha en las variables $dia, $mes y $ano. Incluso creo que los $dias_a_sumar deberas calcularlos previamente si tienes que eliminar los fines de semana y los días festivos.
$dia=$dia+$dias_a_sumar;
if ($dia>ultimoDia($mes,$ano)) {
$dia=$dia-ultimoDia($mes,$ano);
$mes++;
if ($mes>12) {
$mes=1;
$ano++;
}
}