--- zipstream.php.orig 2010-10-30 18:57:52.083600724 +0000 +++ zipstream.php 2010-10-30 21:43:45.282800978 +0000 @@ -81,6 +81,7 @@ var $opt = array(), $files = array(), $cdr_ofs = 0, + $need_headers = false, $ofs = 0; # @@ -156,13 +157,14 @@ $this->opt = $opt; # set large file defaults: size = 20 megabytes, method = store - if (!$this->opt['large_file_size']) + if (!isset($this->opt['large_file_size'])) $this->opt['large_file_size'] = 20 * 1024 * 1024; - if (!$this->opt['large_file_method']) + if (!isset($this->opt['large_file_method'])) $this->opt['large_file_method'] = 'store'; $this->output_name = $name; - if ($name || $opt['send_http_headers']) + if ($name || (isset($opt['send_http_headers']) + && $opt['send_http_headers'])) $this->need_headers = true; } @@ -293,7 +295,7 @@ $nlen = strlen($name); # create dos timestamp - $opt['time'] = $opt['time'] ? $opt['time'] : time(); + $opt['time'] = isset($opt['time']) ? $opt['time'] : time(); $dts = $this->dostime($opt['time']); # build file header @@ -499,12 +501,12 @@ # grab content type from options $content_type = 'application/x-zip'; - if ($opt['content_type']) + if (isset($opt['content_type'])) $content_type = $this->opt['content_type']; # grab content disposition $disposition = 'attachment'; - if ($opt['content_disposition']) + if (isset($opt['content_disposition'])) $disposition = $opt['content_disposition']; if ($this->output_name)