El escenario sería: un formulario principal con algunos campos visibles y otros ocultos, y otros formularios que hacen sólo uploads de manera independiente. Estos últimos formularios normalmente tienen como target el name de un iframe oculto y como action a un script del servidor que es el encargado de hacer el upload.
Frecuentemente, lo que se hace cuando el upload es independiente es guardar el nombre o el identificador del archivo subido en un campo oculto del formulario principal. Esto lo hace el script que hace el upload en el servidor con una salida javascript del tipo:
Código PHP:
//subimos el archivo con move_uploaded_file o lo que sea
//grabamos el nombre del archivo subido en base de datos y obtenenos el id
$idarchivosubido=mysql_insert_id();//o mysqli_insert_id() o PDO::lastInsertId() o lo que sea
// y luego la salida:
echo '<script>parent.document.getElemenById("campoOculto").value="'.$idarchivosubido.'"</script>';
Finalmente, si se termina grabando en una tabla de base de datos el formulario principal (es decir, se le hizo click al botón submit), entonces tendremos que habrá un campo de dicha tabla cuyo valor coincidirá con el id de la tabla en la que se registró el nombre del archivo subido.
Si sólo se subieron los archivos pero nunca se submitió el form principal, entonces habrá valores presentes en una tabla y no en otra. Haciendo una consulta a base de datos -ej: select * from tabla1 where id not in (select idfile from tabla2 where date(fecha)=date(now()))- podrán entonces eliminarse los "archivos sueltos".
Esto último suele hacerse ejecutando un script vía cron.