protected function _add_dir($dir, $file_mtime, $file_mdate)
{
$dir = str_replace('\\', '/', $dir);
$this->zipdata .= "PK\n" . pack('v', $file_mtime) . pack('v', $file_mdate) . pack('V', 0) . pack('V', 0) . pack('V', 0) . pack('v', strlen($dir)) . pack('v', 0) . $dir . pack('V', 0) . pack('V', 0) . pack('V', 0);
// uncompressed filesize
$this->directory .= "PK\n" . pack('v', $file_mtime) . pack('v', $file_mdate) . pack('V', 0) . pack('V', 0) . pack('V', 0) . pack('v', strlen($dir)) . pack('v', 0) . pack('v', 0) . pack('v', 0) . pack('v', 0) . pack('V', 16) . pack('V', $this->offset) . $dir;
$this->offset = strlen($this->zipdata);
$this->entries++;
}