List of current updates:

 $file,
    'adler32' => trim($splitted[1]),
    'filesize' => filesize($file));
  $update_file_maxlen = max($update_file_maxlen, strlen($file));

  $uncompressed_size = 0;
  $entries = array();
  $zip = zip_open($file);
  if ($zip) {
    while ($zip_entry = zip_read($zip)) {
      $uncompressed_size = $uncompressed_size + zip_entry_filesize($zip_entry);
      $entries[zip_entry_name($zip_entry)] = array(
        'name' => zip_entry_name($zip_entry),
        'size' => zip_entry_compressedsize($zip_entry));
    }
    zip_close($zip);
  }
  $update['entries'] = $entries;
  $update['uncompressed_size'] = $uncompressed_size;
  $updates[] = $update;

  $data_size += $update['filesize'];
  $data_uncompressed_size += $uncompressed_size;
}

function get_update_for_file($file)
{
  global $updates;

  for ($i = count($updates) - 1; $i >= 0; $i--) {
    $update = $updates[$i];
    if (array_key_exists($file, $update['entries'])) {
      return $update;
    }
  }
  return null;
}

foreach ($updates as &$update)
{
  $entry_count = count($update['entries']);
  $used_entry_count = 0;
  $used_entry_size = 0;

  foreach ($update['entries'] as $file => $entry) {
    $update_for_file = get_update_for_file($file);
    if (strcmp($update_for_file['file'], $update['file']) == 0) {
      $used_entry_count++;
      $used_entry_size += $entry['size'];
      $entry['used'] = true;
    }
  }

  $update['used_entry_count'] = $used_entry_count;
  $update['used_size'] = $used_entry_size;
  $update['used_percentage'] = $used_entry_size / $update['filesize'];

  $data_used_size += $update['used_size'];
}

foreach ($updates as &$update)
{
  echo $update['file'];
  echo str_repeat(' ', $update_file_maxlen - strlen($update['file']) + 2);
  echo $update['adler32'];
  printf("  %4d kb", $update['filesize'] / 1024);
  printf("  %4d kb", $update['uncompressed_size'] / 1024);
  printf("  %3d%% used (%d/%d files)", $update['used_percentage'] * 100,
                                       $update['used_entry_count'],
                                       count($update['entries']));
  echo "\n";
}

printf("\n");
printf("Amount of data: %4d kb\n", $data_size / 1024);
printf("Uncompressed:   %4d kb\n", $data_uncompressed_size / 1024);
printf("Obsoleted data: %4d kb (%d%%)\n",
    ($data_size - $data_used_size) / 1024,
    ($data_used_size / $data_size) * 100);

/*
if ($dh = opendir('.')) {
  while (($file = readdir($dh)) !== false) {
  }
  closedir($dh);
}
*/
?>