Book Image

CodeIgniter 1.7

Book Image

CodeIgniter 1.7

Overview of this book

CodeIgniter (CI) is a powerful open-source PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications. CodeIgniter is an MVC framework, similar in some ways to the Rails framework for Ruby, and is designed to enable, not overwhelm. This book explains how to work with CodeIgniter in a clear logical way. It is not a detailed guide to the syntax of CodeIgniter, but makes an ideal complement to the existing online CodeIgniter user guide, helping you grasp the bigger picture and bringing together many ideas to get your application development started as smoothly as possible. This book will start you from the basics, installing CodeIgniter, understanding its structure and the MVC pattern. You will also learn how to use some of the most important CodeIgniter libraries and helpers, upload it to a shared server, and take care of the most common problems. If you are new to CodeIgniter, this book will guide you from bottom to top. If you are an experienced developer or already know about CodeIgniter, here you will find ideas and code examples to compare to your own.
Table of Contents (21 chapters)
CodeIgniter 1.7
Credits
About the Authors
About the Reviewer
Preface

Easy file compression with CI's zip class


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...