Una solución a la limitación del protocolo HTTP de no poder obtener dos o mas archivos en un solo request; es generar un archivo zip con los archivos deseados y forzar su descargar.
descarga.php
<?php
$imgA = 'imagen-1.jpg';
$imgB = 'imagen-2.jpg';
$zipname = 'archivos.zip';
// iniciamos la clase
$zip = new ZipArchive;
//Creamos el archivo
$zip->open('temp/'.$zipname, ZipArchive::CREATE);
//agregamos las imágenes, en la raíz del archivo zip, si deseamos agregar una carpeta agregaremos 'carpeta/'.
$zip->addFile('temp/'.$imgA, $imgA);
$zip->addFile('temp/'.$imgB, $imgB);
//cerramos el archivo
$zip->close();
/********
si queremos borrar las imagenes utilizamos unlink
**********/
unlink('temp/'.$imgA);
unlink('temp/'.$imgB);
//preparamos la descarga
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize('temp/'.$zipname));
readfile('temp/'.$zipname);
//Destruye el archivo zip
unlink('temp/'.$zipname);
?>
Como siempre el ejemplo es sencillo para su fácil comprensión, podemos mejorarlo con consulta a una base de datos, generación de nuevos nombres, petición de los archivos por $_GET o $_POST, etc, etc.