Dalla domanda che mi hai fatto si capisce che non hai nemmeno guardato la funzione che ti ho indicato, altrimenti avresti visto i parametri che accetta, gli intervalli validi e il fatto che tiene conto anche degli anni bisestili.

$mese = 2;
$giorno = 29;
$anno = 2004;

if (checkdate($mese,$giorno,$anno))
echo "Valida";
else
echo "Non valida";
// Restituisce valida perchè 2004 è bisestile, se metti 2005 sarà non valida perchè arriva fino al 28 febbraio.
Ciao.