Para validar desde PHP si están o no están enviando un archivo en un campo file puedes simplemente preguntar si existe un nombre de archivo en el array $_FILES.
Por ejemplo, si tu campo input se llama (atributo name) "file1", en el array de $_FILES lo tendrás en $_FILES['file1'] y el nombre del archivo, tal como está en el disco duro del usuario lo tendrás en $_FILES['file1']['name'].
La evaluación puede ser algo como if($_FILES['file1']['name']).
Un código posible para hacer lo que deseas, cargar en tu servidor los archivos únicamente cuando han sido seleccionados por el usuario en los correspondientes campos <input> de formulario, podría ser el siguiente:
if($_FILES['file1']['tmp_name']) {
// Se ha enviado el archivo file1
// Aquí habría que validar el arhivo y si valida, entonces hacer el upload con PHP
if (move_uploaded_file($_FILES['file1']['tmp_name'], $_FILES['file1']['name'])){
echo "Upload correcto";
}else{
echo "Upload ha fallado";
}
} else {
echo 'No se recibió archivo 1';
}
if($_FILES['file2']['name']) {
if (move_uploaded_file($_FILES['file2']['tmp_name'], $_FILES['file2']['name'])){
echo "Upload correcto";
}else{
echo "Upload ha fallado";
}
} else {
echo 'No se recibió archivo 2';
}