Adell:
El tipìco codigo para subir archivos conlleva ->
Caso PHP:
un is_uploaded_file......
Aqui hph lo sube al directorio temporal segun la directiva del php.ini para la ubicacion de archivos a subir. De no existir esa directiva o no tener un directorio de subida predefinido php lo sube al directorio que por defecto tenga el sistema operativo.
En este punto el archivo subido al directorio temporal siempre se llama asi: php(un numero secuencial).tmp (Ejemplo php34.tmp)
Aqui ya php sabe el tipo, nombre y tamaño.
Aqui puedes utilizar un preg_match para seleccionar los que deseas subir; asimismo, puedes seleccionar tamaños tambien.
Si el archivo no cumple con tus requisitos y el codigo exits() en este punto el archivo desaparece completamente.
un move_upload_file....
Aqui ya el archivo ha sido aceptado y depositado con su adecuado nombre y extension.
Si como mencionaron el archivo pudiera contener codigo malicioso, entonces en este nivel puedes hacer que tu antivirus revise el contenido.
Hasta aqui mis comentarios.
Saludos
Franco