Buenas, tutoriales de como subir archivos en PHP hay muchos, lo único que debes hacer es una busqueda en google ->
Google
Básicamente es usar la función
move_uploaded_file() o
copy() y usar el array global $_FILES para conseguir los datos del archivo, tales como el nombre, el peso, etc.
Las comprobaciones se hacen en PHP, también se podría con javascript (AJAX) pero es más complicado, te recomiendo usar simplemente PHP.
Un saludo