Niente di troppo complesso.
Presupponendo che tu conosci l'indirizzo fisico delle imamgini sul server... in php usi la classe Zip per creare un archivio vuoto (quello che segue è un esempio preso da php.net)
Codice PHP:
$percorso_file="scrivi_qui_il_percorso_del_file";
$zip = new ZipArchive();
$filename = $percorso_file;
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
exit("cannot open <$filename>\n");
}
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
$zip->close();
Dove vedi i richiami ad addFile ci aggiungi il percorso delle immagini su disco sul server.
Un volta creato e chiuso il file zip, ti basta mandare gli header per farlo scaricare (attenzione non devi aver fatto nessuna echo prima o mandato a video parti di html), con un codice simil e a questo
Codice PHP:
header("Content-type: Application/octet-stream");
header("Content-Disposition: attachment; filename=immagini_zippate);
header("Content-Description: Download PHP");
readfile($percorso_file);
Gabriele