$createdzipname = 'zipin_adi';         
$this->load->library('zip');        
$this->load->helper('download');             
$files = ['uploads/1.jpg', 'uploads/2.jpg', 'uploads/3.png'];      
// ziplerin olacağı klasörü belirtiyoruz.        
$this->zip->add_dir('zipfolder');        
foreach ($files as $file) {            
           $paths = $file;
            // her bir dosyayı add_data ile zip içerisine ekliyoruz.
            $this->zip->add_data('zipfolder/'.$paths,file_get_contents($paths));
 } 
$this->zip->download($createdzipname.'.zip');
Codeigniter sürümünüzü bilmiyorum ancak daha önce böyle bir fonksiyon kullanmıştım.