Hola:
La verdad es que para subir archivos no hacen falta muchos conocimientos; simplemente un formulario (html) con las características adecuadas (post, enctype), y un campo file... en el servidor lo más común es usar move_uploaded_file, o manipular el código binario obteniéndolo del objeto $_FILE (el atributo tmp_name)...
Por ahí podrías empezar, pero para tu proyecto también deberías trabajar con html y css.
Saludos