Hola:
Lo básico es un formulario con las características adecuadas (método y enctype), un control file para seleccionar el fichero, y hacer submit... si no quieres que se cambie de página, solo necesitas un iframe para que sea el destino del formulario. El resto ya es cosa de php.
Saludos