Hay dos maneras de como saber cuantos días tiene un mes en php:
Mes actual: Con la función date, y sería "date('t')"
Cualquier mes de cualquier año: Con la función cal_days_in_month, y sería "cal_days_in_month(int $calendario, int $mes, int $anyo)". Donde $calendario, sería el calendario a usar, en nuestoro caso el gregoriano usando la constante CAL_GREGORIAN y los parámetros "$mes" y "$anyo" es poner el mes y año del que queremos calcular el número de días del mes. Ejemplo: "cal_days_in_month(CAL_GREGORIAN, 2, 2005);". Fijaos que los parámetros son int por tanto el mes hay que pasárselo sin el "0" delante, cuando es menor de "10".