public function read($size)
{
switch ($this->_compression) {
case 'application/bzip2':
return bzread($this->_handle, $size);
case 'application/gzip':
return gzread($this->_handle, $size);
case 'application/zip':
$result = mb_strcut($this->_content, $this->_offset, $size);
$this->_offset += strlen($result);
return $result;
case 'none':
default:
return fread($this->_handle, $size);
}
}