$zip = new zipArchive(); if ($zip->open($zipName, ZIPARCHIVE::CREATE)) { $validModels = true; if (isset($_REQUEST['models'])) { $modelIds = $_REQUEST['models']; //validate foreach ($modelIds as $modelId) { if (!$db->validModelId($modelId)) { $validModels = false; } } } if (!isset($_REQUEST['models']) || !$validModels) { $modelIds = $db->getModelIds($tracking); } //execute this if there are any models if ((int) count($modelIds) > 0) { for ($i = 0; $i < count($modelIds); $i++) { $file = $db->getFile($modelIds[$i]); $zip->addFromString("tuned_{$modelIds[$i]}.idf", $file); } $zip->close(); $db->downloadFile($zipName); unlink($zipName); } } } } } else { // tracking was not given }