En las FAQ's de este foro PHP tienes ejemplos .. busca por "Upload" y verás muchos más ..
Tampoco está de más leer estos apartados del manual oficial de PHP:
Upload HTTP vía PHP:
http://www.php.net/manual/en/features.file-upload.php
Listar archivos de directorios:
http://www.php.net/manual/en/ref.dir.php
Un saludo,