If you're moving around large files like images, you might need to compress them. CI contains a handy library for doing this. For example, if we want to download our uploads
folder, we can easily achieve it with the help of this library. To see this in action create a download function inside application/controllers/uploader.php
controller:
function download() { $this->load->library('zip'); $this->zip->read_dir('uploads/'); $this->zip->download('uploads.zip'); }
That's all we need to download the uploads
folder. Don't forget to put the /
, or it won't work. The read_dir
function reads all the contents of the folder you pass to it, and then the download function sends the file to your browser for download.
What if we want to keep the file in our server, so we can download it more times without the need to generate it again? Easy again, instead of:
$this->zip->download('uploads.zip');
We write:
$this->zip->archive('uploads...