'01-simple.php', 'summary-04.txt' => '04-add.php', ]; # create the output archive named "example.zip" $zip = new ZipStream('example.zip'); foreach ($files as $dst_path => $src_path) { $zip->add($dst_path, function(&$e) use ($src_path) { # build absolute path to source file $abs_src_path = __DIR__ . "/$src_path"; # read file contents and get md5 hash $data = file_get_contents($abs_src_path); # build arguments $args = [ 'source' => $src_path, 'md5' => md5($data), 'sha1' => sha1($data), ]; # write lines to output archive foreach ($args as $key => $val) { # build line $line = "$key: $val\n"; # write line to output file $e->write($line); } }); } # finalize the output stream $zip->close();