'ZIP'); } function _zip($string, $state) { $this->_data .= $string; if ($state & PHP_OUTPUT_HANDLER_END) { $zip = new ZipArchive; $zipFile = tempnam("", "zip"); $zip->open($zipFile, ZipArchive::OVERWRITE); // php://output is not supported $zip->addFromString($this->_filename, $this->_data); $zip->close(); $return = file_get_contents($zipFile); unlink($zipFile); return $return; } return ""; } function dumpHeaders($identifier, $multi_table = false) { $this->_filename = "$identifier." . ($multi_table && ereg("[ct]sv", $_POST["format"]) ? "tar" : $_POST["format"]); if ($_POST["output"] == "zip") { header("Content-Type: application/zip"); } ob_start(array($this, '_zip')); } }