CI_Zip::_add_data PHP Method

_add_data() protected method

Add Data to Zip
protected _add_data ( string $filepath, string $data, integer $file_mtime, integer $file_mdate ) : void
$filepath string the file name/path
$data string the data to be encoded
$file_mtime integer
$file_mdate integer
return void
    protected function _add_data($filepath, $data, $file_mtime, $file_mdate)
    {
        $filepath = str_replace('\\', '/', $filepath);
        $uncompressed_size = strlen($data);
        $crc32 = crc32($data);
        $gzdata = substr(gzcompress($data, $this->compression_level), 2, -4);
        $compressed_size = strlen($gzdata);
        $this->zipdata .= "PK" . pack('v', $file_mtime) . pack('v', $file_mdate) . pack('V', $crc32) . pack('V', $compressed_size) . pack('V', $uncompressed_size) . pack('v', strlen($filepath)) . pack('v', 0) . $filepath . $gzdata;
        // "file data" segment
        $this->directory .= "PK" . pack('v', $file_mtime) . pack('v', $file_mdate) . pack('V', $crc32) . pack('V', $compressed_size) . pack('V', $uncompressed_size) . pack('v', strlen($filepath)) . pack('v', 0) . pack('v', 0) . pack('v', 0) . pack('v', 0) . pack('V', 32) . pack('V', $this->offset) . $filepath;
        $this->offset = strlen($this->zipdata);
        $this->entries++;
        $this->file_num++;
    }