Desde 99points.info hemos encontrado una explicación muy sencilla para subir archivos usando CodeIgniter. Aquí va la traducción que os ofrecemos:

CodeIgniter contiene un numero de librerías y ‘helpers’ que podemos usar para que tu código sea seguro y para que no tenga fallos. Además, provee de una amplia librería de clases de uso común.
Entre ellas está Upload, que es una clase que nos proporciona una forma fácil y sencilla para servir archivos al servidor.
Para subir un archivo a CodeIgniter debemos crear un archivo HTML simple, el cual debería contener un file input y un botón submit o de envío, con un formulario.
Aquí está el código:
echo form_open_multipart('upload/do_upload');
<input type="file" name="myFile" size="40" />
<input type="submit" value="Upload" />
Recordar: Usar un form_open_multipart() si estáis usando cualquier uploading en el formulario. […]