doc, docx, txt, pdf
xls, xlsx, csv
jpg, jpeg, png, gif
zip, rar, 7z
ppt, pptx
mp3, wav
avi, mp4, flv, wmv
Cf. https://www.owasp.org/index.php/Unrestricted_File_Upload
Une white list, contrairement à une black list est recommandée par sécurité.
Par sécurité, il faudra aussi interdire l'accès au dossier d'upload et limiter la taille des fichiers uploadés.
Pour implémenter un upload de fichier en PHP/Ajax, voir mon article précédent: Uploader un .jpg via jQuery form et PHP