Ciao, ti consiglierei di guardare come funziona intanto un classico upload tramite PHP.
Per quello che riguarda appunto la tipologia di file consentita e/o dimensioni (opzioni varie quindi) sta piu' nella tua scelta e/o configurazione lato script e server.