Nel php c'è la direttiva 'upload_max_filesize' che specifica la dimensione massima di un file in upload. Puoi impostarla in php.ini o nel tuo .htaccess (se hai accesso).

Nella form di upload comunque puoi impostare un attributo nascosto per limitare la dimensione massima:

Codice PHP:
<input type="hidden" name="MAX_FILE_SIZE" value="30000" /> 
Per il tipo di file c'è poco da fare: devi caricarlo e controllarlo a mano col PHP (l'attributo 'type' di $_FILES non vale una salciccia: non considerarlo nemmeno).